Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-07-20
年龄: 51
帖子: 5
声望力: 0 ![]() |
![]()
各位大侠,我是一个处于偏僻山区的教育者,现在急用MATLAB来计算一些科学数据,但用FOR循环计算时发现速度太慢,不知道还有什么办法解决。请大侠们多多帮且我啊。太恩不言谢,兄弟就此拜托了。
以下是我这个刚学MATLAM的阿呆(:cry:) 的计算程序,请大侠们帮看看并提出增加速度的方案,小的在这有礼了! 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); f1=r1*r1'; R1(1,j)=f1; j=j+1; end plot(k,R1,'k');axis([0.1,0.9,0,1]),ylabel('Transmission'); |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
请教:时变延时系统仿真 | jiemark | MATLAB论坛 | 0 | 2008-06-05 00:11 |
几行S函数代码,请达人帮修改一下 | rongyihit | MATLAB论坛 | 1 | 2008-06-03 22:08 |
[求助]关于IIR数字滤波器的GUI界面设计 | yusiking52 | MATLAB论坛 | 0 | 2008-05-06 07:24 |
[求助]!关于sphere()? | qq123123850 | MATLAB论坛 | 0 | 2008-04-19 23:55 |
【求助】请教用dsolve求解符号微分方程中的参数传递问题 | frcarpin | MATLAB论坛 | 0 | 2007-06-21 14:33 |