查看: 134|回复: 3|关注: 0

[已解决] 如何求分段函数的傅里叶级数以及图像

[复制链接]

新手

7 麦片

财富积分


050


2

主题

3

帖子

0

最佳答案
本帖最后由 wx_xcb32Bs6 于 2019-11-8 17:15 编辑

向大神们求助(>○<)
我有如下图的这样一个分段函数, 111.png 31.png
我想要得到这个分段函数的傅里叶级数以及图像。怎么编程呢?请求大神指导,拜托
类似于下图这样,上边是拟合出的图,下边是得到的傅里叶级数方程。
222.png 3.png



论坛优秀回答者

中级

658 麦片

财富积分


5001500


3

主题

912

帖子

101

最佳答案
  • 关注者: 76
发表于 7 天前 | 显示全部楼层 |此回复为最佳答案
没看懂你d12的函数,但是前面分段函数的我写了一个例子,可以借鉴一下
  1. Ts=0.01;
  2. t=Ts:Ts:12;
  3. y=zeros(size(t));
  4. y(t>3)=0.03;
  5. y(t>4)=0.055;
  6. y(t>5)=0.075;
  7. y(t>6)=0.097;
  8. y(t>7)=0.09;
  9. y(t>8)=0.06;
  10. y(t>9)=0.03;
  11. y(t>10)=0;

  12. yh=fft(y)*2/length(y);
  13. fh=(1:length(y)/2)/Ts/length(y);
  14. c0=yh(1)/2;
  15. a=real(yh(2:end/2+1));
  16. b=-imag(yh(2:end/2+1));

  17. yf=c0*ones(size(t));
  18. for m=1:7
  19.         yf=yf+a(m)*cos(2*pi*fh(m)*t)+b(m)*sin(2*pi*fh(m)*t);
  20. end
  21. plot(t,y,t,yf)
复制代码

新手

7 麦片

财富积分


050


2

主题

3

帖子

0

最佳答案
 楼主| 发表于 4 天前 | 显示全部楼层
coolchen302 发表于 2019-11-8 22:06
没看懂你d12的函数,但是前面分段函数的我写了一个例子,可以借鉴一下

非常感谢大神,我还想请教一下,因为我的f(t)是以12为周期且有具体的生物学意义的周期函数,所以必须大于等于0,那在程序中需要加什么条件呢。
另外d12是以365为周期的函数,t(m365)代表t/365的模,至于式子中的47.8683和358.9047是怎么来的,我也不是很清楚。

论坛优秀回答者

中级

658 麦片

财富积分


5001500


3

主题

912

帖子

101

最佳答案
  • 关注者: 76
发表于 4 天前 | 显示全部楼层
wx_xcb32Bs6 发表于 2019-11-11 10:00
非常感谢大神,我还想请教一下,因为我的f(t)是以12为周期且有具体的生物学意义的周期函数,所以必须大于 ...

1. f(t)必须大于0,这个是前提,要加什么条件?也没法加条件?不明白你的意思
2. 第二段话,这不是个问题,是个陈述句。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表