- %以下是电偶极子传输电波的matlab仿真代码,大家可以通过这段代码清楚地看到动态的电磁波辐射
- %振荡偶极子发射的电磁波的电场分量的传播(等值线)
- clear %清除变量,
- rm=2; %最大距离
- r=0.01:0.02:rm; %电场的距离向量
- th=linspace(0,2*pi,300); %电场的角度向量
- [R,TH]=meshgrid(r,th); %距离和角度矩阵
- [X,Y]=pol2cart(TH,R); %极坐标化为直角坐标
- eth=-3:0.3:3; %电场强度向量
- rh=0.5:0.1:rm; %磁场的距离向量
- phi=(0:10:350)*pi/180; %磁场的角度向量
- [RH,PHI]=meshgrid(rh,phi); %距离和角度矩阵
- [XH,YH]=pol2cart(PHI,RH); %极坐标化为直角坐标
- figure %创建图形窗口
- fs=16; %字体大小
- t=0; %初始时刻
- while 1 %无限循环
- if get(gcf,'CurrentCharacter')==char(27) break;end%按ESC键则退出循环
- Eth=cos(TH).*cos(2*pi*(t-R))./R; %计算电场强度
- contour(X,Y,Eth,eth,'r','LineWidth',2)%画等值线
- HPHI=cos(PHI).*cos(2*pi*(t-RH))./RH;%计算磁场强度
- L=HPHI>0; %取磁场强度大于零的逻辑值,
- hold on %保持属性
- plot(XH(L),YH(L),'x','MarkerSize',9)%正方向的磁场强度画叉
- plot(XH(~L),YH(~L),'.','MarkerSize',12)%负方向的磁场强度画点
- grid on %加网格
- axis equal %使坐标间隔相等
- xlabel('\itx/\lambda','FontSize',fs)%x标签
- ylabel('\ity/\lambda','FontSize',fs)%y标签
- title('振荡偶极子发射的电磁波的电场分量的传播','FontSize',fs)%标题
- drawnow %更新屏幕
- if t==0 pause,end %初始时暂停
- t=t+0.02; %下一时刻(与周期的比)
- hold off %关闭属性保持
- end %结束循环
|