Interpolacion Lagrange

88  Download (6)

Full text

(1)

PRESENTACION

PRESENTACION

INDICE

INDICE

MARCO TEORICO

MARCO TEORICO

INTERPOLACIÓN POLINÓMICA

INTERPOLACIÓN POLINÓMICA

La interpolación polinómica es un método usado para conocer, de un modo

La interpolación polinómica es un método usado para conocer, de un modo  aproximado,  aproximado,  los  los

valores que toma cierta función de la cual sólo se conoce su imagen en un número finito de

(2)

abscisas. A menudo, ni siquiera se conocerá la expresión de la función y sólo se dispondrá de los valores que toma para dichas abscisas.

El objetivo será hallar un polinomio que cumpla lo antes mencionado y que permita hallar aproximaciones de otros valores desconocidos para la función con una precisión deseable fijada. Por ello, para cada polinomio interpolador se dispondrá de una fórmula del error de interpolación que permitirá ajustar la precisión del polinomio.

La interpolación polinomial (ajustar un polinomio a los puntos dados) es uno de los temas más importantes en métodos numéricos, ya que la mayoría de los demás modelos numéricos se basan en la interpolación polinomial.

Por ejemplo, los modelos de integración numérica se obtienen integrando fórmulas de interpolación polinomial, y los modelos de diferenciación numérica se obtienen derivando las interpolaciones polinómicas.

INTERPOLACIÓN DE LAGRANGE

En análisis numérico,  el polinomio de Lagrange, llamado así en honor a Joseph-Louis de Lagrange, es una forma de presentar el polinomio que interpola un conjunto de puntos dado. Lagrange publicó este resultado en 1795, pero lo descubrió Edward Waring en 1779 y fue redescubierto más tarde por  Leonhard Euler en 1783.  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.

Esquema de interpolación de Lagrange:

ESQUEMA DE

INTERPOLACIÓN

VENTAJAS

DESVENTAJAS

Interpolación de Lagrange. Forma conveniente

Fácil de programar.

Difícil de manejar para los cálculos manuales.

INTERPOLACIÓN POLINÓMICA DE LAGRANGE

¿Pueden ajustarse

tres o cuatro

 datos por medio de una curva? Uno de los métodos fundamentales para encontrar una función que pase a través de datos dados es el de usar un polinomio. (Ver Figura 01)

(3)

La interpolación polinomial se puede expresar en varias formas alternativas que pueden transformarse entre sí. Entre éstas se encuentran las series de potencias,

la

interpolación de Lagrange (que es la que estudiaremos en la presente

monografía)

y Ia interpolación de Newton hacia atrás y hacia adelante.

Como se verá después con más detalle, un polinomio de orden N que pasa a través de N+1 puntos es único. Esto significa que, independientemente de la fórmula de interpolación, todas las interpolaciones polinómicas que se ajustan a los mismos datos son matemáticamente idénticas.

Suponga que se dan N+1 puntos como:

X0 X1… XN

f0 f1… fN

donde son las abscisas de los puntos (puntos de Ia malla) dados en orden

X0 X1…

creciente. Los espacios entre los puntos de Ia malla son arbitrarios. El polinomio de orden N  que pasa a través de los N+1 puntos se puede escribir en una serie de potencias como:

g

(

x

)

=a0+a1x+a2x2+…+aNxN

Donde los

ai

son coeficientes. El ajuste de la serie de potencias a los N+1 puntos dados da un sistema de ecuaciones:

f0=a0+a1x0+a2x02+…+aNx0N

f1=a0+a1x1+a2x12+…+aNx1N

.

.

.

fN=a0+a1xN+a2xN2+…+aNxNN

 Aunque los coeficientes

ai

pueden determinarse resolviendo las ecuaciones simultáneas por medio de un programa computacional, dicho intento no es deseable por dos razones. Primera, se necesita un programa que resuelva un conjunto de ecuaciones lineales; y segunda, la solución de la computadora quizá no sea precisa. (Realmente, las potencias de xi en la ecuación pueden ser números muy grandes, y Si es así, el efecto de los errores por redondeo será importante.) Por fortuna, existen mejores métodos para determinar una interpolación polinomial sin resolver las ecuaciones lineales.

Entre éstos están Ia formula de interpolación de Lagrange y Ia formula de interpolación de Newton hacia adelante y hacia atrás.

Para presentar Ia idea básica que subyace en Ia formula de Lagrange, considere el producto de factores dados por:

(4)

que se refiere a los N+1 puntos dados antes.

x= x1,x2,.…, xN

Si dividimos V0(x)entre V0(x0), la función resultante.

V0

(

x

)

=

(

x-x1

)(

x-x2

)

…(x-xN)

(

x0-x1

)(

x0-x2

)

…(x0-xN)

toma el valor de uno para

x= x0

y de cero para

x= x1

,

x= x2,…,x=xN

. En forma análoga, podemos escribir

Vi

 como:

Vi

(

x

)

=

(

x-x0

)(

x-x1

)

…(x-xN)

(

xi-x0

)(

xi-x1

)

…(xi-xN)

donde el numerador no incluye(x-xi) y el denominador no incluye (xi-x)

.

La

función Vi(x) es un polinomio de orden N y toma el valor de uno en x-xi , y de cero

enx=xj , j≠i. Asi, si multiplicamos V0(x),V1(x),…,VN(x), porf0,f1,…,fNrespectivamente y las sumamos, el resultado será un polinomio de orden a lo más Ne igual afi para cadai=0hasta

