Lagrange-Chebyshev
Construir um procedimento para escrever um polinómio interpolador de Lagrange nos nós de Chebyshev num intervalo [a,b] dado o grau e a expressão analítica da função
>
PoliLagrangeChebyshev:=proc(grau::posint,func::procedure,a::numeric,b::numeric,digitos::posint)
local m,k,X,fX,i,polinomio;
m:=grau+1;
fX:=vector(m);
X:=vector(m,k->evalf((a+b)/2+(b-a)/2*cos(((2*k-1)*Pi)/(2*m))));
for i from 1 to m do
fX[i]:=func(X[i]);
od;
polinomio:=Lagrange(X,fX);
RETURN(simplify(polinomio));
end:
> f:=x->(4*x-7)/(x-2);
>
polinomio:=PoliLagrangeChebyshev(5,f,0,1.5,10);
>
poli:=PoliLagrangeChebyshev(5,f,-1,1,10);
p:=x->poli:
plot(p(x),x=-1..1);
>
p:=x->polinomio:
plot(p(x),x=0..1.5);
> with(plots):
>
A:=plot(p(x),x=0..1.5):
display(plotf,A);
>