MATLAB演示均匀平面电磁波的垂直入射(向理想导体的垂直入射,向理想介质的垂直入射)

向理想导体垂直入射

黑色为入射波

绿色为反射波

红色为入射波与反射波的叠加

注释不一定写对了,请谨慎观看

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


向理想导体垂直入射

粗黑色为入射波

细黑色为透射波

蓝色为反射波

红色为入射波与反射波的叠加

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值