📄 field_distributon6_2.m
字号:
clear all;
wl=1;
k=2*pi/wl;
c=3*1e8;
a=2*wl;
x=[-1:0.01:1]*a;
dx=x(2)-x(1);
y=[-1:0.01:1]*a;
dy=y(2)-y(1);
lx=length(x);
ly=lx;
zf=2*(2*a)^2/wl;
J=1;
mu0=4*pi*1e-7;
x1=[-2:0.05:2]*a;
dxx=x1(2)-x1(1);
y1=[-2:0.05:2]*a;
dyy=y1(2)-y1(1);
lxx=length(x1);
lyy=length(y1);
[xx,yy]=meshgrid(x1,y1);
A=zeros(lyy,lxx);
R=zeros(lyy,lxx);
A2=zeros(lyy,lxx);
R2=zeros(lyy,lxx);
z1=zf/10;%zf/10;zf/2;zf;2*zf;
z2=z1*1.0001;
dzz=z2-z1;
for m=1:lx
for n=1:ly
if sqrt(x(m)^2+y(n)^2)<a+0.0001
R=sqrt((x(m)-xx).^2+(y(n)-yy).^2+z1^2);
A=A+J*exp(-j*k*R)./R;
R2=sqrt((x(m)-xx).^2+(y(n)-yy).^2+z2^2);
A2=A2+J*exp(-j*k*R2)./R2;
end
end
end
Ex=(j*c/k*(A(:,3:lxx)+A(:,1:lxx-2)-2*A(:,2:lxx-1))/(dxx)^2+k^2*A(:,2:lxx-1))*0.01^2;
figure(1);
contourf(yy(:,2:lxx-1),xx(:,2:lxx-1),abs(Ex));
xlabel('y');
ylabel('x');
title('Ex');
axis equal;
axis tight;
Ey=j*c/k*((A(2:lyy,2:lxx)-A(2:lyy,1:lxx-1))/dxx-(A(1:lyy-1,2:lxx)-A(1:lyy-1,1:lxx-1))/dxx)/dyy*dx*dy;
figure(2);
contourf(yy(1:lyy-1,1:lxx-1)+dyy/2,xx(1:lyy-1,1:lxx-1)+dxx/2,abs(Ey));
xlabel('y');
ylabel('x');
title('Ey');
axis equal;
axis tight;
Ez=j*c/k*((A2(:,2:lxx)-A2(:,1:lxx-1))/dxx-(A(:,2:lxx)-A(:,1:lxx-1))/dxx)/dzz*dx*dy;
figure(3);
contourf(yy(:,1:lxx-1),xx(:,1:lxx-1)+dxx/2,abs(Ez));
xlabel('y');
ylabel('x');
title('Ez');
axis equal;
axis tight;
figure(4);
plot3(yy(:,2:lxx-1),xx(:,2:lxx-1),abs(Ex));
xlabel('y');
ylabel('x');
title('Ex');
grid;box;
figure(5);
plot3(yy(1:lyy-1,1:lxx-1)+dyy/2,xx(1:lyy-1,1:lxx-1)+dxx/2,abs(Ey));
xlabel('y');
ylabel('x');
title('Ey');
grid;box;
figure(6);
plot3(yy(:,1:lxx-1),xx(:,1:lxx-1)+dxx/2,abs(Ez));
xlabel('y');
ylabel('x');
title('Ez');
grid;box;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -