24小时热门版块排行榜    

CyRhmU.jpeg
查看: 664  |  回复: 9
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zhangzg698958

金虫 (正式写手)

[交流] 【求助】数个矩阵连乘,用*还是用.*? 【已完成】

已知X1=[1 1;-1 1]*[R1/R2 0;0 1]*[1 -1;1 1]*[cos(k1*d1) 0;0 cos(k1*d1)];Y1=[1 1;1 -1]*[R1/R2 0;0 1]*[1 -1;1 1]*[sin(k1*d1) 0;0 sin(k1*d1)];
X2=[1 1;-1 1]*[R2/R3 0;0 1]*[1 -1;1 1]*[cos(k2*d2) 0;0 cos(k2*d2)];Y2=[1 1;1 -1]*[R2/R3 0;0 1]*[1 -1;1 1]*[sin(k2*d2) 0;0 sin(k2*d2)];
X3=[1 1;-1 1]*[R3/R4 0;0 1]*[1 -1;1 1]*[cos(k3*d3) 0;0 cos(k3*d3)];Y3=[1 1;1 -1]*[R3/R4 0;0 1]*[1 -1;1 1]*[sin(k3*d3) 0;0 sin(k3*d3)];
X4=[1 1;-1 1]*[R4/R5 0;0 1]*[1 -1;1 1]*[cos(k4*d4) 0;0 cos(k4*d4)];Y4=[1 1;1 -1]*[R4/R5 0;0 1]*[1 -1;1 1]*[sin(k4*d4) 0;0 sin(k4*d4)];
X5=[1 1;-1 1]*[R5/R6 0;0 1]*[1 -1;1 1]*[cos(k5*d5) 0;0 cos(k5*d5)];Y5=[1 1;1 -1]*[R5/R6 0;0 1]*[1 -1;1 1]*[sin(k5*d5) 0;0 sin(k5*d5)];
X6=[1 1;-1 1]*[R6/R7 0;0 1]*[1 -1;1 1]*[cos(k6*d6) 0;0 cos(k6*d6)];Y6=[1 1;1 -1]*[R6/R7 0;0 1]*[1 -1;1 1]*[sin(k6*d6) 0;0 sin(k6*d6)];
X7=[1 1;-1 1]*[R7/R8 0;0 1]*[1 -1;1 1]*[cos(k7*d7) 0;0 cos(k7*d7)];Y7=[1 1;1 -1]*[R7/R8 0;0 1]*[1 -1;1 1]*[sin(k7*d7) 0;0 sin(k7*d7)];
X8=[1 1;-1 1]*[R8/R9 0;0 1]*[1 -1;1 1]*[cos(k8*d8) 0;0 cos(k8*d8)];Y8=[1 1;1 -1]*[R8/R9 0;0 1]*[1 -1;1 1]*[sin(k8*d8) 0;0 sin(k8*d8)];
X9=[1 1;-1 1]*[R9/R10 0;0 1]*[1 -1;1 1]*[cos(k9*d9) 0;0 cos(k9*d9)];Y9=[1 1;1 -1]*[R9/R10 0;0 1]*[1 -1;1 1]*[sin(k9*d9) 0;0 sin(k9*d9)];
A1=X1+j*Y1;A2=X2+j*Y2;A3=X3+j*Y3;A4=X4+j*Y4;A5=X5+j*Y5;A6=X6+j*Y6;A7=X7+j*Y7;A8=X8+j*Y8;A9=X9+j*Y9;

A1,A2,A3,A4,A5,A6,A7,A8,A9均为复数型矩阵,将它们连乘,如采用B=A1*A2*A3*A4*A5*A6*A7*A8*A9形式,则出现“
??? Error using ==> mtimes
Inner matrix dimensions must agree.”;如采用B=A1.*A2.*A3.*A4.*A5.*A6.*A7.*A8.*A9,则得出一错误结果;为什麽???先行谢谢!!!

[ Last edited by nono2009 on 2009-9-23 at 22:08 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sitonyl

铁杆木虫 (文坛精英)

★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+2,VIP+0):谢谢参与,欢迎常来 7-1 23:06
sunxiao(金币+2,VIP+0):帮楼主转增,谢谢您的帮助 7-4 01:15
矩阵相乘,要求为数匹配,即前一矩阵的列数和后一矩阵的行数相等,和点乘含义不同。用哪个,具体看你的目的是什么。
zz
8楼2009-07-01 16:46:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

sunxiao

荣誉版主 (著名写手)

小木虫钓鱼协会会长

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
kuhailangyu(金币+2,VIP+0):谢谢参与 6-30 16:07
*为矩阵乘法,需要满足相临行列维数相同
.*为点乘,只是矩阵相应元素相乘
西南交大隧道方向招硕、博士
2楼2009-06-30 11:56:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
kuhailangyu(金币+1,VIP+0):谢谢参与 6-30 16:07
把你的ki,Ri,di参数赋值后,运行时没有问题的,你再仔细检查一下!!
3楼2009-06-30 14:19:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangzg698958

金虫 (正式写手)

