matlab程序优化 (期权计算为例)

    技术2022-05-11  65

    最近有人问我编写matlab程序要注意什么...?下面就写一些首先我开始编写matlab程序的时候也不怎么注意它的效率问题,能出结果就行了,呵呵管那多干什么不是给自己找事的。可是随着遇到的问题越来越复杂,matlab的计算时间越来越长,有时难以忍受,就专向C/C 了,C/C 似乎比matlab复杂多了,但效率很高,后来又接触到了一些程序优化,算法优化实在是问题复杂不得不作了,matlab(内核)应该是用C写的,对C new delet感触很多... 对matlab的编程也有所感悟.怎么让你的matlab效率更高呢?matlab是一中脚本语言,基本上是解释一行 执行一行....  变量的最大规模取决于你的内存大小,会不使用虚拟内存呢,不知道(可能不会)主要从两个方面来说,程序的结构和算法的选择1.变量使用前一定要初始化。  for ...    x[i]=..  end  如果你没有初始化,x(1)给值的时候 解释器不知道x是多大的数组.... x是1X1的  当x(2)的时候, x又会变成什么样? 可能你不在乎这个,但是这里解释器会浪费许多  时间.  所以一般初始化;  x=zeros(n,m);2.尽量使用矩阵计算, 少使用for.. while 等循环,  循环内部也要尽量不使用if, IO操作.3.算法的选择,这是提高效率的主要方面,但是对你的要求也最高,  最要能熟悉matlab的命令,例        temp1=min(abs(temp(:,3)));        n=find(temp(:,3)


    最新回复(0)