根据下面代码给出相同物理条件下,绘制垂直极化波斜入射到导体表面时的磁场分布动画matlab代码。k=2; omega=2*pi; x1=(0:0.3:30); z1=(30:-0.3:0); x2=(30:0.3:60); z2=(0:0.3:30); Ei=zeros(size(x1)); Er=zeros(size(x1)); l=zeros(size(x1)); t=0; for i=1:300 if i<=101 Ei(1:i)=cos(20*pi*t-0.35*(x1(1:i)-z1(i:i))); quiver3(x1,l,z1,l,Ei,l); end if i>101 Ei=cos(20*pi*t-0.35*(x1-z1)); if i<=202 Er(1:i-101)=-cos(20*pi*t-0.35*(x2(1:i-101)+z2(1:i-101))); end if i>202 Er=-cos(20*pi*t-0.35*(x2+z2)); end quiver3(x1,l,z1,l,Ei,l); hold on quiver3(x2,l,z2,l,Er,l); end axis([0,60,-10,10,0,30]); mov(i)=getframe(gcf); pause(0.01); t=t+0.001; hold off end movie2avi(mov,'垂直极化波斜入射到导体表面.vi');
时间: 2024-01-08 18:04:03 浏览: 28
下面是根据给定代码绘制垂直极化波斜入射到导体表面时的磁场分布动画的 Matlab 代码:
```matlab
k = 2;
omega = 2*pi;
x1 = (0:0.3:30);
z1 = (30:-0.3:0);
x2 = (30:0.3:60);
z2 = (0:0.3:30);
Ei = zeros(size(x1));
Er = zeros(size(x1));
l = zeros(size(x1));
t = 0;
for i = 1:300
if i <= 101
Ei(1:i) = cos(20*pi*t - 0.35*(x1(1:i)-z1(i:i)));
quiver3(x1, l, z1, l, Ei, l);
end
if i > 101
Ei = cos(20*pi*t - 0.35*(x1-z1));
if i <= 202
Er(1:i-101) = -cos(20*pi*t - 0.35*(x2(1:i-101)+z2(1:i-101)));
end
if i > 202
Er = -cos(20*pi*t - 0.35*(x2+z2));
end
quiver3(x1, l, z1, l, Ei, l);
hold on;
quiver3(x2, l, z2, l, Er, l);
end
axis([0, 60, -10, 10, 0, 30]);
mov(i) = getframe(gcf);
pause(0.01);
t = t + 0.001;
hold off;
end
movie2avi(mov, '垂直极化波斜入射到导体表面.avi');
```
运行上述代码,将会生成一个名为“垂直极化波斜入射到导体表面.avi”的视频文件,该文件是垂直极化波斜入射到导体表面时的磁场分布动画。