當前位置:編程學習大全網 - 編程軟體 - 用MATLAB實現光學問題的程序

用MATLAB實現光學問題的程序

妳對照單縫衍射光強分布公式看這個程序,就簡單了,程序中用image函數仿真繪制衍射圖樣,用plot函數繪制光強;

沒有主函數,程序前部分生成仿真單縫衍射所需要的光強分布數據(51個點數據),後部分是用image,plot兩個函數(MATLAB自己的)仿真圖像;

用subplot將圖形窗口分成兩塊,第壹塊仿真繪制衍射圖樣,第二塊用plot函數繪制光強。

關鍵語句,我在後面進行了註釋!

lam=500e-9;

a= 1e-3; f=1;

xm= 3*lam*f/a;

nx= 51;

xs=linspace(-xm,xm,nx);%在-xm到xm之間均勻產生51個數據

np=51;

xp=linspace(0,a,np);%在0到a之間均勻產生51個數據

%以上語句創建若幹變量,與特定公式有關

for i=1:nx

sinphi= xs(i)/f;

alpha=2*pi*xp*sinphi/lam;

sumcos=sum(cos(alpha));

sumsin=sum(sin(alpha));

B(i,:)=(sumcos^2+sumsin^2)/np^2;

end

%以上語句為for循環,計算51個位置的衍射光強,放在B向量中

N=255;

Br=(B/max(B))*N;%歸壹化到對應像素灰度

figure(1);

subplot(1,2,1)

image(xm,xs,Br);%仿真衍射圖像

colormap(gray(N));

subplot(1,2,2)

plot(B,xs);%仿真單縫衍射光強

  • 上一篇:花溪區事業單位什麽時候進行專業考試,經濟類考什麽啊
  • 下一篇:蘋果現任ceo
  • copyright 2024編程學習大全網