【发布时间】:2015-03-30 00:40:38
【问题描述】:
我在 Matlab 工作。我具有图形功能。我应该:
- 在纸上将其扩展为傅里叶级数,
- 从我的系列中重构这个函数,
- 从答案序列重构函数(我有傅里叶级数的求解),
- 将我重建的函数与原始函数进行比较。
step = 0.05;
t = -5:step:10;
y1 = heaviside(abs(t)-6);
y2 = heaviside(-(abs(t)-2));
funct = 4*(y1+y2)+2;
plot(t,funct,'LineWidth',2),grid;
%coefficients of my Fourier series y
a = -4; b = 8; T = abs(a-b); L = T/2;
a0 = 8;
a(1) = 2*sqrt(3)/pi; b(1) = -2/pi;
a(2) = 6*sqrt(3)/pi; b(2) = 3/pi;
a(3) = 0; b(3) = - 8/(3*pi);
a(4) = -2*sqrt(3)/pi; b(4) = 3/(2*pi);
a(5) = -2*sqrt(3)/(5*pi); b(5) = -2/(5*pi);
n = -5:step:10;
sum = 0;
for k = 1:5
sum = sum + a(k)*cos(n*pi*k/L)+b(k)*sin(n*pi*k/L);
end
y = a0/2 + sum; %my series
%answer Fourier series y2
n = -5:step:10;
sum = 0;
for k = 1:5
sum = sum + (power(-1,k-1)/(2*k-1))*cos((2*k-1)*pi*n/4);
end
y2 = 4+(8/pi)*sum; %answer series
n = 1:length(t);
hold on
plot(n*step-5,y,'r-');
当我绘制 y(我的重建函数)时,我有以下图片:
但是当我绘制 y2(答案函数)时,我得到了很好的结果:
第一张图看起来我在重构信号时只使用了一个傅立叶分量。
为什么我的解决方案会得到如此糟糕的结果?
【问题讨论】: