我有一个总共需要34秒的功能,我想加快速度。 2个最慢的功能是:
1)我有一个非常简单的函数文件:
function [x] = percentChange(startPoint, currentPoint)
x = ( (currentPoint-startPoint)/abs(startPoint) )*100.00;
其中currentPoint和startPoint只是整数。 在我的主要功能中,我将此功能称为1.114.239次(这需要我的计算机13.364s)。我可以更快地做到这一点吗?
2)我的功能的另一部分需要很长时间才能绘制1934行。目前,绘图工作如下:
for i=1:size(patternPlot,1)
hold all
plot(xplot,patternPlot(i,:));
end
'patternPlot'存储我想要绘制的向量(xplot只是向量1:30)。我能以任何方式加快速度吗?
提前致谢,
Ĵ
答案 0 :(得分:0)
在1)中:删除第二行中的外括号。可能不会获得速度;为了清楚起见。
你真的必须多次调用这个函数,每个都有一个数字吗?你不能(currentPoint-startPoint)./abs(startPoint)*100.00
currentPoint
和startPoint
向量吗?
在2)中:代替循环执行单个“矢量化绘图”:plot(xplot,patternPlot)
或更好plot(patternPlot.')
。这将在一步中绘制所有内容。