声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1193|回复: 2

[综合讨论] 斑竹请不要删!用MATALB编了一个计算程序,有一个问题,请大家帮忙!

[复制链接]
发表于 2006-6-20 23:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
<P>斑竹和高手帮忙啊!也可给点其他程序解决这样问题的建议!已经标注错误的地方!<br>数据a0R,alR,a0G,alG,是随频率变化得出的一系列值,我想在下面求a,b等时,是用上面相同频率点下的值一一对应相乘.(例如a=a0G*alR,让a0G,alR在相同频率下的值相乘,附给a,这样就是把一列值附给a)。肯定不能把一连串的乘积结果只附给一个a,请问该如何解决啊?非常感谢!<br>function jisuan<br>% 导体参数<br>L=10;%导线长度<br>LG=0.8e-6;LR=0.8e-6;Lm=0.2e-6;<br>CG=5e-13;CR=5e-13;Cm=0.3e-13;<br>%输入阻抗和负载阻抗<br>Zs=50;Z0R=50;ZLR=50;ZLG=50;<br>%源电压 <br>Us=1;f=1e2:1:1e5;<br>%求解<br>j=sqrt(-1);w=2*pi*f;p=w*sqrt(LG*CG);<br>v=1./sqrt(LG*CG);<br>q=cos(p*L);S=sin(p*L)./(p*L);<br>k=Lm./sqrt(LG*LR);     %耦合系数<br>ZCR=v*LR*w*sqrt(1-k^2);ZCG=v*LG*w*sqrt(1-k^2);<br>a0R=Z0R./ZCR;alR=ZLR./ZCR;a0G=Zs./ZCG;alG=ZLG./ZCG; %由于角频率w,得出的数据随w变化<br>a=a0G*alR;b=alG*a0R;c=a0R*alR;d=a0G*alG;  %这里开始出错,说是矩阵维数不匹配,但不知道该如何处理,请大家帮忙!<br>n=(1-a)*(1-b)./((1+c)*(1-d));<br>tG=LG*L./(Zs+ZLG)+(CG+Cm)*L*Zs*ZLG./(Zs+ZLG);<br>tR=LR*L./(Z0R+ZLR)+(CG+Cm)*L*Z0R*ZLR./(Z0R+ZLR);<br>D=q^2-(S*w).^2*tR*tG*(1-k^2*n)+j*w*q*S*(tR+tG);<br>g=S./D;h=j*w*ZLR*Lm*L./((Z0R+ZLR)*(ZLG+Zs));<br>i=j*w*Z0R*ZLR*Cm*L*ZLG./((Z0R+ZLR)*(ZLG+Zs));<br>URLUs=g*(h-i);<br>plot(f,abs(URLUs));<br>grid;<br>xlabel('MHZ');ylabel('UR(L)/Us');</P>
[此贴子已经被作者于2006-6-20 23:13:57编辑过]

回复
分享到:

使用道具 举报

发表于 2006-6-20 23:41 | 显示全部楼层
<P>我看了你的程序,变量比较多,错误的原因主要是矩阵乘法的维数不对,我觉得你对matlab语言的.*和*及.^和^、./ 和/的区别没有搞清楚,凡是加点的是向量的相应运算,就是对应元素进行相关运算,不加点就是按照矩阵法则进行的运算,和高等代数(线形代数)的矩阵运算法则对应。我都把你的程序错误的语句改为了.*或./,结果就没有错误了,但是可能和你的本意不是很一样,因为我不是很懂你的程序要实现的具体实际意义,但是你的错误就是矩阵*或^的维数不对,你自己理解了matlab的关于向量及矩阵的四则运算法则后应该很容易解决的。<BR>function jisuan<BR>% 导体参数<BR>L=10;%导线长度<BR>LG=0.8e-6;LR=0.8e-6;Lm=0.2e-6;<BR>CG=5e-13;CR=5e-13;Cm=0.3e-13;<BR>%输入阻抗和负载阻抗<BR>Zs=50;Z0R=50;ZLR=50;ZLG=50;<BR>%源电压 <BR>Us=1;f=1e2:1:1e5;<BR>%求解<BR>j=sqrt(-1);w=2*pi*f;p=w*sqrt(LG*CG);<BR>v=1./sqrt(LG*CG);<BR>q=cos(p*L);S=sin(p*L)./(p*L);<BR>k=Lm./sqrt(LG*LR);     %耦合系数<BR>ZCR=v*LR*w*sqrt(1-k^2);ZCG=v*LG*w*sqrt(1-k^2);<BR>a0R=Z0R./ZCR;alR=ZLR./ZCR;a0G=Zs./ZCG;alG=ZLG./ZCG; %由于角频率w,得出的数据随w变化<BR>a=a0G*alR';<BR>b=alG*a0R';<BR>c=a0R*alR';<BR>d=a0G*alG';  %这里开始出错,说是矩阵维数不匹配,但不知道该如何处理,请大家帮忙!<BR>n=(1-a)*(1-b)./((1+c)*(1-d));<BR>tG=LG*L./(Zs+ZLG)+(CG+Cm)*L*Zs*ZLG./(Zs+ZLG);<BR>tR=LR*L./(Z0R+ZLR)+(CG+Cm)*L*Z0R*ZLR./(Z0R+ZLR);<BR>D=q.^2-(S.*w).^2.*tR.*tG.*(1-k.^2.*n)+j.*w.*q.*S.*(tR+tG);<BR>g=S./D;h=j*w*ZLR*Lm*L./((Z0R+ZLR)*(ZLG+Zs));<BR>i=j*w*Z0R*ZLR*Cm*L*ZLG./((Z0R+ZLR)*(ZLG+Zs));<BR>URLUs=g.*(h-i);<BR>plot(f,abs(URLUs));<BR>grid;<BR>xlabel('MHZ');ylabel('UR(L)/Us');</P>
发表于 2006-6-21 22:37 | 显示全部楼层
<P>我也看了 同意楼上的观点!~~~~</P>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 23:35 , Processed in 0.090156 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表