这个matlab程序无法运行,请教高手指点。
rectwavestrct1(22.86,10.16,6,1,9.84*10^9,0.03); %main
function rectwavestrct1(ao,bo,d,H0,f,t)
%画矩形波导场结构 所有计算单位为米 输入为毫米
%f l0 工作频率/波长
%lg 波导波长 %lc TE10模截止波长
%a b 波导尺寸 %c 传输方向 这里取为波导波长
%d 采样精度 %t t时刻的场结构图
a=ao/1000;
b=bo/1000;
lc=2*a; %TE10截止频率
l0=3*10^8/f;
u=4*pi*10^(-7);
if(l0>lc)
return;
else
clf;
lg=l0/((1-(l0/lc)^2)^0.5);
c=lg;
B=2*pi/lg;
w=B/(3*10^8);
x=0:a/d:a;
y=0:b/d:b;
z=0:c/d:c;
[x1,y1,z1]=meshgrid(x,y,z);
%mesh(x1,y1,z1);
hx=-B.*a.*H0.*sin(pi./a.*x1).*sin(w*t-B.*z1)./pi;
hz=H0.*cos(pi./a.*x1).*cos(w*t-z1.*B);
hy=zeros(size(y1));
quiver3(z1,x1,y1,hz,hx,hy, ‘b’);
hold on;
x2=x1-0.001;
y2=y1-0.001;
z2=z1-0.001;
ex=zeros(size(x2));
ey=w.*u.*a.*H0.*sin(pi./a.*x2).*sin(w*t-B.*z2)./pi;
ez=zeros(size(z2));
quiver3(z2,x2,y2,ez,ex,ey, ‘r’);
xlabel(‘传输方向’);
ylabel(‘波导宽边a’);
zlabel(‘波导窄边b’);
hold off;
end