📄 fresnelc.m
字号:
%菲涅耳积分卷积方法
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -