Interpolación con Mathematica

4
Prácticas de Matemáticas con Mathematica . Fundamentos de Matemáticas III . Grado en Ingeniería Civil. Práctica nº 1. Interpolación polinómica. Departamento de Matemática Aplicada. E.P.S. de Zamora Universidad de Salamanca Ejemplo 1: Halle el polinomio de interpolación que pasa por los puntos {-1,1},{0,1},{1,1},{2,-5}. Para buscar posibles comandos del Mathematica que se refieran a la interpolación preguntamos utilizando comodines *: ?*Interpo* System` FunctionInterpolation Interpolation InterpolationPrecision InterpolatingFunction InterpolationOrder ListInterpolation InterpolatingPolynomi- al InterpolationPoints PeriodicInterpolation InterpolatingPolynomial@8 f 1 , f 2 , <, xD constructs an interpolating polynomial in x which reproduces the function values f i at successive integer values 1, 2, … of x. InterpolatingPolynomial@88x 1 , f 1 <, 8x 2 , f 2 <, <, xD constructs an interpolating polynomial for the function values f i corresponding to x values x i . InterpolatingPolynomial@888x 1 , y 1 , <, f 1 <, 88x 2 , y 2 , <, f 2 <, <, 8x, y, <D constructs a multidimensional interpolating polynomial in the variables x, y, …. InterpolatingPolynomial@888x 1 , <, f 1 , df 1 , <, <, 8x, <D constructs an interpolating polynomial that reproduces derivatives as well as function values. El comando InterpolatingPolynomial nos permite obtener el polinomio de interpolación pedido: pol = InterpolatingPolynomial@ 88- 1, 1<, 80, 1<, 81, 1<, 82, - 5<<,xD 1 + H1 - xL x H1 + xL

description

Se utiliza el programa Mathematica para realizar interpolación polinómica.

Transcript of Interpolación con Mathematica

Prácticas de Matemáticas con Mathematica .

Fundamentos de Matemáticas III . Grado en Ingeniería Civil.

Práctica nº 1. Interpolación polinómica.

Departamento de Matemática Aplicada.E.P.S. de Zamora

Universidad de Salamanca

Ejemplo 1: Halle el polinomio de interpolación que pasa por los puntos {-1,1},{0,1},{1,1},{2,-5}.

Para buscar posibles comandos del Mathematica que se refieran a la interpolación preguntamos utilizandocomodines *:

? *Interpo*

System`

FunctionInterpolation Interpolation InterpolationPrecision

InterpolatingFunction InterpolationOrder ListInterpolation

InterpolatingPolynomi-al InterpolationPoints PeriodicInterpolation

InterpolatingPolynomial@8 f1, f2, …<, xD constructs an interpolating polynomial

in x which reproduces the function values fi at successive integer values 1, 2, … of x.

InterpolatingPolynomial@88x1, f1<, 8x2, f2<, …<, xD constructs an interpolating

polynomial for the function values fi corresponding to x values xi.

InterpolatingPolynomial@888x1, y1, …<, f1<, 88x2, y2, …<, f2<, …<, 8x, y, …<D constructs

a multidimensional interpolating polynomial in the variables x, y, ….

InterpolatingPolynomial@888x1, …<, f1, df1, …<, …<, 8x, …<D constructs an interpolating

polynomial that reproduces derivatives as well as function values. �

El comando InterpolatingPolynomial nos permite obtener el polinomio de interpolación pedido:

pol = InterpolatingPolynomial@88-1, 1<, 80, 1<, 81, 1<, 82, -5<<, xD

1 + H1 - xL x H1 + xL

Expand@polD1 + x - x3

Dibujamos el polinomio de interpolación junto con los puntos por los que pasa:

Plot@pol, 8x, -2, 3<, Epilog ® 8Red, [email protected],

Map@Point, 88-1, 1<, 80, 1<, 81, 1<, 82, -5<<D<D

-2 -1 1 2 3

-20

-15

-10

-5

5

Para obtener el valor del polinomio en cualquier punto simplemente usamos la regla de sustitución:

pol �. x ® 3 � 4

85

64

Ejemplo 2: Halle mediante interpolación inversa una raiz aproximada de la ecuación Cos[x]=x.

Definimos la función cuya raiz queremos hallar:

f@x_D := Cos@xD - x

Hallamos el polinomio de interpolación que pasa por unos cuantos puntos de la función inversa, los cuales seobtienen cambiando las coordenadas de orden:

polInv = InterpolatingPolynomial@Table@8f@xD, x<, 8x, 0.5, 0.9, 0.05<D, xD

0.5 + H-0.377583 + xLH-0.609782 + H0.27839 + xL H-0.0866076 + H-0.0648422 + xL

H-0.0368423 + H0.103293 + xL H-0.0173298 +

H-0.302525 + xL H-0.00764755 + H0.190017 + xLH-0.00429573 + H-0.225336 + xL H-0.0022176 -

0.00128705 H0.0183111 + xLLLLLLLL Si dibujamos la función y el polinomio de interpolación inversa vemos que hay una aparente simetríarespecto del eje diagonal y=x, como ocurre con las gráficas de la función f y de su inversa f -1:

2 1 FM III (17-9-2012) Interpolación.nb

Plot@8x, f@xD, polInv<, 8x, -0.5, 1.2<,

AspectRatio ® Automatic, PlotRange ® 8-0.5, 1.2<D

-0.5 0.5 1.0

-0.5

0.5

1.0

El valor del polinomio de interpolación inversa en el punto x=0 es una aproximación de la raiz buscada:

raAprox = polInv �. x ® 0

0.739085

El valor de la función en la aproximación encontrada para la raiz deberá ser cercano a cero, y así ocurre:

[email protected]´10-11

Ejemplo 3: Halle mediante interpolación inversa una raiz aproximada de la ecuación Cos@xD = x2.

Se procede de manera parecida al ejercicio anterior y resulta:

f@x_D := Cos@xD - x^2

polInv = InterpolatingPolynomial@Table@8f@xD, x<, 8x, 0.4, 0.9, 0.02<D, xD;

H* el punto y coma al final evita que el

resultado salga por pantalla,

pero sí queda guardado en la memoria con lo que

podemos seguir haciendo cálculos con esa expresión *LraAprox = polInv �. x ® 0

0.824132

1 FM III (17-9-2012) Interpolación.nb 3

Plot@8x, f@xD, polInv<, 8x, -0.5, 1.2<,

AspectRatio ® Automatic, PlotRange ® 8-0.5, 1.2<D

-0.5 0.5 1.0

-0.5

0.5

1.0

[email protected]´10-12

4 1 FM III (17-9-2012) Interpolación.nb