[討論] 光學繞射繪圖疑問

作者: Eenie (Eenie)   2014-07-31 22:20:53
請教各位大大,小弟是利用一平行光源照射一長方型狹縫,
並於狹縫及屏幕間放置一透鏡,狹縫至透鏡距離及透鏡至屏幕距離皆設定為f,
請問大大如果要將最終屏幕上Etotal的結果與E(xt,yt)
同時繪製出來需於程式末段加上哪些指令??
(目前小弟只有繪製出光源經過狹縫後的結果E(xt,yt))
(程式內容如有任何問題也請各位大大指教 謝謝!!)
clc
clear
lamda=632e-9; %波長
k=2*pi/lamda;
f=5;
a=3e-1;
l=6e-1;
bw2=zeros(101);%光源
bw2(49:51,49:51)=1;
Fix=fftshift(fft2(bw2));
x=linspace(-3,3,101);
y=linspace(-3,3,101);
xt=1;
for xc=-3:0.06:3
yt=1;
for yc=-3:0.06:3
E(xt,yt)=(((a*l)/(1i*lamda*f))*exp((1i*k)*(f+((xc^2)+(yc^2))/(2*f))))*
(Fix(xt,yt));
Etotal=E(xt,yt)*exp((1i*k*f)-((1i*pi*lamda*f)*
(((xc/(lamda*f))^2)+((yc/(lamda*f))^2))));
yt=yt+1;
end
xt=xt+1;
end
[xx,yy]=meshgrid(x,y);
mesh(xx,yy,abs(E));
作者: aada (aada)   2014-07-31 23:06:00
可以不用到迴圈簡單來說用fresnel transform*lens equation * inverse fresnel transformEtotal改成Etotal(xt,yt)詳細參考傅光4 5 章
作者: dinosaurep (dino)   2014-08-11 21:42:00
用fft可以不需要迴圈

Links booklink

Contact Us: admin [ a t ] ucptt.com