Está en la página 1de 6

Questão 1: Usando os pontos (1; 3); (2; 5); e (3; 1); responda o que se pede:

(a) Forme o polinômio de Lagrange;

x 1 2 3
f(x) 3 5 1

𝑃(𝑥) = 𝐿0 (𝑥)𝑓(𝑥0 ) + 𝐿1 (𝑥)𝑓(𝑥1 ) + 𝐿2 (𝑥)𝑓(𝑥2 )

(𝑥 − 𝑥1 )(𝑥 − 𝑥2 ) (𝑥 − 2)(𝑥 − 3) (𝑥 − 2)(𝑥 − 3) 𝑥² − 5𝑥 + 6


𝐿0 (𝑥) = = = =
(𝑥0 − 𝑥1 )(𝑥0 − 𝑥2 ) (1 − 2)(1 − 3) 2 2
(𝑥 − 𝑥0 )(𝑥 − 𝑥2 ) (𝑥 − 1)(𝑥 − 3) (𝑥 − 1)(𝑥 − 3) 𝑥² − 4𝑥 + 3
𝐿1 (𝑥) = = = =
(𝑥1 − 𝑥0 )(𝑥1 − 𝑥2 ) (2 − 1)(2 − 3) −1 −1
(𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) (𝑥 − 1)(𝑥 − 2) (𝑥 − 1)(𝑥 − 2) 𝑥² − 3𝑥 + 2
𝐿2 (𝑥) = = = =
(𝑥2 − 𝑥0 )(𝑥2 − 𝑥1 ) (3 − 1)(3 − 2) 2 2

𝑥² − 5𝑥 + 6 𝑥² − 4𝑥 + 3 𝑥² − 3𝑥 + 2
𝑃(𝑥) = ( ).3 + ( ).5 + ( ).1
2 −1 2

𝑥² − 3𝑥 + 2
𝑃(𝑥) = (1,5𝑥² − 7.5𝑥 + 9) + (−5𝑥^2 + 20𝑥 − 15) + ( ).1
2

2
𝑥2
𝑃(𝑥) = 1,5𝑥² − 7.5𝑥 + 9 − 5𝑥 + 20𝑥 − 15 + − 1,5𝑥 + 1
2
𝑃(𝑥) = −3𝑥 2 + 11𝑥 − 5
b) forme o polinômio de Newton;
function yi = letra_a_lagrange(x,y,f,xi)

% f -> inline(‘função’);

% x -> são os pontos da interpolação

% y -> são os valores conhecidos de f(x)

% xi -> são pontos par a interpolação

% yi -> são pontos obtidos pela interpolação de xi por LagrangeINT

For

int = 1:length(xi),

xint = xi(int)

yi (int) = LagrangeINT(x, f(x), xint);

end

plot(xi,f(xi),’r’, x, y,’g*’);

grid;

xlabel(‘x’);

ylabel(‘y’);

legend
clc

clear all;

function yi = letra_a_lagrange(x,y,xi)

% LagrangeINT ajusta o polinômio

% x -> são os pontos da interpolação

% y -> são os valores conhecidos de f(x)

% xi -> são pontos par a interpolação

% yi -> são pontos obtidos pela interpolação de xi por LagrangeINT

%función para crear un interpolador de Lagrange a partir de los siguientes

%datos:

% x.- vector discreto de la variable independiente

%fx.-valor de la función en los puntos x


clear all

clc

%Vector de la variable independiente

x=[2; 4; 6; 8; 10; 12; 14];

%Valor de la función en los puntos "x".

fx=[5; 9; 2; 1; 6; 4; 9];

%Número de muestras

N=length(x);

%Rutina para calcular los coeficientes.

for k=1:N

for m=1:N

if k==m

ind=1;

else

FN(k,m-ind)=x(m); %raices del polinomio.

FD(k,m-ind)=x(k)-x(m); %Factores del denumerador.

end
end

ind =0;

end

%Cálculo de los coeficientes del numerador de cada polinomio de Lagrage.

for k=1:N

CN(k,:)=poly(FN(k,:));

end

%Multiplica los factores de cada denominador.

Fac=prod(FD,2);

%Rutina para multiplicar cada polinomio por el factor correspondiente.

for k=1:N

multi(k,:)=CN(k,:)*fx(k)/Fac(k);

end

%Calcular los coeficientes del polinomio interpolador.

Coef=sum(multi);

%Crear vector para evaluar los puntos entre el limite inferior y superior

%del vector x.
xp=(2:0.01:14);

%Evaluación de la función en todos los puntos propuestos.

Fxp=polyval(Coef,xp);

%Graficas de los puntos iniciales y el polinomio interpolador.

plot(x,fx,'o',xp,Fxp,'r');

legend('Puntos iniciales','Polinomio interpolador')

https://www.academia.edu/5307695/Interpolaci%C3%B3n_Polinomial

También podría gustarte