声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1583|回复: 9

[编程技巧] [求助]我编了一个程序,运行附值出错,大家帮忙!谢谢啊

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

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

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

x
谢谢大家,程序根据大家的建议做了修改!但红色标出的地方,自己不知道如何处理!数据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;  <FONT color=#dd2222>%这里开始出错,说是矩阵维数不匹配,但不知道该如何处理,请大家帮忙!<br></FONT>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><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');<br>
[此贴子已经被作者于2006-6-20 23:27:04编辑过]

回复
分享到:

使用道具 举报

发表于 2006-6-20 16:25 | 显示全部楼层
a=a0G.*alR;b=alG.*a0R;c=a0R.*alR;d=a0G.*alG;  
发表于 2006-6-20 20:32 | 显示全部楼层

回复:(mam1231)[求助]我编了一个程序,运行有一个地...

<DIV class=quote><B>以下是引用<I>mam1231</I>在2006-6-20 13:47:12的发言:</B><BR>a0R=Z0R./ZCR;alR=ZLR./ZCR;a0G=Zs./ZCG;<FONT color=#ff0000>a1G=ZLG./ZCG</FONT>; %由于角频率w,</DIV><BR>另一个问题,红色标记部分变量写错了,其中l你写成了数字的1了
发表于 2006-6-20 22:02 | 显示全部楼层
<P>你的ZOG在哪</P>
发表于 2006-6-20 22:07 | 显示全部楼层
你的第23中的ZOG在前面好像没值呀。
 楼主| 发表于 2006-6-20 22:37 | 显示全部楼层
谢谢各位,根据大家自己又将帖子修正了一下,可还有一个地方,红色标注了!大家再帮忙啊!谢谢了
发表于 2006-6-20 23:22 | 显示全部楼层
<P>你把function去掉运行看看a=a0G*alR;b=alG*a0R;c=a0R*alR;d=a0G*alG;  <FONT color=#dd2222>%这里开始出错,说是矩阵维数不匹配,但不知道该如何处理,请大家帮忙!<BR></FONT><FONT color=#000000>这样在工作数据空间可以看到数据的维数,好几个是1*999001的数据,相乘用*是不允许的<BR>可以用.*或者转置后乘。</FONT></P>
 楼主| 发表于 2006-6-20 23:29 | 显示全部楼层
嗯  用转置!谢谢
 楼主| 发表于 2006-6-20 23:33 | 显示全部楼层
<P>用转置求取后,该如何提取数据用于下面计算呢!能给一个小例子不?</P>
 楼主| 发表于 2006-6-23 12:56 | 显示全部楼层
谢谢大家
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-20 04:56 , Processed in 0.173476 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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