0

我有一个总共需要 34 秒的功能,我想加快速度。两个最慢的函数是:

1)我有一个非常简单的函数文件:

function [x] = percentChange(startPoint, currentPoint)
x = ( (currentPoint-startPoint)/abs(startPoint) )*100.00;

其中 currentPoint 和 startPoint 只是整数。在我的 main 函数中,我调用了这个函数 1.114.239 次(这需要我的计算机 13.364 秒)。我可以让这个更快吗?

2) 我函数的另一部分需要相当长的时间是绘制 1934 行。目前,绘图完成如下:

for i=1:size(patternPlot,1)
    hold all
    plot(xplot,patternPlot(i,:)); 
end

'patternPlot' 存储我想要绘制的向量(xplot 只是向量 1:30)。我可以以任何方式加快速度吗?

提前致谢,

Ĵ

4

1 回答 1

0

在 1) 中:删除第二行中的外括号。可能不会加快速度;只是为了清楚。

你真的需要多次调用那个函数,每次都用一个数字吗?你不能在哪里(currentPoint-startPoint)./abs(startPoint)*100.00currentPoint向量startPoint

在 2): 中,而不是循环执行单个“矢量化绘图”:plot(xplot,patternPlot)或更好plot(patternPlot.')。这将在一个步骤中绘制所有内容。

于 2013-11-15T15:46:10.547 回答