• 大小: 719B
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-05
  • 语言: Matlab
  • 标签: matlab  

资源简介

通过达曼光栅生成点阵的matlab程序.rar

资源截图

代码片段和文件信息

clear all;
close all;
N=512;
period=64.0;
arrayNum=9;
TransPoint=[0.066680.128710.285890.456660.59090];
TransPoint_position=TransPoint;
TransPoint_position=floor(period*TransPoint);%
pi=3.1415967;
Dammann=zeros(1N);
Dammann=double(Dammann);
for ii=1:N
    
    if mod(iiperiod)>=TransPoint_position(1) && mod(iiperiod)       Dammann(1ii)=pi;
    end
    if mod(iiperiod)>=TransPoint_position(2) && mod(iiperiod)       Dammann(1ii)=0;
    end
    if mod(iiperiod)>=TransPoint_position(3) && mod(iiperiod)       Dammann(1ii)=pi;
    end
    if mod(iiperiod)>=TransPoint_position(4) && mod(iiperiod)       Dammann(1ii)=0;
    end
    if mod(iiperiod)>=TransPoint_position(5)  
       Dammann(1ii)=pi;
    end
end
figureplot(Dammann);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
DammannGrating1=zeros(1N);
DammannGrating1=double(DammannGrating1);
DammannGrating2=zeros(1N);
DammannGrating2=double(DammannGrating2);
for   ii=1:N      
    for   jj=1:N    
       
        DammannGrating1(iijj)=Dammann(1jj);
    end
end
figureimshow(mat2gray(DammannGrating1));
for   ii=1:N      
    for   jj=1:N    
       
        DammannGrating2(iijj)=Dammann(1ii);
    end
end
figureimshow(mat2gray(DammannGrating2));
DammannGrating=mod(DammannGrating1+DammannGrating22*pi);
figureimshow(mat2gray(DammannGrating));
pad=zeros(10241024);
F_pad=double(pad);
F_pad((512-256):(512+256-1)(512-256):(512+256-1))=exp(1i.*DammannGrating);
 
E_fourier = fft2c(F_pad);
 E_fourier(1024/2-1:1024/2+11024/2-0:1024/2+2)=eps;
 E2_intensity1=abs(E_fourier).^2;
figureimshow( mat2gray(E2_intensity1));
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1749  2020-06-07 17:04  通过达曼光栅生成点阵的matlab程序.m

----------- ---------  ---------- -----  ----

                 1749                    1


评论

共有 条评论