Função de Runge
> f:=x->1/(1+25*x^2);
>
n:=2:
pts:=n+1:
X:=vector(pts,[-1,0,1]):
fX:=vector(pts,[f(X[1]),f(X[2]),f(X[3])]):
plotf:=plot(f(x),x=-1..1,color=black,thickness=1,labels=["",""]):
poli:=Lagrange(X,fX);
p:=x->poli:
plotp:=plot(p(x),x=-1..1,l,color=black,linestyle=3,thickness=1,labels=["",""]):
display(plotp,plotf);
>
n:4:
pts:=n+1:
X:=vector(pts,[-1,-0.5,0,0.5,1]):
fX:=vector(pts,[f(X[1]),f(X[2]),f(X[3]),f(X[4]),f(X[5])]):
plotf:=plot(f(x),x=-1..1,color=black,thickness=1,labels=["",""]):
poli:=Lagrange(X,fX);
p:=x->poli:
plotp:=plot(p(x),x=-1..1,l,color=black,linestyle=3,thickness=1,labels=["",""]):
display(plotp,plotf);
>
n:=8:
pts:=n+1:
X:=vector(pts,[-1,-0.75,-0.5,-0.25,0,0.25,0.5,0.75,1]):
fX:=vector(pts,[f(X[1]),f(X[2]),f(X[3]),f(X[4]),f(X[5]),f(X[6]),f(X[7]),f(X[8]),f(X[9])]):
plotf:=plot(f(x),x=-1..1,color=black,thickness=1,labels=["",""]):
poli:=Lagrange(X,fX);
p:=x->poli:
plotp:=plot(p(x),x=-1..1,l,color=black,linestyle=3,thickness=1,labels=["",""]):
display(plotp,plotf);
> 5*2/16.-1;
>
n:=16:
pts:=n+1:
X:=vector(pts,[-1,-0.875,-0.75,-0.625,-0.5,-0.375,-0.25,-0.125,0,0.125,0.25,0.375,0.5,0.625,0.75,0.875,1]):
fX:=vector(pts,[f(X[1]),f(X[2]),f(X[3]),f(X[4]),f(X[5]),f(X[6]),f(X[7]),f(X[8]),f(X[9]),f(X[10]),f(X[11]),f(X[12]),f(X[13]),f(X[14]),f(X[15]),f(X[16]),f(X[17])]):
plotf:=plot(f(x),x=-1..1,color=black,thickness=1,labels=["",""]):
poli:=Lagrange(X,fX);
p:=x->poli:
plotp:=plot(p(x),x=-1..1,l,color=black,linestyle=3,thickness=1,labels=["",""]):
display(plotp,plotf);
>