th1=zeros(36,2)
th1(:,2) = 1
为了判断优化效果,我们对两种方式每轮执行1百万次,执行10轮,对比执行时间,结果如下:
其中,t1为优化前的时间,t2为优化后的执行时间。
可以看出优化前每轮平均执行时间在1.30~1.42秒左右,优化后每轮平均执行时间在0.95~1.02秒左右
打开matlab2014a程序,在主工具栏找到应用程序一栏,打开optimization选项。问题输入
在optimization程序中,首先根据不同的问题类型选择不同的模型,同时输入约束等。
选择优化程序运行的条件
在最中间的一栏中添加优化程序运行的条件,如优化截止的标准,画图的要求等等。
开始运算
点击start即可实现优化程序的运行,在图示的框中即可出现运行结果。
5
查看帮助文件
在程序的最右边,是一个帮助文件,如果你有什么疑问,可以直接在帮助文件中查找。
MATLAB是一种解释性语言,从运行效率来说肯定远不如其他基本语言。但还是有些方法可以提高运行速度的:1,MATLAB擅长于矩阵运算,但并不适用于循环,能不用循环的地方尽量用矩阵运算代替;
2,对于大维度的矩阵,要预先确定它的维度,比如用zeros(a,b,c)预先定义好,这样每次给矩阵赋值的时候就不用改变维度了,对运算速度的提高很明显,这点你可以用MATLAB自带的tic和toc命令测试。
3.对于多重循环的将长的循环放在内循环。还有对有相似功能的命令的选择也对速度有影响。
如果对于计算量特别大的程序,用MATLAB是不怎么合适的哦,你可以把计算部分用其他语言,比如FORTRAN来实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)