用matlab画矩形波傅里叶变换,用matlab画出余弦函数的傅里叶变换图像
时间: 2023-08-26 10:44:56 浏览: 38
好的,我来回答你的问题。
第一个问题:
首先,我们需要定义矩形波的函数。假设矩形波的周期为T,幅值为A,则矩形波的函数可以表示为:
```matlab
function y = rect_wave(t, T, A)
y = A * (mod(t, T) < T/2);
end
```
然后,我们可以用以下代码生成矩形波的信号:
```matlab
T = 1; % 周期
A = 1; % 幅值
t = linspace(-5*T, 5*T, 1000); % 时间范围
y = rect_wave(t, T, A); % 矩形波信号
plot(t, y); % 绘制矩形波信号
```
接下来,我们可以使用matlab自带的fft函数对矩形波信号进行傅里叶变换,并绘制出其频谱图:
```matlab
Y = fft(y); % 矩形波信号的傅里叶变换
f = linspace(-1/(2*T), 1/(2*T), length(Y)); % 频率范围
plot(f, fftshift(abs(Y))); % 绘制傅里叶变换的频谱图
```
最终的结果如下图所示:
![矩形波的傅里叶变换](https://img-blog.csdnimg.cn/20220110195234963.png)
第二个问题:
同样,我们需要先定义余弦函数的函数。假设余弦函数的频率为f,幅值为A,则余弦函数的函数可以表示为:
```matlab
function y = cos_wave(t, f, A)
y = A * cos(2*pi*f*t);
end
```
然后,我们可以用以下代码生成余弦函数的信号:
```matlab
f = 2; % 频率
A = 1; % 幅值
t = linspace(0, 1, 1000); % 时间范围
y = cos_wave(t, f, A); % 余弦函数信号
plot(t, y); % 绘制余弦函数信号
```
接下来,我们可以使用matlab自带的fft函数对余弦函数信号进行傅里叶变换,并绘制出其频谱图:
```matlab
Y = fft(y); % 余弦函数信号的傅里叶变换
f = linspace(-1/2, 1/2, length(Y)); % 频率范围
plot(f, fftshift(abs(Y))); % 绘制傅里叶变换的频谱图
```
最终的结果如下图所示:
![余弦函数的傅里叶变换](https://img-blog.csdnimg.cn/20220110195655687.png)