首先,我们需要定义函数 f(t):

syms t
f(t) = sin(t)/t;

然后,我们可以使用 fourier 函数来求出傅里叶变换:

F = fourier(f);

接着,我们可以使用 ifourier 函数来求出傅里叶反变换:

f_recon = ifourier(F);

最后,我们可以绘制原函数和重构函数的图形来比较它们的区别:

t_vals = linspace(-10, 10, 1000);
f_vals = double(subs(f, t_vals));
f_recon_vals = double(subs(f_recon, t_vals));

plot(t_vals, f_vals, 'b', t_vals, f_recon_vals, 'r--');
legend('Original Function', 'Reconstructed Function');

完整代码如下:

syms t
f(t) = sin(t)/t;

F = fourier(f);

f_recon = ifourier(F);

t_vals = linspace(-10, 10, 1000);
f_vals = double(subs(f, t_vals));
f_recon_vals = double(subs(f_recon, t_vals));

plot(t_vals, f_vals, 'b', t_vals, f_recon_vals, 'r--');
legend('Original Function', 'Reconstructed Function');

绘制的图形如下:

傅里叶变换与反变换比较图

可以看到,原函数和重构函数的图形非常相似,只是在原点处略微不同。这是由于傅里叶变换和反变换都是近似计算的,因此存在一定的误差。但是,在大多数情况下,这种误差是可以接受的。

MATLAB实现傅里叶变换与反变换:sin(t)/t函数示例

原文地址: https://www.cveoy.top/t/topic/nSaN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录