一个傅里叶级数展开式的图象

7月29日晚上画的。

图象:

怎么样,是不是很像。

Matlab代码:

clear
clc

x=-pi:0.01:pi;

f=0;
n=7;
fx=zeros(n,length(x));
for i=1:n
    for j=1:length(x)
        f=(1/(2*i-1))*(sin((2*i-1)*x(j)));
        fx(i,j)=f;
    end
end

j=1;
for i=[1,2,7]
    %plot(x,sum(fx(1:i,:),1),'DisplayName',['n=',num2str(i)]);
    p(j)=plot(x,sum(fx(1:i,:),1));
    hold on;
    j=j+1;
end
%legend('n=1','n=2','n=3','n=4','n=5','n=6','n=7')
%legend('n=1','n=2','n=7')
axis equal
axis([-pi*1.2 pi*1.2 -pi*0.8 pi*0.8])
plot([-pi,0],[-pi/4,-pi/4],'m-o',[0,pi],[pi/4,pi/4],'m-o');
plot([-pi 0 pi],[0 0 0],'ro','MarkerFaceColor','m');%绘制实心圆点
plot([-pi,-pi],[0,-pi/4],'b--',[pi,pi],[0,pi/4],'b--');
set(gca,'xaxislocation','origin','yaxislocation','origin') %xy坐标轴在原点处相交
set(gca,'XTick',[-pi pi],'XTickLabel',{'-PI      ','PI'})%添加坐标注释
%set(gca,'YTick',[-pi/4 pi/4],'YTickLabel',{'-PI/4','PI/4'})%添加坐标注释
set(gca,'YTick',pi/4,'YTickLabel',{'PI/4'})
text(0,-pi/4,'  -PI/4')%添加坐标注释
text(pi/30+0.15,pi/4+0.2,'\leftarrow n=7')%添加坐标注释
text(pi/30+0.75,pi/4+0.2,'\leftarrow n=2')%添加坐标注释
text(pi/30+0.3,pi/8,'\leftarrow n=1')%添加坐标注释
hold off;
legend(p(:),{'n=1','n=2','n=7'})

留下评论

电子邮件地址不会被公开。 必填项已用*标注