MATLAB:绘制三维偏振光动画

基础

代码

基础

偏振光波包括线偏振、圆偏振、椭圆偏振几个方向,其中线偏振的电场公式为:

E⃗1=e⃗1E1ei(k⃗⋅r⃗−wt)\vec E_1=\vec e_1E_1e^{i(\vec k\cdot \vec r-wt)}E1​=e1​E1​ei(k⋅r−wt)

两个线偏振可以合成圆偏振和椭圆偏振,其区别在于相位和幅度。

将公式做变形处理,取实部:

E⃗1=e⃗1E10cos(k⃗⋅r⃗−wt+φ1)\vec E_1=\vec e_1E_{10}cos(\vec k\cdot \vec r-wt+\varphi_1)E1​=e1​E10​cos(k⋅r−wt+φ1​)

E⃗2=e⃗2E20cos(k⃗⋅r⃗−wt+φ2)\vec E_2=\vec e_2E_{20}cos(\vec k\cdot \vec r-wt+\varphi_2)E2​=e2​E20​cos(k⋅r−wt+φ2​)

代码

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

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

f = 3*1e8; %电磁波的频率,单位Hz

w = 2*pi*f;

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

pha=pi/2; %相位差

z=0:0.01:5; %假设传播方向沿+z正方向

i=1;

fmat=moviein(10000); %建立一个10000帧的动画

for t=0:0.05:2

Ex=cos(2*pi*t-k*z); %计算x方向上t时刻,z平面的电场振幅

Ey=cos(2*pi*t-k*z+pha); %计算y方向上t时刻,z平面的电场振幅,

h=figure;set(h,'Visible','off');%设置不弹窗,避免和movie重复了

plot3(Ex,Ey,z); %画3维图

xlabel('Ex') %x,y,z坐标名

ylabel('Ey')

zlabel('Z')

title('圆极化波传播','fontsize',14)

%图像命名

hold on

grid on %格点

hold on

quiver3(0,0,0,Ex(1),Ey(1),z(1)); %矢量箭头

hold off

fmat(:,i)=getframe; %抓取图像放入fmat

i=i+1;

end

h=figure(1);

set(h,'Visible','on');

movie(fmat,1,7); %将fmat以每秒7帧的速度播放一遍

此处建立的是动画,有许多不足的地方,例如:

fmat=moviein(10000); %建立一个10000帧的动画

提前开辟一个足够大的空间不如一边生成图片一边开辟

所以稍加改动重新设计了一个生成gif的程序

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

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

f = 3*1e8; %电磁波的频率,单位Hz

w = 2*pi*f;

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

pha=1.2; %相位差

z=0:0.01:5; %假设传播方向沿+z正方向

%i=1;

pic_num=1; %帧数

for t=0:0.05:5

Ex=cos(2*pi*t-k*z); %计算x方向上t时刻,z平面的电场振幅

Ey=2*cos(2*pi*t-k*z+pha); %计算y方向上t时刻,z平面的电场振幅,

plot3(Ex,Ey,z); %画3维图

xlabel('Ex') %x,y,z坐标名

ylabel('Ey')

zlabel('Z')

title('圆极化波传播','fontsize',14) %图像命名

hold on

grid on %格点

hold on

quiver3(0,0,0,Ex(1),Ey(1),z(1)); %矢量箭头

hold off

F=getframe; %抓取当前图像

I=frame2im(F);

[I,map]=rgb2ind(I,256);%因gif不支持三维数据,所以应调用 rgb2ind,将rgb图像转为关联256种色彩的索引图像

if t==0

imwrite(I,map,'test.gif','gif'); %创建一个.gif文件,将索引图像数组和其关联的颜色图写入

else

imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.01);%将多个图像并入第一个,帧间加入0.01s的延时

end

pic_num=pic_num+1;

end

pic_num是gif的帧数,每保存一次图片pic_num+1

