电磁波的传播实验

一、均匀平面电磁波的传播:

1.代码:

%本程序用来模拟平面电磁波在空间中的传播

%假设电磁波沿着X轴正向传播,电场具有Z方向的分量Ez,磁场具有Y方向上的分量Hy

%两个参数的变化对电磁场分量值的影响产生明显改变,将时间的单位设为纳秒

%反映电磁场性质的其他参数均设为常数,即自由空间中的值

clear

close all

u0=4*pi*1e-7;          %自由空间中的磁导率

e0=1e-9/(36*pi);       %自由空间中的电介质常数

Z0=(u0/e0)^0.5;        %自由空间中的波阻抗

f=1e8;                 %电磁波的频率

w=2*pi*f;             

k=w*(u0*e0)^0.5;       %波数

phi_E=0;               %初始相位设为0

phi_H=0;

EE=20;                  %电场幅度

HH=EE/Z0;

x=0:0.1:20;            %传播方向上的采样点

m0=zeros(size(x));

gifname='mag_motion.gif';

figure

for t=0:1:100           %为了消除波数与频率之间的数量级带来的影响,时间单位为ns

    Ez=EE*cos(k*x-w*t*1e-9+phi_E);  %电场强度值

    Hy=HH*cos(k*x-w*t*1e-9+phi_H);  %磁场强度值

    

    plot3(x,m0,Ez,'b','LineWidth',2);  %绘制电场传播曲线

    hold on

    plot3(x,Hy,m0,'r','LineWidth',2);  %绘制磁场传播曲线

    hold off

    xlabel('传播方向')

    ylabel('磁场Hy')

    zlabel('电场Ez') 

    title(['平面电磁波传播示意图','t=',num2str(t),'ns'],'fontsize',14)

    set(gca,'fontsize',12)

    drawnow

    frame=getframe(1);%获取当前图像

    im=frame2im(frame);

    [imind,cm]=rgb2ind(im,500);%格式转换

    if t==0;

        imwrite(imind,cm,gifname,'gif');%创建一个gif文件

    else

        imwrite(imind,cm,gifname,'gif','WriteMode','append','DelayTime',0.1);

        %向gif文件中添加一张图片

    end

%  end

end

2.现象:
在这里插入图片描述

二、电磁波在海水中的传播(带衰减)

%本程序用来模拟平面电磁波在空间中的传播

%假设电磁波沿着X轴正向传播,电场具有Z方向的分量Ez,磁场具有Y方向上的分量Hy

%由于程序中的电场分量与磁场分量均与两个参数-时间和坐标有关,因此为了使

%两个参数的变化对电磁场分量值的影响产生明显改变,将时间的单位设为纳秒

%反映电磁场性质的其他参数均设为常数,即自由空间中的值

clear

close all

u0=4*pi*1e-7;          %自由空间中的磁导率

e0=80*1e-9/(36*pi);       %自由空间中的电介质常数

Z0=(u0/e0)^0.5;        %自由空间中的波阻抗

%f=1e8;                 %电磁波的频率
f = 5*1e6;

w=2*pi*f;             

k=w*(u0*e0)^0.5;       %波数

phi_E=0;               %初始相位设为0

phi_H=0;

EE=20;                  %电场幅度

HH=EE/Z0;

z=0:0.1:20;            %传播方向上的采样点

m0=zeros(size(z));

gifname='mag_motion.gif';

figure

for t=0:1:100           %为了消除波数与频率之间的数量级带来的影响,时间单位为ns

    Ex=EE*cos(k*z-w*t*1e-9+phi_E).*exp(-0.0889*z);  %电场强度值

    Hy=HH/pi*cos(k*z-w*t*1e-9+phi_H-pi/4).*exp(-0.0889*z);  %磁场强度值

    

    plot3(z,m0,Ex,'b','LineWidth',2);  %绘制电场传播曲线

    hold on

    plot3(z,Hy,m0,'r','LineWidth',2);  %绘制磁场传播曲线

    hold off

    xlabel('传播方向')

    ylabel('磁场Hy')

    zlabel('电场Ez') 

    title(['平面电磁波传播示意图','t=',num2str(t),'ns'],'fontsize',14)

    set(gca,'fontsize',12)

    drawnow

    frame=getframe(1);%获取当前图像

    im=frame2im(frame);

    [imind,cm]=rgb2ind(im,500);%格式转换

    if t==0;

        imwrite(imind,cm,gifname,'gif');%创建一个gif文件

    else

        imwrite(imind,cm,gifname,'gif','WriteMode','append','DelayTime',0.1);

        %向gif文件中添加一张图片

    end

%  end

end

2.现象:
在这里插入图片描述
3.在海水中传播的平面图:

