Matlab数字衍射光学实验讲义(一)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
2015 级光电工程专业综合实验-信息光学专题实验
imagesc(z) figure(2) mesh(z) %%---------------------matlab 代码-------------------------
改变参数 a,b 的取值,观察模拟结果变化。 4)第一类贝塞尔函数 besselj(v,z)
1. 实验目的:
掌握基本的 Matlab 编程语言,了解其编程特点;模拟几种常用函数,了解其编 程过程及图像显示命令函数,掌握 Matlab 画图方法;通过设计制作一系列光学 研究物体掌握其编程方法; 掌握光波的 matlab 编程原理及方法, 初步了解 Matlab
2
2015 级光电工程专业综合实验-信息光学专题实验
4

2015 级光电工程专业综合实验-信息光学专题实验
figure(4) surfl(x,y,z)%三维 %%---------------------matlab 代码-------------------------
改变变量 a,b 观察模拟图像变化。
x 2 x 3)高斯函数:一维高斯函数 Gauss exp a a
二维高斯函数: sinc
x y x y , sinc sinc ,a,b 为正数。 a b a b
2 2 x y x y x y Gauss , Gauss Gauss exp a b a b a b
二维 sinc 函数: sinc
x y x y , sinc sinc ,a,b 为正数。 a b a b
%%---------------------matlab 代码------------------------clear %清除内存 close all %关闭所有窗口 [x,y] = meshgrid(-2:.05:2, -2:.05:2); %设置二维网格 z=sinc(x).*sinc(y); %sinc 函数 figure(1) imshow(z) %二维灰度图 figure(2) imagesc(z) %二维彩色 figure(3) mesh(z)%三维
%%---------------------matlab 代码------------------------clear %清除内存 close all %关闭所有窗口 a=5;%常数 x=linspace(-5,5,100);%设置一维横坐标范围及网格 y1=exp(-pi.*(x/a).^2);%第一类贝塞尔函数,一阶 figure(1)% 图 1 b=2;%常数 y2=exp(-pi.*(x/b).^2);%第一类贝塞尔函数,一阶 figure(1)% 图 1 plot(x,y1,'r')%画函数 1 的曲线,‘r’代表图像颜色,红色 figure(2) % 图 2 plot(x,y2,'b') %画函数 2 的曲线,‘b’代表图像颜色,蓝色 %%--------------------------------------------------------
注意******,matlab 编程中的编码输入必须在英文输入法下,否则程序将不被 识别。 二.常用物体的 Matlab 模拟 1)单缝
%%%%%%%%%%%%------------------------------clear close all %%%%%%%%%%%---------------参数设定---------------L=2;%物体总长度(mm) M=100;%x 方向抽样点数 dx=L/M;%抽样间隔(mm) N=M;%y 方向抽样点数 w=10; % 单缝的宽度,单位像素个数 d=10;% 缝偏离中心位置 %%%%%%%%%%----------单缝-----------obj1=zeros(M,N);%赋值为 0 的一个二维矩阵,大小为 M*N; obj1(:,(N/2-w/2):N/2+w/2)=1.0; %缝宽范围内赋值为 1,缝处于中心位置 figure(1);
当中 a、b 为 1 时,
2 2 Gauss x, y exp ( x y )
%%---------------------matlab 代码------------------------clear %清除内存 close all %关闭所有窗口 a=1;b=1; [x,y] = meshgrid(-2:.05:2, -2:.05:2); %设置二维网格 z=exp(-pi.*((x/a).^2+(y/b).^2)); %高斯函数 figure(1)
3
2015 级光电工程专业综合实验-信息光学专题实验
%%%---------------------------------------------------------------改变变量 phi 观察曲线变化。 2)开根号:sqrt(x) ,
%%-------------------------clear %清除内存 close all %关闭所有窗口 x=linspace(0,2*pi,100);%设置横坐标范围及网格 y1=sqrt(x); %开根号 figure% 图 plot(x,y1,'r')%画函数 1 的曲线,‘r’代表图像颜色,红色 %%------------------------------------------------
2015 级光电工程专业综合实验-信息光学专题实验
实验注意事项(必读)
1. 没有弄清楚实验内容者,禁止接触实验仪器。 2. 注意激光安全。绝对不可用眼直视激光束,或借助有 聚光性的光学组件观察激光束,以免损伤眼睛。 3. 注意用电安全。He-Ne 激光器电源有高压输出,严禁 接触电源输出和激光头的输入端,避免触电。 4. 注意保持卫生。严禁用手或其他物品接触所有光学元 件(透镜、反射镜、分光镜等)的光学表面;特别是 在调整光路中,要避免手指碰到光学表面。 5. 光学支架上的调整螺丝, 只可微量调整。 过度的调整, 不仅损坏器材,且使防震功能大减。 6. 实验完成后,将实验所用仪器摆放整齐,清理一下卫 生。
实验过程中要切记以上注意事项。如 有违犯,将严重影响你的实验成绩!
1
2015 级光电工程专业综合实验-信息光学专题实验
Matlab 数字衍射光学实验一
计算机仿真过程是以仿真程序的运行来实现的。仿真程序运行时,首先要对 描述系统特性的模型设置一定的参数值, 并让模型中的某些变量在指定的范围内 变化,通过计算可以求得这种变量在不断变化的过程中,系统运动的具体情况及 结果。仿真程序在运行过程中具有以下多种功能: 1)计算机可以显示出系统运动时的整个过程和在这个过程中所产生的各种现象 和状态。具有观测方便,过程可控制等优点; 2)可减少系统外界条件对实验本身的限制,方便地设置不同的系统参数,便于 研究和发现系统运动的特性; 3)借助计算机的高速运算能力,可以反复改变输入的实验条件、系统参数,大 大提高实验效率。 因此. 计算机仿真具有良好的可控制性(参数可根据需要调整)、 无破坏性(不会因为设计上的不合理导致器件的损坏或事故的发生)、 可复现性(排 除多种随机因素的影响,如温度、湿度等)、易观察性(能够观察某些在实际实验 当中无法或者难以观察的现象和难以实现的测量,捕捉稍纵即逝的物理现象,可 以记录物理过程的每一个细节)和经济性(不需要贵重的仪器设备)等特点。 Matlab 是 MathWorks 公司于 1982 年推出的一套高性能的数值计算和可视化 软件。 它集数值分析、 矩阵运算、 信号处理和图形显示于一体, 构成了一个方便、 界面友好的用户环境。它还包括了 ToolBox(工具箱)的各类问题的求解工具,可 用来求解特定学科的问题。Matlab 的长处在于数值计算,能处理大量的数据,而 且效率比较高。MathWorths 公司在此基础上开拓了符号计算、文字处理、可视 化建模和实时控制能力,增强了 Matlab 的市场竞争力,使 Matlab 成为市场主流 的数值计算软件。Matlab 产品族支持概念设计、算法开发、建模仿真、实时实现 的理想的集成环境。其主要功能有:数据分析、数值和符号计算、工程与科学绘 图、控制系统设计、数字图像信号处理、财务工程,建模、仿真、原型开发,应 用开发,图形用户界面。 在光学仪器设计和优化过程中,计算机的数值仿真已经成为不可缺少的手 段。通过仿真计算,可以大幅度节省实验所耗费的人力物力,特别是在一些重复 实验工作强度较大且对实验器材、实验环境等要求较苛刻的情况下。如在大型激 光仪器的建造过程中, 结合基准实验的仿真计算结果可为大型激光器的设计和优 化提供依据。仿真光学实验也可应用于基础光学教学。光学内容比较抽象,如不 借助实验,很难理解,如光的干涉、菲涅耳衍射、夫琅禾费衍射等。传统的光学 实验需要专门的实验仪器和实验环境。其操作比较烦琐,误差大现象也不明显, 对改变参数多次观察现象也多有不便。MATLAB 是当今国际上公认的在科技领 域方面最为优秀的应用软件和开发环境。 利用它对光学实验仿真可避免传统实验 中的缺点,强大的功能使光学实验变得简便准确。基于 MATLAB 的科学可视化 功能对光学仿真实验现象进行计算机模拟的效果更加准确明显。
%%---------------------matlab 代码------------------------clear %清除内存 close all %关闭所有已打开的窗口 x=linspace(-2*pi,2*pi,100);%设置一维横坐标范围及网格,pi为常数π y1=besselj(1,x);%第一类贝塞尔函数,一阶 y2=besselj(0,x);%第一类贝塞尔函数,0 阶 figure(1)% 图 1 plot(x,y1,'r')%画函数 1 的曲线,‘r’代表图像颜色,红色 figure(2) % 图 2 plot(x,y2,'b') %画函数 2 的曲线,‘b’代表图像颜色,蓝色 %%%-------------------------------------------------
语言在光学中的应用。
2.实验原理 请先熟悉 Matlab 程序的编程界面。
一.特殊函数的 Matlab 模拟 1) 复指数函数 e cos i sin ,实部 cos(φ), 虚部 sin(φ),
i
%%%--matlab 代码------------------------------------------phi=0:pi/10:2*pi; %赋值 z=exp(i*phi);%指数函数 exp( ); u=real(z);%取实部 v=imag(z); %取虚部 figure(1) %画图 plot(phi,u) %画实部随变量的变化曲线 figure(2) plot(phi ,v) %画虚部随变量的变化曲线
3)函数:一维 sinc(x)函数, sinc
x sin( x / a) x/ a a
%%---------------------matlab 代码------------------------clear %清除内存 close all %关闭所有窗口 x=linspace(-2*pi,2*pi,100);%设置横坐标范围及网格 y1=besselj(1,x);%第一类贝塞尔函数,一阶 y2=besselj(0,x);%第一类贝塞尔函数,0 阶 figure(1)% 图 1 plot(x,y1,'r')%画函数 1 的曲线,‘r’代表图像颜色,红色 figure(2) % 图 2 plot(x,y2,'b') %画函数 2 的曲线,‘b’代表图像颜色,蓝色 %%%%%%%%%%---------------------------------------
相关文档
最新文档