有人可以告诉我是否可以在MATLAB中使用FFT进行这种集成?怎么样? 请尽快回复详细信息。
假设存在2个矩形平面,比如input
由x1
和y1
个变量访问,并且生成的平面由output
tetax
访问tetay
{1}}变量。
这是伪代码中的积分:
output(tetax,tetay)=double integral of [input(x1,y1)*exp(-j*k*((tetax*x1)+(tetay*y1)))](dx1)(dy1)
其中:-1<= x1 <= 1 and -1<= y1 <= 1
tetax
和tetay
应该更改,以便它们可以跨越最终的矩形平面。
我非常感谢及时详细的回答。
答案 0 :(得分:3)
由于这看起来像家庭作业,我只是给出一些提示。诀窍是重写积分,使其看起来像函数的普通二维傅里叶积分。
有两个问题:
1)你需要将k和你的tetax结合起来,看起来像正常的波数(并以适当的方式补偿)。
2)你需要处理范围(-1,1)内的限制,而傅里叶积分需要它们在范围内(-inf,+ inf)。要做到这一点,选择一个函数进入傅里叶积分,这将使这项工作。
然后很明显如何在Matlab中做到这一点。这是一个可爱的问题,我希望这不会破坏它(如果人们认为这样做,请告诉我,我会删除这个答案,或者如果可以的话就删除它)。
答案 1 :(得分:0)
您的问题看起来像是Fourier transform,而不是discrete Fourier transform (DFT)。 FFT计算后一种类型的变换。
简而言之,傅立叶变换涉及积分,而DFT涉及总和。