lilingfei520sky 发表于 2009-6-26 05:16

求助:如何缩短程序运行时间

因为处理的数组比较大,小弟只会用循环来做:
clear
global Z                  % Z 是NxNx3-dimension matrix
global dataY          % Y 是NxN-dimension matrix
N=308;
h=input('Input :'); % h 最佳值为4.8
RGBZ=Z;
Y=dataY;
ziel=zeros(N);
for i=1:N   % for循环运行时间太慢
for j=1:N
ziel(i,j)=myBild(',h,N,RGBZ,Y); %
end
end

myBild()函数,文件名myBild.m:
function k=myBild(u,h,N,RGBZ,Y)
mymulti=zeros(N);
for i=1:N
for j=1:N
   mymulti(i,j)=myK((u-RGBZ(i,j))/h);
end
end
Y3=mymulti.*Y;
k=(1/(N*h^3))*sum(sum(Y3));

因为循环太多,所以运行太慢(当N=25时,运行时间为十分钟),求各位大虾帮帮忙,实在不知道怎么改:@L :@L :@L

beyondhxf 发表于 2009-6-26 08:21

回复 楼主 lilingfei520sky 的帖子

把那些全局变量给清楚,要不别人怎么运行?

friendchj 发表于 2009-6-26 10:55

参考一下:
http://forum.vibunion.com/forum/viewthread.php?tid=83563&page=1#pid429801
页: [1]
查看完整版本: 求助:如何缩短程序运行时间