matlab菜鸟,编了一个笨程序,出问题了,以下是程序:
f=250:1:10000;
c1=331;c10=331;c2=5960;c4=5960;c6=5960;c8=5960;c3=96;c5=96;c7=96;c9=96;
e1=1.293;e2=7850;e3=1300;
d1=0;d2=0.2;d3=0.2;d4=0.2;d5=0.2;d6=0.2;d7=0.2;d8=0.2;d9=0.2;
R1=e1*c1;R10=e1*c1;R2=e2*c2;R4=e2*c2;R6=e2*c2;R8=e2*c2;R3=e3*c3;R5=e3*c3;R7=e3*c3;R9=e3*c3;
k1=2*pi*f/c1;k2=2*pi*f/5960;k4=2*pi*f/5960;k6=2*pi*f/5960;k8=2*pi*f/5960;k3=2*pi*f/96;k5=2*pi*f/96;k7=2*pi*f/96;k9=2*pi*f/96;
X1=[1 1;-1 1]*[R1/R2 0;0 1]*[1 -1;1 1]*[cos(k1*d1) 0;0 cos(k1*d1)];Y1=[1 1;1 -1]*[R1/R2 0;0 1]*[1 -1;1 1]*[sin(k1*d1) 0;0 sin(k1*d1)];
X2=[1 1;-1 1]*[R2/R3 0;0 1]*[1 -1;1 1]*[cos(k2*d2) 0;0 cos(k2*d2)];Y2=[1 1;1 -1]*[R2/R3 0;0 1]*[1 -1;1 1]*[sin(k2*d2) 0;0 sin(k2*d2)];
X3=[1 1;-1 1]*[R3/R4 0;0 1]*[1 -1;1 1]*[cos(k3*d3) 0;0 cos(k3*d3)];Y3=[1 1;1 -1]*[R3/R4 0;0 1]*[1 -1;1 1]*[sin(k3*d3) 0;0 sin(k3*d3)];
X4=[1 1;-1 1]*[R4/R5 0;0 1]*[1 -1;1 1]*[cos(k4*d4) 0;0 cos(k4*d4)];Y4=[1 1;1 -1]*[R4/R5 0;0 1]*[1 -1;1 1]*[sin(k4*d4) 0;0 sin(k4*d4)];
X5=[1 1;-1 1]*[R5/R6 0;0 1]*[1 -1;1 1]*[cos(k5*d5) 0;0 cos(k5*d5)];Y5=[1 1;1 -1]*[R5/R6 0;0 1]*[1 -1;1 1]*[sin(k5*d5) 0;0 sin(k5*d5)];
X6=[1 1;-1 1]*[R6/R7 0;0 1]*[1 -1;1 1]*[cos(k6*d6) 0;0 cos(k6*d6)];Y6=[1 1;1 -1]*[R6/R7 0;0 1]*[1 -1;1 1]*[sin(k6*d6) 0;0 sin(k6*d6)];
X7=[1 1;-1 1]*[R7/R8 0;0 1]*[1 -1;1 1]*[cos(k7*d7) 0;0 cos(k7*d7)];Y7=[1 1;1 -1]*[R7/R8 0;0 1]*[1 -1;1 1]*[sin(k7*d7) 0;0 sin(k7*d7)];
X8=[1 1;-1 1]*[R8/R9 0;0 1]*[1 -1;1 1]*[cos(k8*d8) 0;0 cos(k8*d8)];Y8=[1 1;1 -1]*[R8/R9 0;0 1]*[1 -1;1 1]*[sin(k8*d8) 0;0 sin(k8*d8)];
X9=[1 1;-1 1]*[R9/R10 0;0 1]*[1 -1;1 1]*[cos(k9*d9) 0;0 cos(k9*d9)];Y9=[1 1;1 -1]*[R9/R10 0;0 1]*[1 -1;1 1]*[sin(k9*d9) 0;0 sin(k9*d9)];
A1=X1+j*Y1;A2=X2+j*Y2;A3=X3+j*Y3;A4=X4+j*Y4;A5=X5+j*Y5;A6=X6+j*Y6;A7=X7+j*Y7;A8=X8+j*Y8;A9=X9+j*Y9;
B=A1.*A2.*A3.*A4.*A5.*A6.*A7.*A8.*A9;
tp=(1/2)^(-9)/abs(B(1,1));rp=B(2,1)/B(1,1);
TL=-20.*log10(tp);
plot(f,TL)

A1,A2,A3,A4,A5,A6,A7,A8,A9均为复数型矩阵,且满足相临行列维数相同
。倒数第四行,将它们连乘,应采用B=A1*A2*A3*A4*A5*A6*A7*A8*A9形式,但出现“
??? Error using ==> mtimes
Inner matrix dimensions must agree.”;计算不下去,应该怎麽办???
只好采用A1.*A2.*A3.*A4.*A5.*A6.*A7.*A8.*A9,可得出一个结果,但是错误的。为什麽???新手,谢谢了,请答得详细点!!!

[ Last edited by zhangzg698958 on 2009-6-30 at 21:55 ]
5楼2009-06-30 21:42:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见