主题:急急求助支援!!!
各位楼主高手,请快快帮小弟一个忙呀,以下是我个人在完成作业时编的一个循环程序,太运算时间太长,怎样才能提高它的运算速度啊,是不是有更好的MATLAB程序来代替啊,请多多指点小弟一把。谢谢啦!!
k=0.1:0.0000005:0.91;
j=1;
for m=0.1:0.0000005:0.91
e0=8.85*10^(-12); p0=4*pi*10^(-7);c0=3*10^8;a=3*10^(-10);
na=sqrt(9.0);nb=sqrt(1);nc=sqrt(4);nd=sqrt(1.0);ng=sqrt(16);nh=1.0;
da=0.5*a;db=0.5*a;dc=0.5*a;dd=0.5*a;dg=0.5*a;dh=0.5*a;
g0=sqrt(e0/p0)*1;
ga=g0*na;gb=g0*nb;gc=g0*nc;gd=g0*nd;gg=g0*ng;gh=g0*nh;
sa=-na*pi*m;sb=-nb*pi*m;sc=-nc*pi*m;sd=-nd*pi*m;sg=-ng*pi*m;sh=-nh*pi*m;
A=[cos(sa),-i*sin(sa)/ga;-i*ga*sin(sa),cos(sa)];B=[cos(sb),-i*sin(sb)/gb;-i*gb*sin(sb),cos(sb)];
C=[cos(sc),-i*sin(sc)/gc;-i*gc*sin(sc),cos(sc)];D=[cos(sd),-i*sin(sd)/gd;-i*gd*sin(sd),cos(sd)];
G=[cos(sg),-i*sin(sg)/gg;-i*gg*sin(sg),cos(sg)];H=[cos(sh),-i*sin(sh)/gh;-i*gh*sin(sh),cos(sh)];
M1=(G*H)^(5)*(A*B)^(5)*(C*D)^(5)*(B*A)^(5)*(H*G)^(5);
A1=M1(1,1);B1=M1(1,2);C1=M1(2,1);D1=M1(2,2);
r1=2*g0/(A1*g0+B1*g0^2+C1+D1*g0);r2=2*g0/(A2*g0+B2*g0^2+C2+D2*g0);
f1=r1*r1';
R1(1,j)=f1;
j=j+1;
end
plot(k,R1,'k');axis([0.1,0.9,0,1]),ylabel('Transmission');
k=0.1:0.0000005:0.91;
j=1;
for m=0.1:0.0000005:0.91
e0=8.85*10^(-12); p0=4*pi*10^(-7);c0=3*10^8;a=3*10^(-10);
na=sqrt(9.0);nb=sqrt(1);nc=sqrt(4);nd=sqrt(1.0);ng=sqrt(16);nh=1.0;
da=0.5*a;db=0.5*a;dc=0.5*a;dd=0.5*a;dg=0.5*a;dh=0.5*a;
g0=sqrt(e0/p0)*1;
ga=g0*na;gb=g0*nb;gc=g0*nc;gd=g0*nd;gg=g0*ng;gh=g0*nh;
sa=-na*pi*m;sb=-nb*pi*m;sc=-nc*pi*m;sd=-nd*pi*m;sg=-ng*pi*m;sh=-nh*pi*m;
A=[cos(sa),-i*sin(sa)/ga;-i*ga*sin(sa),cos(sa)];B=[cos(sb),-i*sin(sb)/gb;-i*gb*sin(sb),cos(sb)];
C=[cos(sc),-i*sin(sc)/gc;-i*gc*sin(sc),cos(sc)];D=[cos(sd),-i*sin(sd)/gd;-i*gd*sin(sd),cos(sd)];
G=[cos(sg),-i*sin(sg)/gg;-i*gg*sin(sg),cos(sg)];H=[cos(sh),-i*sin(sh)/gh;-i*gh*sin(sh),cos(sh)];
M1=(G*H)^(5)*(A*B)^(5)*(C*D)^(5)*(B*A)^(5)*(H*G)^(5);
A1=M1(1,1);B1=M1(1,2);C1=M1(2,1);D1=M1(2,2);
r1=2*g0/(A1*g0+B1*g0^2+C1+D1*g0);r2=2*g0/(A2*g0+B2*g0^2+C2+D2*g0);
f1=r1*r1';
R1(1,j)=f1;
j=j+1;
end
plot(k,R1,'k');axis([0.1,0.9,0,1]),ylabel('Transmission');