1. 程式人生 > 其它 >【光學】基於matlab渦旋光與球面波的干涉【含Matlab原始碼 597期】

【光學】基於matlab渦旋光與球面波的干涉【含Matlab原始碼 597期】

一、簡介

基於matlab渦旋光與球面波的干涉

二、原始碼

clear
clc
row=1080;                                              %畫素點設定成1080pix
g1=zeros(row);                                         %生成1080階零矩陣,初始化g1
g2=zeros(row);                                         %生成1080階零矩陣,初始化g1
w0=100;                                                %束腰半徑
l=3;                                                   %拓撲荷值
for m1=1:row                                           %渦旋光函式
for n1=1:row
if (m1-row/2).^2+(n1-row/2).^2<row/2*row/2
g1(n1,m1)=sqrt((m1-row/2)^2+(n1-row/2)^2)^abs(l)*exp(-((m1-row/2)^2+(n1-row/2)^2)/w0^2)*exp(1i*l*atan2((n1-row/2),(m1-row/2))); 
end
end
end
A0=max(max(abs(g1)));                                 %球面波函式
for m1=1:row
for n1=1:row
if (m1-row/2).^2+(n1-row/2).^2<row/2*row/2
g2(n1,m1)=A0.*exp(-((m1-row/2)^2+(n1-row/2)^2)/(row*0.2)^2).*exp(1i*pi*-2*((m1-row/2)^2+(n1-row/2)^2)/(row/6)^2); 
end
end
end

三、執行結果



四、備註

版本:2014a
完整程式碼或代寫加1564658423