www.pudn.com > my_mag.zip > my_mag.m, change:2013-11-22,size:2406b


% 仿真一维均匀平面电磁波在自由空间(理想介质)中的传播; 
% 假设传播方向沿 +x 轴,即均匀平面电磁波的波阵面与yOz平面平行。 
% 电场只有 Ey 分量;磁场只有 Hz 分量。 
 
clc;clear;close all; 
 
% 设定程序中所用参数 
e0 = 1e-9/(36*pi);          %真空中的介电常数 
u0 = pi*4e-7;               %真空的磁导率 
f = 3e8;                    %电磁波的频率 
w = 2*pi*f;                 %角频率 
beta = w*sqrt(u0*e0);       %相位常数 
Z0 = sqrt(u0/e0);           %理想介质的波阻抗 
phye = pi/4;                % Ey 的初始相位。 
phyh = phye;                %理想介质中,巨晕平面波的电场强度和磁场强度在时间上同相。 
Ey_m = 50;                  % Ey 的幅值 
Hz_m = Ey_m/Z0;             % Hz 的幅值 
 
x = linspace(0,6,500);         % x 轴 
t = 0;                          %设置 t 的初值,t的单位是 ns 
a_zero = zeros(1,length(x));    %全零矩阵 
 
%电场 Ey 和磁场 Hz 的表达式 
Ey = Ey_m*cos( w*t*1e-9 - beta*x + phye );   % Ey 的表达式 
Hz = Hz_m*cos( w*t*1e-9 - beta*x + phyh );   % Hz 的表达式 
 
 
%% 作图显示 t=0 时刻的一维均匀平面电磁波。 
figure; 
% 将电场和磁场合成,显示统一的电磁场 
subplot(1,2,1); 
plot3(x,Ey,Hz); 
xlabel('x 轴'); 
ylabel('电场 Ey'); 
zlabel('磁场 Hz'); 
title('t = 0时刻,一维均匀平面电磁波'); 
% 将电场和磁场分开显示 
subplot(1,2,2); 
plot3(x,Ey,a_zero,'r');  %电场 Ey,红色表示 
hold on; 
plot3(x,a_zero,Hz,'b');  %磁场 Hz,蓝色表示 
xlabel('x 轴'); 
ylabel('电场 Ey'); 
zlabel('磁场 Hz'); 
title('t = 0时刻,电场Ey和磁场Hz的波形'); 
hold off; 
 
 
%% 动态显示一维均匀平面电磁波沿 +x 轴方向的传播 
figure; 
m = 1;  %用来作为动画每一帧的变量 
for t = 1:0.2:200 
    Ey = Ey_m*cos( w*t*1e-9 - beta*x + phye );   % Ey 的表达式 
    % t的单位是ns,否则 w*t 太大,观察不到变化。 
    
    Hz = Hz_m*cos( w*t*1e-9 - beta*x + phyh );   % Hz 的表达式 
     
    % 作图显示 
    % 将电场和磁场合成,显示统一的电磁场 
    subplot(1,2,1); 
    plot3(x,Ey,Hz); 
    xlabel('x 轴'); 
    ylabel('电场 Ey'); 
    zlabel('磁场 Hz'); 
    title('动态显示,一维均匀平面电磁波的传播'); 
    % 将电场和磁场分开显示 
    subplot(1,2,2); 
    plot3(x,Ey,a_zero,'r'); 
    hold on; 
    plot3(x,a_zero,Hz,'b'); 
    hold off; 
    xlabel('x 轴'); 
    ylabel('电场 Ey'); 
    zlabel('磁场 Hz'); 
    title('动态显示,电场Ey和磁场Hz的传播'); 
         
    F(m)=getframe;  %创造并保存动画的每一帧 
    m = m+1;        %表示每一帧的变量,加1。使得下一次的结果存在下一帧。 
end 
movie(F,10);        % 显示动画