Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2008-10-09, 20:13   #1
sinophile
初级会员
 
注册日期: 2008-10-09
年龄: 40
帖子: 1
声望力: 0
sinophile 正向着好的方向发展
默认 [求助]帮忙看看程序出了什么问题

这是我编的一个程序,本意是theta1变量坐横坐标,R变量做纵坐标,得到一个关于他俩的曲线,运行程序后也能得到曲线,但是不知道怎么回事,纵坐标的值一直都是1,我用的是MATLAB7.0,希望知道的帮我看看怎么回事啊,头都编大了,谢谢了~

程序如下,
>> n0=1;n1=1.2;n2=1.4;n3=1.6;n4=1.8;n5=2;n6=2.2;ng=2.4;
j=8.85*10^-12;c=1;w=4.55*10^-7;theta1=0i/100i/2;m=eye(2);
h1=w/4;h2=w/6;h3=w/7;h4=w/8;h5=w;h6=w/9;
N=[n1 n2 n3 n4 n5 n6];H=[h1 h2 h3 h4 h5 h6];
for k=1:6;
F1=n0.*sin(theta1);F2=F1./N(k);theta2=asin(F2);
P1=2*pi*N(k)*H(k).*cos(theta2);P2=P1./w;
P3=sqrt(j/c)*N(k).*cos(theta2);
A=cos(P2);B1=-i.*sin(P2);B=B1./P3;C=-i.*P3.*sin(P2);D=cos(P2);
M=[A,B;C,D];
m=[m(1).*M(1)+m(3).*M(2) m(1).*M(3)+m(3).*M(4);m(2).*M(1)+m(4).*M(2) m(2).*M(3)+m(4).*M(4)];
end;
P0=sqrt(j/c)*n0.*cos(theta1);
F4=F1./ng;theta3=asin(F4);
P4=sqrt(j/c)*ng;Pg=P4./cos(theta3);
r1=m(1)+m(3).*Pg;r2=r1.*P0;r3=m(2)+m(4).*Pg;
r4=r2-r3;r5=r2+r3;
r=r4./r5;
r6=conj(r);
R=r.*r6;plot(theta1,R)
sinophile 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 16:50


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.