p=2.2942;m=-10.6378+0.8082i;s=1;o=88*pi/180;d=40;
n=200:100:1000;
kz=sqrt(p)*2*pi/n*sin(o);
kzs=sqrt(s*(2*pi/n)^2-kz^2);
kzm=sqrt(m*(2*pi/n)^2-kz^2);
kzp=sqrt(p*(2*pi/n)^2-kz^2);
rms=(s*kzm-m*kzs)/(s*kzm+m*kzs);
rpm=(m*kzp-p*kzm)/(m*kzp+p*kzm);
r=(rpm+rms*exp(2i*kzm*d))/(1+rpm*rms*exp(2i*kzm*d));
plot(n,r,linespec1)\
Error using /
Matrix dimensions must agree.
我想画一条r和n的关系曲线,为什么会出现维度不匹配,我是Matlab新手,这两天快被烦死了。
答案:2 悬赏:50
解决时间 2021-03-08 02:59
- 提问者网友:枯希心
- 2021-03-07 02:42
最佳答案
- 二级知识专家网友:星痕之殇
- 2021-03-07 03:09
少了很多点,现在可以了:
clear all;clc;
p=2.2942;
m=-10.6378+0.8082i;
s=1;
o=88*pi/180;
d=40;
n=200:100:1000;
kz=sqrt(p)*2*pi./n*sin(o);
kzs=sqrt(s*(2*pi./n).^2-kz.^2);
kzm=sqrt(m*(2*pi./n).^2-kz.^2);
kzp=sqrt(p*(2*pi./n).^2-kz.^2);
rms=(s*kzm-m*kzs)./(s*kzm+m*kzs);
rpm=(m*kzp-p*kzm)./(m*kzp+p*kzm);
r=(rpm+rms.*exp(2i*kzm*d))./(1+rpm.*rms.*exp(2i*kzm*d));
plot(n,r);
clear all;clc;
p=2.2942;
m=-10.6378+0.8082i;
s=1;
o=88*pi/180;
d=40;
n=200:100:1000;
kz=sqrt(p)*2*pi./n*sin(o);
kzs=sqrt(s*(2*pi./n).^2-kz.^2);
kzm=sqrt(m*(2*pi./n).^2-kz.^2);
kzp=sqrt(p*(2*pi./n).^2-kz.^2);
rms=(s*kzm-m*kzs)./(s*kzm+m*kzs);
rpm=(m*kzp-p*kzm)./(m*kzp+p*kzm);
r=(rpm+rms.*exp(2i*kzm*d))./(1+rpm.*rms.*exp(2i*kzm*d));
plot(n,r);
全部回答
- 1楼网友:猎杀温柔
- 2021-03-07 04:08
你好!
将"/"改为"./"再试试
你想使用的是数组除,而实际上你用到的是矩阵的右除
仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