資源簡介
通過達曼光柵生成點陣的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
評論
共有 條評論