matlab 画偏振态,MATLAB:绘制三维偏振光动画相关推荐

  1. matlab 画偏振态,MATLAB模拟偏振.doc

    MATLAB模拟偏振 一.题目要求: 假设一波长为632nm的左旋圆偏振光垂直穿过半波片(厚度2.5mm),试计算输出光的偏振态.并用三维动画显示E穿透波片的演变过程. 如果入射光偏振态为线偏振,且振 ...

  2. matlab 画偏振态,光的偏振态分析MATLAB分析

    光的偏振态的仿真 一.课程设计目的 通过对两相互垂直偏振态的合成 1.掌握圆偏振.椭圆偏振及线偏振的概念及基本特性: 2.掌握偏振态的分析方法. 二.任务与要求 对两相互垂直偏振态的合成进行计算,绘出 ...

  3. plotcylinder matlab,Matlab在任意两点之间绘制三维圆柱

    Matlab在任意两点之间绘制三维圆柱 Matlab在任意两点之间绘制三维圆柱 此函数可能存在一些不足,请多多指教! function plotcylinder(u1,u2,color_a,r) L= ...

  4. matlab绘图(三)绘制三维图像

    目录 一.绘制三维曲线 二.绘制三维曲面 1.meshgrid函数 2.mesh和surf函数 一.绘制三维曲线 1.最基本的绘制三维曲线的函数-plot3 plot3(x1,y1,z1,选项1,x2 ...

  5. matlab实验7绘图操作绘制三维曲线,上机习题6 MATLAB7.0三维绘图

    matlab三维绘图经典 实验六 MATLAB7.0三维绘图 实验目的: ① 掌握绘制三维图能形的方法: ② 掌握图形修饰处理方法: ③ 知道图像处理方法,了解动画制作方法. 实验要求:给出程序和实验 ...

  6. matlab画p轨道,matlab绘制原子轨道图.pdf

    matlab绘制原子轨道图 课程论文 结构化学 2012 年4 月 course work structural chemistry April ,2012 球谐函数,原子轨道,电子云空间分布等值线图 ...

  7. matlab实验7绘图操作绘制三维曲线,matlab上机习题6 MATLAB7.0三维绘图

    实验六MATLAB7.0三维绘图实验目的: ①掌握绘制三维图能形的方法: ②掌握图形修饰处理方法: ③知道图像处理方法,了解动画制作方法. 实验要求:给出程序和实验结果. 实验内容: 一.绘制三维曲线 ...

  8. 怎样用MATLAB画二次函数曲线,matlab画二次函数图像

    [8 70 118 100 9 0 5]; 以上是每一个 X 和 Y 对应的坐标,请问如何编程能够绘制平滑曲线,这个图形就像二次函数一样的 如果要在图中绘制一条直线加上 y=...... MATLAB ...

  9. 用matlab画干涉条纹图,matlab干涉条纹处理

    基于matlab的等倾干涉实 验仿真黄强煌 2017.12.25 目录 Cont... [5] 符运良. MATLAB 在光学教学中的应用 . 华南热带农业大学学报, [J] 2004, (3 : 1 ...

最新文章

  1. linux mysql统计次数_MySQL统计函数记录
  2. tableau可视化数据分析60讲(二十二)-tableau常见面试题目
  3. 企业架构规划及服务器优化参数
  4. MessageQueue的使用方法(二)
  5. vue 过滤器 filter
  6. Eclipse设置Android Logcat输出字体大小
  7. 自己调用NTDLL函数
  8. C++静态库和动态库用法
  9. 嵌入式c语言 c语言_C和嵌入式C有什么区别?
  10. 高通骁龙888开始被Linux内核5.12版正式支持
  11. 各种工业以太网技术浅析
  12. 手机自动休眠与距离感应器失效的问题
  13. 特斯拉充电电流设置多大_特斯拉满电状态517公里,实际使用500公里。三种充电方式比较...
  14. 常见的系统漏洞安全扫描修复总结归纳
  15. html5 打字机效果,逼真的js打字机效果插件
  16. 如何做一名优秀的程序员?
  17. 电脑android模拟器哪个好用,安卓模拟器哪个好用
  18. 学习JavaScript这一篇就够了
  19. 华为新平板以美好体验定义青春
  20. 零基础转行,你要不要去编程培训班?

热门文章

  1. “双减+大龄”:35+教培程序员即将失业的感受
  2. MS-DOS信息英汉对照 计算机英语强化
  3. 调试JavaScript/VB Script脚本程序(Wscript篇)
  4. android 除法运算保留小数点
  5. 程序员干私活搞副业,个税问题搞清楚没?今年到手的2000明年还是2000吗?
  6. Koolshare端口转发
  7. 语音转文字怎么设置在线转换的操作
  8. 网上书城原型界面样式编写(1)
  9. 信息管理导论川大667 | 第二章核心知识点
  10. Excel中金额小写转大写,职场小技能,值得学习