matlab 椭圆偏振光矢量末端的三维轨迹进行仿真.docVIP

  • 104
  • 0
  • 约1.81千字
  • 约 6页
  • 2020-06-13 发布于湖北
  • 举报

matlab 椭圆偏振光矢量末端的三维轨迹进行仿真.doc

1 MATLAB 大作业 用MATLAB 对椭圆偏振光矢量末端的三维轨迹进行仿真。 要求: Ex=cos(wt+a1 Ey=cos(wt+a2 t 取一个半周期左右 m=a1-a1 做出m=0, pi/2, -pi/2, pi/4, -pi/4 时的轨迹图;区别分左/右旋;并与理论作对比,对理论进行验证。 步骤: 1. 确定参数 X 轴:Ex=cos(100t+m Y 轴:Ey=cos(100t Z 轴:t ∵T=2×pi÷w ∴1.5T≈0.09s 因此取0=t+0.1 2. 程序与相应图形分析 m=0 时: ⑴程序 t=0:0.0004:0.1; x=cos(100*t; y=cos(100*t; plot3(x,y,t; ⑵仿真图如下 -1 1 ⑶图形分析 当m=0 时,Ex=Ey,和矢量末端的轨迹在ExEy 平面上的投影是经过坐标原点的直线,和图 形一致。 m=pi/2 时: ⑴程序 t=0:0.0002:0.1; x=cos(100*t+pi/2; y=cos(100*t; plot3(x,y,t; ⑵仿真图如下 -1 1 ⑶图形分析 当m=pi/2 时,sinm0,椭圆偏振光为左旋,即逆时针方向螺旋向上,和图形一致。 m=-pi/2 时: ⑴程序 t=0:0.0002:0.1; x=cos(100*t-pi/2; y=cos(100*t; plot3(x,y,t; ⑵仿真图如下 -1 1 ⑶图形分析 当m=-pi/2 时,sinm0,椭圆偏振光为右旋,即顺时针方向螺旋向上,和图形一致。 m=pi/4 时: ⑴程序 t=0:0.0004:0.1; x=cos(100*t+pi/4; y=cos(100*t; plot3(x,y,t; ⑵仿真图如下 -1 1 ⑶图形分析 当m=pi/4 时,sinm0,椭圆偏振光为左旋,即逆时针方向螺旋向上,和图形一致。 m=-pi/4 时: ⑴程序 t=0:0.0004:0.1; x=cos(100*t-pi/4; y=cos(100*t; plot3(x,y,t; ⑵仿真图如下 0.1 0.08 0.06 0.04 0.02 0 1 0.5 0 -0.5 -1 -1 -0.5 0.5 0 1 ⑶图形分析 当m=-pi/4 时,sinm0,椭圆偏振光为右旋,即顺时针方向螺旋向上,和图形一致。 3、总体程序 、 画图 动作 4、遇到的问题 (1细节决定成败 在以对象方式创建动画的时候: case 0 t=0:0.0002:0.1; plot3(cos(100*t+m,cos(100*t,t; h=line(1,1,0,color,red,marker,.,markersize,20,erasemode, xor; for k=0:0.0002:0.1; set(h,xdata,cos(100*k+m,ydata,cos(100*k,zdata,k drawnow 其中 markersize 的输入,写成了marksize ,导致程序无法运行,最后和课本重 新对照了一遍, 发现了这个简单但又致命的错误, 并进行了改正。 细节决定成败, 在这次作业中,每一步的程序都要仔细对照,琢磨,避免语法错误。 (2 书写格式的不同,结果不同 case m==(pi/2|(-pi/2 t=0:0.0002:0.1; plot3(cos(100*t+m,cos(100*t,t; h=line(0,1,0,colorred,marker,.,markersize,20,erasemode, xor; for k=0:0.0002:0.1; set(h,xdata,cos(100*k+m,ydata,cos(100*k,zdata,k drawnow end 其中 m==(pi/2|(-pi/2 这样的写法无法执行,改为case {pi/2 -pi/2} 就可以执行,逻辑表达式的错误书写 (3)回调函数的设置 对hObject, eventdata, handles 三个参数的说明 (4)下拉菜单的应用 刚开始的时候,是每个情况的时候是单独画图,经过别人的指点后,应用了下拉 菜单的格式,是程序简化,也减少了界面。

文档评论(0)

1亿VIP精品文档

相关文档