永发信息网

用MATLAB求傅里叶级数展开。。

答案:1  悬赏:20  手机版
解决时间 2021-01-31 02:12
  • 提问者网友:山高云阔
  • 2021-01-30 01:59
用MATLAB求傅里叶级数展开。。
最佳答案
  • 五星知识达人网友:几近狂妄
  • 2021-01-30 02:30
fsin=@(n,x) pi/4*sign(x).*sin(n*x);
fcos=@(n,x) pi/4*sign(x).*cos(n*x);
N=20;
Fsin=zeros(1,N+1);
Fcos=zeros(1,N+1);
for n=0:N
    Fsin(n+1)=quad(@(x)fsin(n,x),-pi,pi,1e-8)/pi;
    Fcos(n+1)=quad(@(x)fcos(n,x),-pi,pi,1e-8)/pi;
end


subplot(211),stem(0:N,Fsin);title('sin');
subplot(212),stem(0:N,Fcos);title('cos');


原来的信号可以表示为[-pi,pi]内的 pi/4*sign(x)



反正就是根据傅立叶展开的公式,求原来函数和sinkx,coskx的乘积的积分

上述程序里Fsin  就是  bk
                   Fcos 就是  ak


最后

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