marafeng 发表于 2006-4-29 11:17

[求助]如何优化这个程序啊?

for i=1:100<BR>z(i)=z2+i*(1e-6);<BR>for j=1:21<BR>   x(j)=-10e-6+j*(1e-6);<BR>   for k=1:21<BR>    y(k)=-10e-6+k*(1e-6); <BR>       u1=sqrt(2/(z(i)*l2))*(x(j)-L);<BR>                u2=sqrt(2/(z(i)*l2))*(x(j)-R);<BR>                v1=sqrt(2/(z(i)*l2))*(y(k)-L);<BR>                v2=sqrt(2/(z(i)*l2))*(y(k)-R);<BR>                a=cw(u2)-cw(u1);<BR>                b=sw(u2)-sw(u1);<BR>                c=cw(v2)-cw(v1);<BR>                d=sw(v2)-sw(v1);<BR>                I(j,k,i)=I0*0.25*((a*c-b*d)*(a*c-b*d)+(a*d+b*c)*(a*d+b*c)); <BR>            end<BR>      end<BR>    end<BR><BR>我编的这个程序运行剧慢,也不知道为什么,不知道可否优化一下,让其速度增快n多

marafeng 发表于 2006-4-29 11:18

忘记说cw&sw是自己编写的小程序啦

yangzj 发表于 2006-4-29 11:23

<P>这么多循环嵌套是快不起来的吧,要优化也只能把一些乘法改成加法,要不就改成矩阵运算,再要优化就得研究算法了吧</P>

happy 发表于 2006-4-29 21:08

回复:(marafeng)[求助]如何优化这个程序啊?

这个程序可以改成矩阵运算的形式
页: [1]
查看完整版本: [求助]如何优化这个程序啊?