%作者:赵伟   日期:2023年12月9日
u0=4*pi*1e-7;          %自由空间中的磁导率
e0=80*1e-9/(36*pi);       %自由空间中的电介质常数
f = 5*1e6;
w=2*pi*f;             
k=w*(u0*e0)^0.5;       %波数
phi_E=0;               %初始相位设为0
phi_H=0;
EE=20;                  %电场幅度
HH=EE/pi;
z = linspace(0,100,1000);           %传播方向上的采样点
Ex=cos(k*z-w+phi_E).*exp(-0.0889*z);
%Hy=HH*cos(k*z-w+phi_H).*exp(-0.0889*z);
plot(z,Ex);
 xlabel('z');
ylabel('电场Ex');

4.现象:
在这里插入图片描述

二、电磁波对理想介质的垂直入射:

1.代码:

   u1 = 4;                 %设置理想介质1的磁导率大小
    e1 = 9;                 %设置理想介质1的介电常数大小
    u2 = 9;                 %设置理想介质2的磁导率大小
    e2 = 4;                 %设置理想介质2的介电常数大小
    A=1;                    %设置入射电磁波振幅大小
    w = pi/10;              %设置入射电磁波角频率大小                                              
   
    yt1 = sqrt(u1/e1);      %根据公式η=(u/e)^0.5计算理想介质1的波阻抗η1
    yt2 = sqrt(u2/e2);      %根据公式η=(u/e)^0.5计算理想介质2的波阻抗η2
    k1 = sqrt(u1*e1)*w;     %根据公式k=(u*e)^0.5*w计算理想介质1的波数k1                                 
    k2 = sqrt(u2*e2)*w;     %根据公式k=(u*e)^0.5*w计算理想介质2的波数k2                               
    R = (yt2-yt1)/(yt2+yt1);%根据公式r=(2-n1)/(n2+n1)计算理想介质1到2的反射系数r                   
    T = 2*yt2/(yt2+yt1);    %根据公式t=2*n2/(n2+n1)计算理想介质1到2的透射系数t                
 
    n1=0;                   %用于入射波的数据点计数
    n2=0;                   %用于反射波和合成波的数据点计数
    n3=0;                   %用于透射波的数据点计数
%% 仿真图绘制
 
for t=1:500                                        %设置循环次数,即时间变量
%% 公式程序化
    
    z1 = -20:1/6:0;                                %设置z负轴坐标范围,即空间变量,z=0为理想介质分界面
    z2 =  0:1/6:20;                                %设置z正轴坐标范围,即空间变量,z=0为理想介质分界面
    Ei = A*cos(w*t-k1*z1+pi/5*2);                  %计算入射波
    Er = R*A*cos(w*t+k1*z1-pi/5*2);                %计算反射波
    Et = T*A*cos(w*t-k2*z2+pi/5*2);                %计算透射波
    Ez = Ei + Er;                                  %计算合成波
    
 %% 图像参考轴线设置 
   
   plot([-20,20],[0,0],'k','LineWidth',2);   %设置z轴参考轴线
   hold on
   plot([0,0],[-3,3],'k','LineWidth',2);     %设置x轴参考轴线
   hold on
   
 %% 电磁波传播图像绘制
    if t<length(z1)                  %判断平面波是否传播到理想介质分界面z=0
      if n1<length(z1)               %判断入射波是否垂直入射理想介质分界面
      n1=n1+1;                       %入射波的数据点计数加一
         for a=t:length(z1)          %模拟入射波的传播,将未传播到的地方置零
         Ei(a)=0; 
         end
      end
    end                                       
    plot(z1, Ei,'k','LineWidth',1);  %绘制入射波图像
     
    if t>length(z1)                  %%判断平面波是否传播到理想介质分界面z=0
      if n2<length(z1)               %判断反射波和合成波是否产生
      n2=n2+1;                       %反射波的数据点计数加一
         for b=1:length(z1)-n2       %模拟反射波和合成波的传播,将未传播到的地方置零
         Er(b)=0;
         Ez(b)=0;
         end
      end
    plot(z1, Er,'k','LineWidth',1);    %绘制反射波图像
    plot(z1, Ez,'k','LineWidth',2);    %绘制合成波图像
      if n3<length(z2)                 %判断透射波是否产生
      n3=n3+1;                         %透射波的数据点计数加一
         for c=t-length(z1):length(z2) %模拟透射波的传播,将未传播到的地方置零
         Et(c)=0; 
         end
      end                                     
    plot(z2, Et,'k','LineWidth',2);    %绘制透射波图像     
   end
     
     hold off;
     drawnow;                          %更新图像画面
end

2.现象:
在这里插入图片描述

三,电磁波对理想介质的斜入射:

