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
最后
你的程序好像不规范啊,你既要画图,但又用syms语句把变量定义为符号。
而且你这是函数,很难调试跟踪啊。把你的出错信息贴上来吧。