Está en la página 1de 17

UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE

UNIDAD DE EDUCASIÓN CONTINUA

CURSO DE FUNDAMENTOS DE MATLAB

TEMA:

INTERPOLACIÓN POLINOMIAL APLICANDO LOS


METODOS DE LAGRANGE Y NEWTON

NOMBRE:

ANDRES CASTRO

ECUADOR – LATACUNGA – 2020

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


PARTE I

PLANTEAMIENTO DEL PROBLEMA

Ingenieros y científicos suponen habitualmente que las relaciones entre las variables de
un problema físico pueden ser reproducidas de manera aproximada a partir de los datos
extraídos del mismo. En algunas oportunidades se desea obtener una representación
continua o suave de las variables del problema, predecir valores para situaciones
particulares del mismo, u obtener información relevante a través de las aproximaciones de
fenómeno en estudio, como el caso del crecimiento poblacional , el cual gasta recursos
económicos al realizar anualmente a los país por lo cual es donde interviene la
interpolación de datos que es un método numérico que permite dar una idea del resulta de
una serie de datos tomados previamente, para lo cual dos grande matemáticos como
Lagrange y Newton han implementado sus métodos de estimación de una serie de datos
recopilados, el cual los interpreta en un polinomio que representa al comportamiento de
un sistema o fenómeno físico.

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


PART II
CÁLCULOS

Interpolación polinómica de Lagrange

Dado que existe un único polinomio interpolador para un determinado conjunto de puntos,
resulta algo engañoso llamar a este polinomio el polinomio interpolador de Lagrange. Un
nombre más apropiado es interpolación polinómica en la forma de Lagrange.

Una forma de presentar el polinomio de interpolación P asociado a una colección de datos


( x i , y i ), con 0 ≤ i≤ n, es como una suma de productos; es decir:

n
P( x )=f ( x 0 ) l 0 ( x)+ f ( x1 ) l 1 (x)+...+ f ( x n ) l n (x)=∑ f ( x i ) l i ( x)
i=0

En este caso f (x i)= yi , y l 0 , l 1 , ... , ln son polinomios que dependen de x 0 , x 1 ,... , x n . Se debe
cumplir que P( x i)=f ( xi )para i=0 , 1 ,... , n. Para ello, los polinomios l j ( x )cumplen la
siguiente propiedad