%题目要求电场入射到xo平面
clear;
clc;
u0=4*pi*1e-7;           %自由空间中的磁导率
e0=1e-9/(36*pi);        %自由空间中的电介质常数
f=1e8;                  %电磁波的频率
w=2*pi*f;               
Ei=5*1.41;              %入射波幅度
R=0.052;                %反射系数
T=0.526;                %透射系数
Er=Ei*R;                %反射波幅值
Et=Ei*T;                %透射波幅值
k1=w*(u0*e0)^0.5;       %真空中(介质1)波数      
k2=k1*2;                %介质2波数            
gifname='E_view_40,0,0.gif';      %取图用
figure(1)         
for t=0:1:200            %为了消除波数与频率之间的数量级带来的影响,时间单位为ns   
    %入射波部分
    %===入射电场部分
    xei=-40:0.1:-1.5;              %入射电场采样范围及采样步长
    m1=zeros(size(xei));
    [yei,zei]=meshgrid(-40:0.1:-1.5,-40:0.1:-1.5);          %生成y,z取样数组网络
    Eyi=1.73*(1.73*yei+zei)+Ei*0.5*cos(w*t*1e-9-k1*0.5*(1.73*yei+zei));    %电场y方向上分量,来源教材公式6.8-22
    %时域分解来源于5.7-14,后面反射,折射亦同的相同
    %其中1.73*(1.73*yei+zei)相当于根号3y尖,为方向系数,是为了与画图函数plot3匹配而设置
    Ezi=-1*(1.73*yei+zei)+Ei*0.5*cos(w*t*1e-9-k1*0.5*(1.73*yei+zei));      %电场z方向上分量
    plot3(m1,Eyi,Ezi,'r','LineWidth',1);                    %绘制入射电场
    hold on
    %反射波部分
    %===反射电场部分
    xer=0:0.1:40;
    m2=zeros(size(xer));
    [yer,zer]=meshgrid(0:0.1:40,0:0.1:40);
    Eyr=1.73*(1.73*yer+zer)+Er*0.5*cos(k1*0.5*(1.73*yer+zer)-w*t*1e-9);
    Ezr=1*(1.73*yer+zer)-Er*0.5*cos(k1*0.5*(1.73*yer+zer)-w*t*1e-9);
    plot3(m2,Eyr,Ezr,'r','LineWidth',1);
    hold on
    %透射波部分
    %===透射电场部分
    xei=0.05:0.1:40;
    m3=zeros(size(xei));
    [yei,zei]=meshgrid(0.05:0.1:40,0.05:0.1:40);
    Eyt=1.73*(1.73*yei+3.61*zei)+Et*0.25*cos(k2*(1.73*yei+3.61*zei)-w*t*1e-9);
    Ezt=-3.61*(1.73*yei+3.61*zei)+Et*0.25*cos(k2*(1.73*yei+3.61*zei)-w*t*1e-9);
    plot3(m3,Eyt,Ezt,'r','LineWidth',1);
    hold on
    view([40,0,0]);               %从x轴方向上观察图形
    a=-40:1:40;                   %下列数行是为了生成xoy平面辅助观察
    b=a;
    [a,b]=meshgrid(a,b)
    c=a*t*0;
    surf(a,b,c);
    shading interp
    set(gca,'ZLim',[-40 40])
    alpha(0.6)
    h1=quiver3(0,0,0,40,0,0);           %下列数行生成矢量箭头指出各方向,辅助观察
    h2=quiver3(0,0,0,0,40,0);
    h3=quiver3(0,0,0,0,0,40);
    h4=quiver3(0,0,0,0,30,17.4);
    h5=quiver3(0,-30,17.4,0,33,-18.9);
    h6=quiver3(0,0,0,0,13.86,-28.84);
    text(36,0,0,'\leftarrow X');        %下列数行生成文字标签,便于观察和说明
    text(0,36,0,'\leftarrow Y');
    text(0,0,36,'\leftarrow Z');
    text(0,27,14,'\leftarrow   θr=60°');
    text(0,-2,2,'\rightarrow   θi=60°');
    text(0,13.36,-26.34,'\leftarrow   θt=30°');
    set(h1,'maxheadsize',0.5);            %控制箭头大小
    set(h2,'maxheadsize',0.5);
    set(h3,'maxheadsize',0.5);
    set(h4,'maxheadsize',0.5);
    set(h5,'maxheadsize',0.5);
    set(h6,'maxheadsize',0.5);
    hold on
    axis([-40,40,-40,40,-40,40]);         %划定图像显示范围
    grid on;
    hold off
    xlabel('x轴')
    ylabel('y轴')
    zlabel('z轴')
    title(['均匀平面波斜投射到不同介质分界面示意图','t=',num2str(t),'ns'],'fontsize',14)
    set(gca,'fontsize',12)
    drawnow
    frame=getframe(1);              %获取当前图像,生成gif图
    im=frame2im(frame);
    [imind,cm]=rgb2ind(im,500);
    if t==0
        imwrite(imind,cm,gifname,'gif');
    else
            imwrite(imind,cm,gifname,'gif','WriteMode','append','DelayTime',0.1);
    end
end

2.现象:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值