求函数fx=sin(3t)/(2pit)的傅里叶变换,matlab绘制幅频特性曲线
时间: 2024-03-22 09:36:51 浏览: 119
根据傅里叶变换的定义,函数 $f(x)$ 的傅里叶变换为:
$$\mathscr{F}\{f(x)\} = F(\omega) = \int_{-\infty}^{\infty} f(x) e^{-j\omega x} dx$$
对于给定的函数 $f(x)=\frac{\sin(3x)}{2\pi x}$,我们可以将其傅里叶变换表示为:
$$F(\omega) = \int_{-\infty}^{\infty} \frac{\sin(3x)}{2\pi x} e^{-j\omega x} dx$$
该积分不存在解析解,因此需要使用数值计算方法求解。在 MATLAB 中,可以使用 `integral` 函数进行积分计算,代码如下:
```matlab
syms x;
f = @(x) sin(3*x)./(2*pi*x);
F = @(w) integral(@(x) f(x).*exp(-1j*w*x), -inf, inf);
```
其中,`syms x` 定义符号变量 `x`,`f` 表示原函数,`F` 表示傅里叶变换。函数 `integral` 表示积分计算,第一个参数为被积函数,第二个参数为积分下限,第三个参数为积分上限。
接下来,我们可以使用 `fplot` 函数绘制幅频特性曲线,代码如下:
```matlab
w = -50:0.01:50;
Fw = arrayfun(F, w);
plot(w, abs(Fw));
```
其中,`w` 表示角频率,从 `-50` 到 `50`,步长为 `0.01`。`Fw` 表示傅里叶变换的结果,使用 `arrayfun` 函数将每个角频率对应的傅里叶变换计算出来。最后,使用 `plot` 函数绘制幅频特性曲线,横坐标为角频率,纵坐标为傅里叶变换模长的绝对值。完整代码如下:
```matlab
syms x;
f = @(x) sin(3*x)./(2*pi*x);
F = @(w) integral(@(x) f(x).*exp(-1j*w*x), -inf, inf);
w = -50:0.01:50;
Fw = arrayfun(F, w);
plot(w, abs(Fw));
xlabel('角频率');
ylabel('模长');
title('幅频特性曲线');
```
运行代码,即可得到幅频特性曲线。
阅读全文