看板 MATLAB 關於我們 聯絡資訊
各位好,我想請問個問題。 請問如何將單狹縫繞射複製成多狹縫繞射 變成2*2個或是 4*4個 試過用迴圈寫,可是一直沒辦法成功 以下是我的單狹縫繞射 clc clear all lambda=632e-9; k=(2*pi)/lambda; a=1e-3; b=4e-3; Io = 100.0; R = 1; Y = (-0.4e-2:1e-5:0.4e-2); Z=Y ; beta = k*b*Y/(2*R*pi); alpha = k*a*Z/(2*R*pi); for i=1:length(Y) for j=1:length(Z) I(i,j)=Io.*((sinc(alpha(j)).^2).*(sinc(beta(i))).^2); end end figure(1) imshow(I) title('Fraunhofer Diffraction','fontsize',14) fh = figure(1); set(fh, 'color', 'white'); ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.128.204 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1575805529.A.89E.html
name0625: Y, Z 可以用meshgrid 或 ndgrid 產生,就可以用矩陣運 12/10 03:17
name0625: 算避開for 12/10 03:17
name0625: 我對你要的繞射不太理解,不過我猜應該是想更改 Y, Z 12/10 03:17
name0625: 產生新的 I 吧? 12/10 03:17
name0625: 就一樣的做法加個位移量在 Y, Z 上就可以了吧? 12/10 03:17
sunev: 你要的是新的物理公式吧? 12/10 10:52
rcak801: 多狹縫應該是干涉了吧 不能直接用兩個繞射疊加 你要帶入 12/27 10:37
rcak801: 相位計算建設性和破壞性干涉 12/27 10:37