回 帖 发 新 帖 刷新版面

主题:还请高手再指导一下我的程式

下面这个程式结果是正确的,但是我希望能得到以f.L为坐标轴的图形显示.由于是新手,在绘图语句方面不太了解,还请大家帮个忙.
s0=pi*(12.85/2)^2;
s1=s0;
s2=pi*(54.2/2)^2;
s3=316;
s4=s2;
s5=pi*(11.1/2)^2;
u1=10;
u2=s1*u1/s2;
u3=s2*u2/s3;
u4=s3*u3/s4;
u5=s4*u4/s5;
l1=32;
l3=20.5;
l6=13.5;
l7=187;l8=l7;
c=340;
M1=u1/c;
m1=s1/s0;
M2=u1/c;
m2=s2/s0;

a2=s2/s1;
M3=u2/c;
m3=s2/s0;M4=u3/c;
m4=s3/s0;a4=s3/s2;
M5=u3/c;
m5=s3/s0;
a5=s4/s3;
M6=u4/c;

m6=s4/s0;
M7=u5/c;
m7=s5/s0;

a7=m7/m6;
m77=m6-m7;
M8=u5/c;
m8=s5/s0;
for f=50:5:60
k=2*pi*f/c;
T1=[cos((k*l1)/(1-M1^2)) j*sin((k*l1)/(1-M1^2))/m1;j*m1*sin((k*l1)/(1-M1^2)) cos((k*l1)/(1-M1^2))]
T2=[1 -2*M2*(1-1/a2)/(m2*a2);0 1]
T3=[cos((k*l3)/(1-M3^2)) j*sin((k*l3)/(1-M3^2))/m3;j*m3*sin((k*l3)/(1-M3^2)) cos((k*l3)/(1-M3^2))]
T4=[1 (1-a4^2)*M4/m4;0 1]
T5=[1 -2*M5*(1-1/a5)/(m5*a5);0 1]
T6=[cos((k*l6)/(1-M6^2)) j*sin((k*l6)/(1-M6^2))/m6;j*m6*sin((k*l6)/(1-M6^2)) cos((k*l6)/(1-M6^2))]
T7=[1-j*m77*(a7^2)*M7*tan(k*l7)/m7 (1-a7^2)*M7/m7;j*m77*tan(k*l7) 1+j*m77*M7*tan(k*l7)/m7]
T8=[cos((k*l8)/(1-M8^2)) j*sin((k*l8)/(1-M8^2))/m8;j*m8*sin((k*l8)/(1-M8^2)) cos((k*l8)/(1-M8^2))]
T=T1*T2*T3*T4*T5*T6*T7*T8
A=T(1,1)
B=T(1,2)
C=T(2,1)
D=T(2,2)
m=s5/s0;
L=10*log10((abs(A+m*B+C+m*D)).^2/(4*m^2))
end

回复列表 (共2个回复)

沙发

好乱哦,变量太多了,你说的以f.l为坐标轴,你的程序里哪来f啊???且l也只是一个值,这么画啊??
我建议你改用数组啦,数组对画图很有好处的,且意思明白。

板凳


[em2]
呵呵,中间变量是必须得有的,因为在矩阵T1,T2,....T8各元素中含有这些变量的,
我要的就是:比如在for循环语句中f=50:1:60,这就代表了了f轴的范围;而在循环语句中每f变化一次,相应的L就有了一个新值.这样许多的对应值在图形中显示出来,该怎么做呢?
你的意思我也理解:把f作为一维数组,这样的话,矩阵T1,T2...T8就需要扩维了不再是2*2矩阵了,也就不能求T=T1*T2*T3*T4*T5*T6*T7*T8,我这样理解应该没有问题对吧.所以我不知道该怎么办才好?

我来回复

您尚未登录,请登录后再回复。点此登录或注册