matlab矩阵大小不匹配

matlab矩阵大小不匹配,matlab,matrix,Matlab,Matrix,我无法匹配矩阵的大小。我试图模拟一个电磁波在一个导电性为segma的介质中运动。问题是,当我试图绘制E和H字段时,它会给我一个错误(矩阵大小不匹配)。我试图更改这些值,但仍然没有输出。如果有人帮我解决这个问题。提前谢谢 segma=5 f=1000 m=2 w=2*pi*f ; % Omega Eo= 8.854187817*10^12; %vaccum permitivity of air y=(1+1i)*sqrt(pi*f*Eo*m*segma); % definning gamma a=

我无法匹配矩阵的大小。我试图模拟一个电磁波在一个导电性为segma的介质中运动。问题是,当我试图绘制E和H字段时,它会给我一个错误(矩阵大小不匹配)。我试图更改这些值,但仍然没有输出。如果有人帮我解决这个问题。提前谢谢

segma=5
f=1000
m=2
w=2*pi*f ; % Omega
Eo= 8.854187817*10^12; %vaccum permitivity of air
y=(1+1i)*sqrt(pi*f*Eo*m*segma); % definning gamma
a=real(y)% definning alpha
b=imag(y);% defining beta
s=1/a;%skin depth
n=(1+1i)/segma*s;%characteristic impedance
vp=w*s; % phase velocity
lambda= 2*pi*s; % wavelength
t=0:1:100;                           % Time for analysis
z=0:1:100;                           % Range of Space under analysis
Ex=exp(-z*a)*cos(w*t-z*a); % assuming one component in the x-direction  propagating in the +z direction . Also we have assumed E+=1
Hy=Ex/n; % Assuming one component in the y-direction 
subplot(2,1,1)
plot(z,Ex,'g');
xlabel('z(metres)');
ylabel('Ex(E)');
title('Plane wave propagation in free space medium');
subplot(2,1,2)
plot(z,Hy,'r');
xlabel('z(metres)');
ylabel('Hy(H)');
您的代码:

Ex=exp(-z*a)*cos(w*t-z*a)

exp(-z*a)
给出一个1×101矩阵,而
cos(w*t-z*a)
给出另一个1×101矩阵。如果需要,您需要在
*
之前添加

因此,解决办法是:

Ex=exp(-z*a)。*cos(w*t-z*a)


谢谢,但我面临一个新问题。plot函数忽略了虚部,我不需要matlab来忽略它们。@ahmed我不确定你希望你的图形是什么样子,但是试试这个
plot(z,real(Hy),'r',z,imag(Hy),'r')。非常感谢,绘制时的磁场(H)必须与电场(E)不同步,因为虚部包含字符。阻抗。当matlab忽略imag时。部分它们彼此同步出现。您提供的解决方案将H绘制为两条线,这是不正确的。感谢you@ahmed我还不清楚你的阴谋应该是什么样子。我不熟悉你的申请。你会对H的虚部做什么?你把它和真实的部分相加/相乘吗?艾哈迈德:如果你面临一个新问题,问一个新问题。关于SO的问题旨在解决一个问题,而不是针对您在开发代码时遇到的所有问题的开放式讨论。嗨@ahmed,我只是想知道我是否解决了您的问题。如果我有,我可以请你接受答案,因为这将结束你的问题,以及给我学分?非常感谢。