i=N.

g(x)=(x-x1)(x-x2)…(x-xN) (x0-x1)(x0-x2)…(x0-xN)f0+

(x-x0)(x-x2)…(x-xN) (x1-x0)(x1-x2)…(x1-xN)f1 . . .

(x-x0)(x-x1)…(x-xN-1) (xN-x0)(xN-x1)…(xN-xN-1)fN

Ecuación (a)

La ecuación (a) es equivalente a Ia serie de potencias que se determina resolviendo la ecuación lineal. Parece complicado, pero incluso Ia memorización no es difícil si se entiende La estructura.

METODO NUMERICO

Ejemplo:

Las densidades de sodio para tres temperaturas están dadas c omo sigue:

Temperatura (°c) Densidad (

km

/

m3

)

I

Ti pi

0

94

929

1

205

902

2

371

860

a. Escriba a formula de

interpolación de Lagrange

que se ajusta a los tres datos. b. Determine Ia densidad para T = 251 °C utilizando a interpolación de Lagrange (aI calcular el valor de g(x), no desarrolle Ia fórmula en una serie de potencias).

Resolución:

a. Ya que el número de datos es tres, el orden de Ia formula de Lagrange es

N = 2

. La interpolación de Lagrange queda:

(5)

b. Sustituyendo T = 251 en Ia ecuación anterior, obtenemos

g (251) = 890.6 kg/m3

(Comentarios: al evaluar g(x) por un valor dado x, no se debe desarrollar Ia formula de interpolación de Lagrange en una serie de potencias, porque no solo es molesto sino además se incrementa Ia posibilidad de cometer errores humanos.)

La ecuación (a) es particularmente larga si el orden N es grande. Sin embargo, su escritura en un programa de computación necesita únicamente un número pequeño de líneas: Observando Ia ecuación (a), se reconoce que el primer término es f0 veces un producto de

(x-xi)(x0-xi)

para todai excepto parai=0. El segundo término esf0 veces un producto de. (x-xi)(x1-xi)

(6)

MODELO (Enfoque Algorítmico)

Entrada: Número de datos n, datos (x,f(x)) y el valor para el que se desea interpolar xint

1.- Hacer f(xint)=0 2.- Hacer i=0

3.- Mientras i<=n-1 hacer

4.- Hacer L=1 5.- Hacer j=0 6.- Mientras j<=n-1 hacer 7.- Si i  j entonces 8.- Hacer 9.- Hacer j=j+1 10.- Hacer f(xint)=f(xint)+L*f(x(i)) 11.- Hacer i=i+1 12.- Imprimir f(xint)

PROGRAMACION (Codigo en Lenguaje de alto nivel) EN C#

 public void lagrange(double[] vector, double[] y, double xvalor)

{

double[] algo = new double[vector.Length];

double Products;

StringBuilder sb = new StringBuilder();

for (int i = 0; i < vector.Length; i++)

{

Products = 1;

for (int j = 0; j < vector.Length; j++)

{

if (i != j)

{

Products *= (xvalor - vector[j]) / (vector[i] - vector[j]);

}

(7)

}

algo[i] = Products;

sb.AppendLine("L" + i + " =" + Products);

Products = 1;

}

double pol = 0;

for (int i = 0; i < vector.Length; i++)

{

 pol += algo[i] * y[i];

}

sb.AppendLine("P" + "(" + xvalor + ")" + " =" + pol);

richTextBox1.Text = (richTextBox1.Text + sb.ToString());

sb.Clear();

(8)

IMPLEMENTACION DE LA INTERPOLACION DE LAGRANGE EN

MATLAB.-Le damos el nombre de

INTERPOLACION_ DE_LAGRANGE

a nuestra función, pues

esta debe ser diferente a

las que existen en

Tendremos como parámetros de entrada a valor y cantidad de términos.

Declaramos los arreglos que almacenaran los datos de X e Y.

Declaremos los arreglos que guardaran los resultados parciales.

Inicializaremos al Acumulador De Resultados Parciales en

Tendremos un for que ira desde i=1 hasta cantidad

Términos, para ingresar los valores de X.

Tendremos un for que ira desde i=1 hasta cantidad

Términos, para ingresar los valores de Y.

Tendremos un bucle anidado que

calculara los Vi, donde se tendrá un

for

para

inicializar

ResultadoParcial_Vi=1, luego el otro

for calculara el resultado parcial de

cada Vi y finalmente almacenarlo en

Tendremos un bucle anidado que calculara los Wi, donde se tendrá

un for para inicializar ResultadoParcial_Wi=1, luego el otro for

calculara el resultado parcial de cada Vi siempre y cuando cumpla

con la condición de que sean diferentes y finalmente almacenarlo

en el arreglo de los Wi.

(El valor de g (%0.2) es: %0.10f \n, valor, Acumulador De Resultados Parciales) nos imprimirá

dentro del () el valor de X que ingresamos con 0 espacios y 2 decimales. Y %0.10f que nos imprimirá

el Acumulador De Resultados Parciales con 0 espacios y 10 decimales, que será nuestro valor final

de x .

Para utilizar la fórmula de g(x)

primero recorreremos los arreglos y

así obtendremos los resultados

anteriormente calculados de Vi, Yi y

Wi. Y así podremos operarlos y

obtener nuestro g(x.)

(9)

RESULTADOS

CONCLUSIONES

BIBLIOGRAFÍA

Figure

Updating...

References

Related subjects :