为什么MATLAB只绘制最多三个函数

时间:2016-02-09 18:52:00

标签: matlab

我正在尝试为函数f(x)=(x^2-pi^2)^3绘制多个傅立叶级数近似,但由于某种原因,我的MATLAB将只绘制最多两个近似值(以及原始f)。如何绘制4个或更多?我的系列代码是

function [Y]=fourier(X)
N=input('enter the value of N:' )
SN=-16*pi^6/35;
for n=1:N 
SN=SN+96*(-1)^n/n^5*(15/n-pi^2).*cos(n*X);
end
Y=SN;

并使用

plot(X,Y1,'b',X,Y2,'r',X,Y3,'m',X,Y4,'g')

(其中Yi =傅立叶(X),X = [ - pi:0.01:pi]是不同N的各种近似值不起作用;也没有一个一个地绘制它们。

非常感谢任何人提供的任何帮助 - 你可能已经注意到我是一个非常业余的程序员!!

1 个答案:

答案 0 :(得分:0)

我没有问题。

我修改了你的傅立叶函数以接受输入N

function Y = fourier(X,N)
SN = -16*pi^6/35;
for n = 1:N
    SN = SN+96*(-1)^n/n^5*(15/n-pi^2).*cos(n*X);
end
Y = SN;

然后,我得到了4行:

X  = (-pi:0.01:pi)';
Y = [fourier(X,1), fourier(X,2), fourier(X,3), fourier(X,4)];
plot(X,Y)
legend 1 2 3 4
set(gca, 'Xlim',[-3.3, -2.3], 'Ylim',[-60,79])

enter image description here