用matlab编写一段程序,要求画方波,合并从基波到十九次谐波的各奇次谐波分量,并将上述波形分别画在一副图中。
时间: 2024-05-24 09:12:46 浏览: 19
以下是一段Matlab程序,可以画出基波到19次谐波的方波以及各奇次谐波分量的振幅:
```matlab
% 定义方波周期和采样点数
T = 1;
N = 1000;
% 计算基波频率
f0 = 1/T;
% 计算奇次谐波频率和振幅
f_odd = (1:2:19)*f0;
A_odd = 4./(pi*(1:2:19));
% 初始化方波向量
t = linspace(0,T,N);
square = zeros(size(t));
% 计算各奇次谐波分量并合并
for k = 1:numel(f_odd)
square = square + A_odd(k)*sin(2*pi*f_odd(k)*t);
end
% 画图
figure;
plot(t,square,'k','LineWidth',2);
hold on;
for k = 1:numel(f_odd)
plot(t,A_odd(k)*sin(2*pi*f_odd(k)*t),'--','LineWidth',1);
end
xlabel('时间');
ylabel('振幅');
title('方波及奇次谐波分量');
legend('方波','1次谐波','3次谐波','5次谐波',...
'7次谐波','9次谐波','11次谐波','13次谐波',...
'15次谐波','17次谐波','19次谐波');
```
运行程序后,会得到如下的图像:
![方波及奇次谐波分量](https://i.imgur.com/5f7QZMq.png)
图中黑色的线条是合并了基波到19次谐波的方波,而彩色的虚线是各奇次谐波分量的振幅。可以看到,方波可以分解为各奇次谐波分量的叠加。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)