matlab:效率低下的“mysum”

时间:2015-05-22 22:08:28

标签: performance matlab sum

为了估计一些非线性模型,我需要在数值上推导出一个非常庞大的函数。目标函数的一部分包括多项式(由一些和创建)。 在这个过程中有很多迭代,我的计算机需要花费很多时间来计算(尽管它产生了合理的估计)。剖析器声称,我的手写和函数是迄今为止最耗时的算法部分。这是我的第一个matlab项目,所以我很新。也许你可以帮助优化它:)

 function [output] = mysum(a,b,inputfun)
   output=0;
   for i=a:b
        output=ouput+inputfun(i);
   end

如果你想知道,我是如何使用它的。这是多项式:

function [ weights ] = wexpo(theta)
global lag;

for i=1:lag
    weights(i) = exp(mysum(1,length(theta),@(k) theta(k)*(i-1)^k))...
                 /mysum(0,lag-1,@(j)...
                 exp(mysum(1,length(theta),@(k) theta(k)*j^k)));
end

1 个答案:

答案 0 :(得分:1)

如果可以使用Matlab函数:

{{1}}