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