垂直极化波由空气(z<0)斜入射理想导体(z>0)平面(z=0,媒质分界面位于xoy面),电场初始振幅为1V/m,若入射角为45度。请给出绘制xoz面合成电场幅度图和合成磁场矢量图的matlab代码
时间: 2024-02-06 21:12:56 浏览: 66
以下是绘制xoz面合成电场幅度图的MATLAB代码,其中假设垂直极化波沿着x方向传播:
```matlab
% 假设垂直极化波沿着x方向传播
theta = pi/4; % 入射角为45度
k = 2*pi; % 波矢量
E0 = 1; % 电场初始振幅
% 定义计算区域
x = linspace(-1, 1, 101);
z = linspace(0, 1, 101);
[X, Z] = meshgrid(x, z);
% 计算电场
E = E0 * exp(1i * k * X * sin(theta)) .* exp(-1i * k * Z * cos(theta));
% 绘制电场幅度图
figure;
plotxoz = surf(X, zeros(size(X)), Z, abs(E));
set(plotxoz, 'LineStyle', 'none');
xlabel('x');
zlabel('z');
title('合成电场幅度图');
```
以下是绘制xoz面合成磁场矢量图的MATLAB代码,其中假设垂直极化波沿着x方向传播:
```matlab
% 假设垂直极化波沿着x方向传播
theta = pi/4; % 入射角为45度
k = 2*pi; % 波矢量
E0 = 1; % 电场初始振幅
% 定义计算区域
x = linspace(-1, 1, 101);
z = linspace(0, 1, 101);
[X, Z] = meshgrid(x, z);
% 计算磁场
H = (1/(1i * k)) * exp(1i * k * X * sin(theta)) .* exp(-1i * k * Z * cos(theta));
% 绘制磁场矢量图
figure;
plotxoz = quiver(X, zeros(size(X)), Z, real(H), zeros(size(H)), imag(H));
set(plotxoz, 'MaxHeadSize', 0.5);
xlabel('x');
zlabel('z');
title('合成磁场矢量图');
```
阅读全文