利用matlab实现光波(电磁波)的仿真

根据电磁波余弦曲线公式

用matlab进行三维做图,做出电磁波仿真。

%Electromagnetic wave simulation
%假定电磁波沿x轴方向传播,电磁波在y轴方向和z轴方向有分量
Ey_m=6;  %电磁波y分量幅值
Ez_m=8;  %电磁波z分量幅值
E=(Ey_m^2+Ez_m^2)^0.5;   %求出电磁波的总幅值
w=10;  %电磁波的角速度为10
a_1=pi/4;  %y分量电磁波的初相位
a_2=pi/2;  %z分量电磁波的初相位
%a_1和a_2的大小差值,决定了相位差
%位相差与分量的幅值进一步决定了电磁波为何种程度的极化电磁波(线极化,圆极化,椭圆极化)
x=0:0.01:3;  %设置沿x轴方向传播的点位
m_0=zeros(size(x));  %m_0为与x矢量同尺寸的0坐标参考点位

figure
for t=0:200
    Ey=Ey_m*cos(w*x+w*t*1e-2+a_1)  %沿x轴方向传播的波,在y-x平面上的波函数
    Ez=Ez_m*cos(w*x+w*t*1e-2+a_2)  %沿x轴方向传播的波,在z-x平面上的波函数
    
    plot3(x,m_0,m_0,'r','linewidth',2.5)  %绘制参考轴线
    hold on
    plot3(x,Ey,m_0,'b','linewidth',1.0)  %绘制y-x平面的波形图
    hold on
    plot3(x,m_0,Ez,'k','linewidth',1.0)  %绘制z-x平面的波形图
    hold on
    plot3(x,Ey,Ez,'g','linewidth',0.8)  %绘制出空间三维的波形图
    hold off
    
    title('光波(电磁波)空间传播图')
    xlabel('光波传播方向x')
    ylabel('光波电矢量分量Ey')
    zlabel('光波磁矢量分量Bz')
    
    drawnow
end




 

  • 11
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值