l j ( x i )= 0 si≠ j
{ 0 si i= j

con i , j=0 , 1 ,2 , ... ,n . Por ejemplo, el polinomio l 0 (x) ; será un polinomio de grado n que
tomará el valor 0 en x 1 , x 2 , ... , x n y el valor 1 en x 0. Claramente l 0 ( x) debe tomar la forma

n
l o (x )=( x− x1 )( x−x 2) ...( x−x n)=∏ (x−x j )
j=1

con lo cual l o (x )=0 si x=x 1 , x 2 ,... , x n. Para obtener el valor 1 se divide entre esta misma
expresión haciendo x=x 0.

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


n
( x−x 1 )( x −x2 ) … ( x−x n ) x −x j
lo ( x)= =∏
( x 0−x 1 ) ( x 0−x 2 ) … ( x 0−x n ) j=1 x 0−x j

Un razonamiento similar permite obtener el resto de losl i (x) , y entonces la forma general
de éstos polinomios es:

n
( x – x 1 ) ( x – x 2 ) … ( x – x i−1 ) ( x – x i+1 ) … ( x – xn ) x−x j
l i ( x )= = ∏
( x i – x 1) ( x i – x 2 ) … ( xi – x i−1 )( xi – x i+1 ) … ( x i – x n ) j=1 , j ≠i xi −x j

Interpolación polinómica de Newton

El polinomio de interpolación que concuerda con los n+1 puntos ( xi , f ( xi)) con i=¿1, 2, ...,
n, se puede expresar de la siguiente manera:

P( x )=a0 + a1 (x−x 0)+...+a n ( x−x 0)( x−x 1 )...( x−x n−1 )

para constantes apropiadas a i con i=0 , 1 ,2 , ... , n. Para hallar la primera constante a0, se
reemplaza x=x 0 en la ecuación anterior en donde se obtiene a 0=P(x 0)= y 0. De la misma
manera cuando se reemplaza x = x0 en la misma ecuación y teniendo en cuenta que
a 0=f ( x 0) y P( x 1 )=f ( x1 ), al despejar a 1 se obtiene:

P( x 1)=a0 +a 1(x 1−x 0 )

f (x 1)=f (x 0 )+ a1 ( x 1−x 0)

a 1( x 1−x 0 )=f (x 1)−f ( x 0 )

f (x 1)−f (x 0 )
a 1=
x1 −x0

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


PART III
PROGRAMACIÓN EN MATLAB

Interpolación de Lagrange (inter_lagrange.m)

% INTERPOLACION "POLINOMIO DE LAGRAGE"

clc %permite borrar el area de trabajo


clear %permite borrar las variables almacenadas
format long %permite utilizar la maxima capacidad de la
maquina

fprintf(' INTERPOLACION "POLINIMIO


DE LAGRAGE"\n\n\n');
xi=input('Ingrese los puntos pertenecientes a las x:
');
yi=input('Ingrese los puntos pertenecientes a las y:
');
%input es un comando de solicitud de entrada de datos
del usuario.
n=length(xi);
x=sym('x'); %esta funcion nos permite dejar la variable
'x' como simbolica
% y asi poder trabajar con ella, sin tener que
asignarle un valor.
for j=1:n
producto=1;
for i=1:j-1
producto=producto*(x-xi(i)); %calculo del
producto 1 superior de L
end
producto2=1;
for i=j+1:n
producto2=producto2*(x-xi(i)); %calculo del

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


producto 2 superior de L
end
producto3=1;
for i=1:j-1
producto3=producto3*(xi(j)-xi(i)); %calculo del
producto 3 inferior de L
end
producto4=1;
for i=j+1:n
producto4=producto4*(xi(j)-xi(i)); %calculo del
producto 4 inferior de L
end
L(j)=(producto*producto2)/(producto3*producto4);
%calculos de las L para
fprintf('\n L%d:\n',j-1) %poder
hallar el polinomio
disp(L(j)) %la funcion dispo nos permite visualizar
varibles o texto
% en el workspace
end
pn=0;
for j=1:n
pn=pn+L(j)*yi(j); %calculo del polinomio
interpolante
end
fprintf('\n POLINOMIO INTERPOLANTE: \n')
%disp(pn) % esta ejecucion la podemos utilizar
cuando no necesitamos
%simplicar la expresion
pn = simplify (pn); %este comando nos permite
simplificar toda la expresion
disp(pn)

opc=input('\nDesea aproximar un valor (si/no): ','s');


%este comando nos permite saber si el usuario quiere
obtener una
%aproximacion de un punto dado, en el polinomio que se
acaba de obtener
if opc=='si'
x=input('\nIngrese el punto a aproximar: ');
y=eval(pn); %evaluar el punto en el polinomio
disp('\nLa aproximacion a f(x) es:')

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


disp(y)
end

Interpolación de Newton(newton.m)

%Interpolacion de newton
clear;clc;
disp('metodos numericos');
disp('interpolacion');
disp('interpolacion');
n=input('ingrese el grado del polinomio, n=');
fprintf('Se necesitan %.0f puntos\n',n+1);
disp('ingrese los puntos');
for i=1:n+1
fprintf('x%.0f=',i-1);
X(i)=input(' ');
fprintf('y%.0f=',i-1);
Y(i)=input(' ');
end
DD=zeros(n+1);
DD(:,1)=Y;
for k=2:n+1
for J=k:n+1
DD(J,k)=[DD(J,k-1)-DD(J-1,k-1)]/[X(J)-X(J-
k+1)];
end
end
disp('La matriz de diferencias divididas es:');
disp(DD);
disp('El polinomio de newton es');
syms x;
polnew=DD(1,1);
P=1;
for i=1:n
P=P*(x-X(i));
polnew=polnew+P*DD(i+1,i+1);
end
polnew=expand(polnew);
pretty(polnew);
x=input('ingrese el valor de x a interpolar,x=');

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


vi=eval(polnew);
fprintf('el valor interpolado es %.2f\n',vi);
hold on;
ezplot(polnew,[X(1) X(n+1)]);
plot(x,vi,'r+');

PROBLEMAS RESUELTOS

En México el INEGI(*) lleva a cabo censos de población desde el año 1950, al principio se
llevaban a cabo cada 10 años ya que no se contaba con la tecnología actual y por lo tanto
era un proceso muy largo y costoso, pero a partir del año 1990 se comenzó a realizar
cada 5 años. Dichos estudios arrojan los siguientes resultados:

Año Total Hombres Mujeres


195 25 791 017 12 696 13 094 082
0 935
196 34 923 129 17 415 17 507 809
0 320
197 48 225 238 24 065 24 159 624
0 614
199 81 249 645 39 893 41 355 676
0  969
199 91 158 290 44 900 46 257 791
5  499
200 97 483 412 47 592 49 891 159
0  253
200 103 263 50 249 53 013 433
5  388 955
201 112 336 54 855 57 481 307
0 538 231

Un problema que surge naturalmente es el saber qué población hubo en algún año en el
que no se realizó un censo, aquí es donde intervienen los métodos numéricos.

Para encontrar una aproximación de población en algún año se recurre a la interpolación


polinomial, que consiste en hallar un polinomio que pase por todos los datos que tenemos
y nos pueda dar una aproximación al año que necesitemos, siempre y cuando el año
buscado este dentro del intervalo, en este caso desde 1950 a 2010.

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


Para lo cual se analizará la interpolación de los hombres y mujeres nacidos durante esos
años

Resolución Hombres

Resolución método de Lagrange

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


Resolución método de Newton

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)
Resolución Mujeres

Resolución método de Lagrange

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


Resolución método de Newton

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)
TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)
PART IV
CONCLUSIÓN

A través de la experimentación se denoto que los métodos de interpolación de Lagrange


y Newton sus resultados son semejantes pero su forma de trabajar los datos son
completamente diferentes, ya que considera a los datos de partida de distintas formas, lo
que hace posible que se estime un polinomios de valores diferentes pero de un mismo
grado, estos métodos son predictores es decir nos permite visualizar el comportamiento
en este caso de la población dentro de un año especifico según el rango de los datos
tomados, ha que tener presente que si desea obtener un dato fuera del rango de los
mismo con base en el polinomio obtenido los datos no serán exactos, una forma más
acertada de obtener una respuesta mas congruente sobre una estimación es dividir los
datos para obtener polinomio de un grado más pequeño , para poder visualizar la curva
que este genera.

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)


