主函数是yiwei1cen, 有两个子函数f11,f1,其中m()和n()相当于两组权系数,由于字符太多我就省略他们了,运行一次要17秒左右,感觉有点慢,特别是t上加循环以后,很慢很慢,请问有什么地方可以改进的
function y=yiwei1cen(t,a)
m(1)=3.25931063799538E-09;
。
。
。
m(250)=4.30325980609608E-13;
mm=1;
for nn=-149:100
mid(mm)=f1(nn,t,a)*m(mm);
mm=mm+1;
end
mid1=sum(mid);
y=-1*sqrt(2/pi)*mid1/t;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function r=f11(nn,ii,t,a)
syms A s dt;
A=-3.05078187595;
s=1.10599010095e-1;
dt=log(10)/20;
u0=4*pi*10^(-7);
w=exp(nn*dt)/t;
ld=10^(A+(ii-1)*s)/a;
r=u0*ld/(u0+sqrt(ld^2+j*w*u0));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function r=f1(nn,t,a)
syms A s dt;
A=-3.05078187595;
s=1.10599010095e-1;
dt=log(10)/20;
n(1)=3.17926147465e-6 ;
。
。
。
n(47)=7.88229202853e-6;
for ii=1:47
mid(ii)=f11(nn,ii,t,a)*n(ii);
end
mid1=sum(mid);
w=exp(nn*dt)/t;
r=imag(j*w*mid1)/w;
end
太感谢您了,果真快了很多很多,从16s到0.16s了,这些我一点都不知道诶,您可不可以给我提供一些说这些的教程了啊,谢谢您了,我邮箱[email protected],您太厉害了,佩服啊。。。。。呵呵呵呵
追答呃,这些东西matlab用多了就慢慢知道了~最好的教程应该就是matlab的help吧~可以多看看help~
没有啊,我重新做了以后速度没变啊
追答恩,我想得太简单了。 二楼说的有道理。