matlab自学小白,用的是matlab自带的应用程序打包功能,如有更高级的编译办法请大佬指正QWQ
用之前还要安装十多分钟。。。结果打开一看是个很基本的功能界面,用户体验极差。
做了模块m文件转成dll给c++调用,没有matlab的环境要安装打包的matlabcompilerrun
time然后各种设置,加载的方式变量定义啥的都要改变,确实比较麻烦,但是确实写m只用了几十行,c++下估计得好几百行,另外m转c代码的话对版本还有要求,转的代码还不尽人意,不知道有没有只打包所需lib和h文件的方法
后来用python重新实现,代码量减少了一半不说,编译完了之后的exe只有20MB。
四、大神4讲解
1.一般来说,做科研模拟仿真的确很难超越Matlab。能有Matlab就一定会用,节省时间、而且算法可靠。我只遇到过一次做一个激光场分布的计算,没有用Matlab而直接用C++,只是因为当时有一台IBM的新机器,是128位的特殊Unix系统。就直接用源码编译运行。大概算了一个星期左右就出结果,还是很快的。当时一台3、5万的工作站要跑两三个月也未必能算完;
2.我们学校Matlab集群应该部署很多年了。百度“东南大学+Matlab”即可找到使用方法;
3.做科研,Matlab是很重要,但一些C与C++的基础编程也很重要。不是能编写GUI或者Web就是编程。
其实这么多年来的新进研究生,在编程能力上的自我评价在改变。以往都说自己能够调试多少行代码,熟悉哪些算法。现在来的研究生,说自己编程能力强,只是会写GUI,或者能弄个网站,写一点javascript。这与我们在科研工作中的编程是差的比较远的。如何做插值,如何保证没有累积误差,如何找到合适的神经网络结构与避免局部最优,这些才是我们需要研讨与培养的编程能力。
五、大神5讲解
1.MATLAB是一个研究工具而不算一个构建工具。如果将其与C,C++,JAVA等做对比是不合适的。我们会比较示波器与计算机吗?也因为这样,许多程序员可能不会理解MATLAB的效用。
2.MATLAB对于主机性能要求还是比较高的。我们科研中一般会将MATLAB部署在最好的工作站上,然后共享使用。这与服务器类似。一般机器上跑MATLAB,特别是做上规模的模拟是很难的。
3.研究MATLAB的圈子比较小。目前高校研究生或许在做项目时候会用MATLAB,但研讨计算机编程技术大多在C,JAVA等。主要原因之一是就业。而一些高层次MATLAB编程,大都是博士阶段。其实仿真中,每个环境用什么样的计算方法,都是要细致研究,否则会浪费很多的时间。这样的研究圈子很小,用电邮研讨会更多一点。