用matlab作图演示方波信号的傅里叶级数完整代码
时间: 2023-10-21 15:17:38 浏览: 36
下是用MATLAB作图演示方波信号的傅里叶级数的完整代码:
```matlab
% 定义傅里叶级数中的参数
T = 2*pi; % 周期为2*pi的方波信号
N = 50; % 傅里叶级数中的项数
t = linspace(0, 4*pi, 1000); % 定义时间轴
% 计算傅里叶级数
F = zeros(size(t));
for n = 1:2:N
F = F + (4/pi)*(1/n)*sin(n*t);
end
% 绘制原始方波信号
subplot(2,1,1);
plot(t, square(t/T), 'LineWidth', 2);
ylim([-1.5 1.5]);
xlabel('Time (s)');
ylabel('Amplitude');
title('Original Square Wave');
% 绘制傅里叶级数的近似信号
subplot(2,1,2);
plot(t, F, 'r', 'LineWidth', 2);
ylim([-1.5 1.5]);
xlabel('Time (s)');
ylabel('Amplitude');
title(['Fourier Series Approximation with N = ' num2str(N)]);
```
在这个代码中,我们首先定义了方波信号的周期 `T` 和傅里叶级数中的项数 `N`,以及时间轴 `t`。然后,我们使用 `for` 循环计算傅里叶级数,并将结果存储在向量 `F` 中。最后,我们使用 `subplot` 函数将原始方波信号和傅里叶级数的近似信号绘制在同一个图像中。
你可以通过修改 `T` 和 `N` 的值,以及调整时间轴 `t` 的范围,来观察不同条件下的傅里叶级数近似效果。