matlab模拟菲涅尔波带片_第1页
matlab模拟菲涅尔波带片_第2页
matlab模拟菲涅尔波带片_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4.菲涅尔波带片(1)偶数波带片:将波带片所在屏幕分为1001*1001个点,依次求出各点处的半波带数,为奇数则涂黑,为偶数则不涂黑表示透光。设波带片中心为原点。clear; lam=600e-6; %设置波长为600nmR=3; %设置菲涅尔波带片半径为3mmf=1000; %设置焦距1mym=R;xm=R;y=linspace(-ym,ym,1001); x=linspace(-xm,xm,1010); %设置程序中x,y向量,将屏幕分为1001*1001个点for m=1:1001 for n=1:1001 %设置二重循环依次求菲涅尔波带片屏幕上各点 p=sqrt(x(m).2+y(n)

2、.2); %求各点所在圆半径 k=fix(p.2./(lam.*f); %求各点半波点数 if pR%如果屏幕上点大于波带片半径 I(m,n)=0;% 则用灰色表示背景,不是波带片部分 else if mod(k,2)=1%判断半波带数奇偶,为奇数则涂黑 I(m,n)=0; else I(m,n)=1; %为偶数则不涂黑表示透光 end end endendcolormap(gray(255)N=255; %设置灰度等级Ir=I*N; image(Ir); %绘制波带片图像运行程序得到如下图像,为菲涅尔偶数波带片:(2)奇数波带片:将波带片所在屏幕分为1001*1001个点,依次求出各点处的半

3、波带数,为偶数则涂黑,为奇数则不涂黑表示透光。设波带片中心为原点。clear; %设置波长为600nmlam=600e-6; %设置波长为600nmR=3; %设置菲涅尔波带片半径为3mmf=1000; %设置焦距1mym=R;xm=R;y=linspace(-ym,ym,1001); x=linspace(-xm,xm,1010); %设置程序中x,y向量,将屏幕分为1001*1001个点for m=1:1001 for n=1:1001 %设置二重循环依次求菲涅尔波带片屏幕上各点 p=sqrt(x(m).2+y(n).2); %求各点所在圆半径 k=fix(p.2./(lam.*f); %求各点半波点数 if pR%如果屏幕上点大于波带片半径 I(m,n)=0.5;% 则用灰色表示背景,不是波带片部分 else if mod(k,2)=1%判断半波带数奇偶,为奇数则不图黑表示透光 I(m,n)=1; else I(m,n)=0; %为偶数则涂黑 end end endendcolormap(gray(255)N=255;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论