PART V
BIBLIOGRAFIA
GUTIERREZ, I. T. (05 de 12 de 2010). INSTITUTO TECNOLOGICO DE TUXTLA
GUTIERREZ. Obtenido de INSTITUTO TECNOLOGICO DE TUXTLA GUTIERREZ:
https://sites.google.com/site/sistrevolution/5-1-interpolacion
studocu. (10 de 01 de 2010). studocu. Obtenido de studocu:
https://www.studocu.com/es/document/universidad-de-leon-spain/metodos-
numericos-y-estadisticos/apuntes/tema-2-interpolacion-polinomial-y-
aplicaciones/3432619/view
valencia, u. d. (12 de 11 de 2016). universidad de valencia. Obtenido de universidad de
valencia: https://www.uv.es/~diaz/mn/node38.html
visuales, m. (05 de 05 de 2010). matematicas visuales . Obtenido de matematicas
visuales :
http://www.matematicasvisuales.com/html/analisis/interpolacion/lagrange.html
wikipedia. (02 de 02 de 2014). wikipedia. Obtenido de wikipedia:
https://es.wikipedia.org/wiki/Interpolaci%C3%B3n_polin
%C3%B3mica_de_Lagrange

TEMA – Aplicación Matlab © Universidad de las Fuerzas Armadas (ESPE)

También podría gustarte