Matlab 这段代码可以如何优化?

Matlab 这段代码可以如何优化?,第1张

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来实现。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11963649.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存