欢迎来到天天文库
浏览记录
ID:55953541
大小:135.00 KB
页数:2页
时间:2020-06-18
《matlab模拟菲涅尔波带片.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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个点form=1:1001forn=1:1001%设置二重循环依次求菲涅尔波带片屏幕上各点p=sqrt(x(m).^2+y(n).^2
2、);%求各点所在圆半径k=fix(p.^2./(lam.*f));%求各点半波点数ifp>R%如果屏幕上点大于波带片半径I(m,n)=0;%则用灰色表示背景,不是波带片部分elseifmod(k,2)==1%判断半波带数奇偶,为奇数则涂黑I(m,n)=0;elseI(m,n)=1;%为偶数则不涂黑表示透光endendendendcolormap(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个点form=1:1001forn=1:1001%设置二重循环依次求菲涅尔波带片屏幕上各点p=sqrt(x(m).^2+y(n).^2);%求各点所在圆半径k=fix(p.^2./(lam.*f));%求各点半波点数ifp>R%
4、如果屏幕上点大于波带片半径I(m,n)=0.5;%则用灰色表示背景,不是波带片部分elseifmod(k,2)==1%判断半波带数奇偶,为奇数则不图黑表示透光I(m,n)=1;elseI(m,n)=0;%为偶数则涂黑endendendendcolormap(gray(255))N=255;%设置灰度等级Ir=I*N;image(Ir);%绘制波带片图像运行程序得到如下图像,为菲涅尔奇数波带片:
此文档下载收益归作者所有