matlab傅里叶级数_MATLAB--从正弦波转换为方波(验证傅里叶级数)

ec9afebd0a80f45d2e2e81ed9caaaecf.png

从正弦波转换为方波(傅里叶验证)

此示例说明方波的傅里叶级数展开式是如何由奇次谐波的和构成的。

1.首先以 0.1 为步长,生成一个从 0 到 10 的时间向量,并求出所有点的正弦。绘制基频图

t = 0:.1:10;
y = sin(t);
plot(t,y);

63fc35e4b259531b64bf796b4acd7a23.png


2.接下来,向基频添加第三个谐波,并绘制谐波图

y = sin(t) + sin(3*t)/3;
plot(t,y);

32872f08d275f464684ca4444824bb93.png


3.接下来使用第一、第三、第五、第七和第九个谐波

y = sin(t) + sin(3*t)/3 + sin(5*t)/5 + sin(7*t)/7 + sin(9*t)/9;
plot(t,y);

f40bc6d92d36fa2bb80aadffd7380f2b.png


4.最后,从基频开始创建更多连续谐波的向量,一直到第 19 个谐波为止,并将所有中间步长保存为矩阵的行。

在同一个图窗中绘制这些向量,以便显示方波的演变。请注意,吉布斯效应表明它实际上永远不会转换为方波。

t = 0:.02:3.14;
y = zeros(10,length(t));
x = zeros(size(t));
for k = 1:2:19
   x = x + sin(k*t)/k;
   y((k+1)/2,:) = x;
end
plot(y(1:2:9,:)')
title('The building of a square wave: Gibbs'' effect')

347d7928447b6ea5df175a562f1eac68.png


5.下面提供了一个三维曲面图,该曲面图表示正弦波到方波的逐变过程

surf(y);
shading interp
axis off ij

6767b9fbc7420a98c81c5e627140a05c.png

984e8e5879f76da6582ba56b67fa3011.png
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值