fresnelc.m

来自「菲涅耳衍射的程序」· M 代码 · 共 12 行

M
12
字号
%菲涅耳积分卷积方法
function [f1,dx1,dy1,x1,y1] = fresnelc(f0,M,N,dx0,dy0,z,lambda)
k=2*pi/lambda;
x0=dx0.*(ones(N,1)*[-M/2:M/2-1]);
y0=dy0.*((ones(N,1)*[-M/2:M/2-1]))';
h=exp(-i*0.5*k*(x0.^2+y0.^2)/z);                           %Fourier transform of kernel
H=fftshift(fft2(h));
f0=fftshift(fft2(f0));
f1=fftshift(ifft2(fftshift(f0.*H)));                                %Convolution
dx1=dx0;dy1=dy0;
x1=ones(N,1)*[-M/2:M/2-1]*dx1;                         %Baseline for output
y1=[-N/2:N/2-1]'*ones(1,M)*dy1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?