• No se han encontrado resultados

POLINOMIOS E INTERPOLACIÓN

N/A
N/A
Protected

Academic year: 2021

Share "POLINOMIOS E INTERPOLACIÓN"

Copied!
71
0
0

Texto completo

(1)
(2)

2

POLINOMIOS E INTERPOLACIÓN

OBJETIVO:

REALIZAR OPERACIONES CON POLINOMIOS E INTERPOLAR

DATOS UNIDIMENSIONALES, BIDIMENSIONALES Y

MULTIDIMENSIONALES.

CONTENIDO:

Interpolación polinomial.

Métodos de interpolación.

Funciones polinómicas y operaciones con polinomios.

Derivada de un polinomio.

Ajuste de curvas.

Expansión en fracciones parciales.

(3)

3

INTERPOLACIÓN POLINOMIAL

El objetivo principal de la interpolación polinomial es estimar los valores funcionales para uno o más valores de la variable independiente desconocida, a partir de un conjunto de datos discretos de una función dada, es así que a continuación se presenta una definición y algunos métodos de interpolación.

Definición.- Dados

n

1

puntos de una función

f

:

, un polinomio

P

de grado menor o igual a

n

que pasa por cada uno de los

n

1

puntos dados, es llamado polinomio interpolador de

f

.

En general el polinomio puede escribirse como:

1 2

1 2 1 0

( )

n n n n

...

P x

a x

a

x

 

a x

a x

a

Proposición.- Dada una función

f

:

,

x

0

x

1

x

2

...

x

ny

(

x

0

,

y

0

)

,

(

x

1

,

y

1

)

,

2 2

(

x

,

y

)

, …,

(

x

n

,

y

n

)

,

n

1

puntos distintos de

f

, existe exactamente un polinomio

( )

P x

de grado menor o igual a

n

que interpola a

f

.

Demostración. Supongamos que existen dos polinomios

P

y

Q

distintos que interpolan a

(4)

4

Es decir:

( )

i

( ),

i

0,1,..., .

f x

P x

i

n

y

f x

( )

i

Q x

( ),

i

i

0,1,..., .

n

Definamos

H x

( )

P x

( )

Q x

( )

; el cual es de grado menor o igual a

n

. Evaluando

H

en

x

i, para

i

0,1,..., .

n

( )

i

( )

i

( )

i

( )

i

( )

i

0.

H x

P x

Q x

f x

f x

( )

i

0.

H x

, para

i

0,1,..., .

n

De donde se obtiene que

H

posee

n

1

raíces, dado que

H

es un polinomio de grado menor o igual a

n

, esto contradice el Teorema Fundamental de Álgebra.

Por lo tanto, existe un único polinomio

P

que interpola a

f

.

Ejemplo:Dada una función

f

:

y

( 1 , 1)

 

,

(3 , 7)

, puntos distintos de

f

El polinomio de grado uno que interpola a estos datos, esto es:

( )

2

1

(5)

5

MÉTODOS DE INTERPOLACIÓN

Método de Lagrange

Este método construye un polinomio interpoladorde orden

n

para

n

1

puntos dados en la forma: 0 1 2 3 1 0 2 3 0 1 2 1

( )

(

)(

)(

)....(

)

(

)(

)(

)....(

)

...

(

)(

)(

)....(

).

n n n n

P x

a x

x

x

x

x

x

x

x

a x

x

x

x

x

x

x

x

a x

x

x

x

x

x

x

x

Reemplazando los puntos dados en el polinomio se obtiene el valor de los coeficientes

0 0 0 1 0 2 0 3 0

(

)(

)(

)....(

n

)

y

a

x

x

x

x

x

x

x

x

1 1 1 0 1 2 1 3 1

(

)(

)(

)....(

n

)

y

a

x

x

x

x

x

x

x

x

2 2 2 0 2 1 2 3 2

(

)(

)(

)....(

n

)

y

a

x

x

x

x

x

x

x

x

………… 1 2 3 1

(

)(

)(

)....(

)

n n n n n n n

y

a

x

x

x

x

x

x

x

x

.

Ejemplo:Consideremos una función

f

:

y

(1 , 2)

,

(3 , 1)

,

(5 , 4)

,puntos distintos de

f

.

Construyamos el polinomio

0 1 2

( )

(

3)(

5)

(

1)(

5)

(

1)(

3).

P x

a x

x

 

a x

x

 

a x

x

(6)

6

0

0.25

a

,

a

1

 

0.25

,

a

2

0.5

Donde:

( )

0.25(

3)(

5) 0.25(

1)(

5) 0.5(

1)(

3).

P x

x

x

 

x

x

 

x

x

Ejemplo:Hallar el polinomio interpolador para la función

f

:

y

(0 , 0)

,

(1 , 1)

,

(3 , 21) (4 , 52)

puntos distintos de

f

.

.

( )

0.166( )(

3)(

4) 3.5( )(

1)(

4) 4.33( )(

1)(

3).

P x

 

x x

x

 

x x

x

 

x x

x

(2)

4.66672

P

(7)

7

Método: Serie de Potencias

Este método construye unpolinomio interpoladorde orden

n

1 2

1 2 1 0

( )

n n n n

...

P x

a x

a

x

 

a x

a x

a

para

n

1

puntos dados,reemplazando los puntos dados en el polinomio y resolviendo el sistema de ecuaciones generado, hallando de esta manera sus coeficientes.

Ejemplo:Consideremos una función

f

:

y

( 2 , 10)

,

( 1 , 4)

,

(1 , 6) (2 , 3)

,puntos distintos de

f

.

Construyamos

P x

( )

a x

3 3

a x

2 2

a x

1

a

0.

Reemplazando los valores en el polinomio se obtiene el siguiente sistema de ecuaciones:

3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0

8

4

2

10

4

6

8

4

2

3

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

Esto es equivalente al sistema:

3 2 1 0

8

4

2 1

10

1

1

1 1

4

1

1 1

1

6

8

4

2 1

3

a

a

a

a

 

 

 

 

 

 

 

 

 

 

 

 

Obteniendo así el resultado:

a

3

 

0.19167,

a

2

0.5,

a

1

1.9167,

a

0

4.5

y el polinomio:

P x

( )

 

0.9167

x

3

0.5

x

2

1.9167

x

4.5

En forma general para

n

1

puntos el polinomio es de la forma:

1 2

1 2 1 0

( )

n

...

n

(8)

8

Y el sistema: 2 1 2 1 1 1 0 1 2 2 2 2 1 2 0 2 2 1 2 1 1 1 0 1

...

...

...

...

...

n n n n n n n n n n

a x

a x

a x

a

y

a x

a x

a x

a

y

a x

a x

a x

a

y

 

La matriz de coeficientes de este sistema se conoce como la matriz de Vandermonde y se puede demostrar que es no singular si los

x

i son todos distintos. (Esta condición se asumirá de aquí en adelante). De modo que el polinomio de interpolación

P x

n

( )

exista por la proposición anterior.

Ejemplo:Hallar el polinomio interpolador para la función

f

:

y

(1 , 0)

,

(2 , 4)

,

(3 , 3) (5 , 8)

,

(6 , 9)

puntos distintos de

f

.

El polinomio es:

4 3 2

( )

0.2667

3.85

18.93

37.85

22.5

(9)

9

Archivo m: Parautilizar el siguiente programa las variables

x

e

y

deben ser arreglos y escritos entre corchetes, digitar en la ventana de comandos:

(10)

10

Método: Newton.

Este método construye el polinomio interpolador de orden

n

en la siguiente forma:

0 1 1 2 1 2 1 2

( )

(

)

(

)(

) ...

n

(

)(

)...(

n

)

P x

a

a x

x

a x

x

x

x

 

a x

x

x

x

x

x

para

n

1

puntos dados reemplazando los puntos dados en el polinomio, lo que permite obtener una matriz de coeficientes triangular inferior. Esto es una gran ventaja ya que la matriz de Vandermonde es densa y en general mal acondicionada.

Ejemplo:Consideremos una función

f

:

y

( 2 , 10)

,

( 1 , 4)

,

(1 , 6) (2 , 3)

,puntos distintos de

f

.

Construyamos.

P x

( )

a

0

a x

1

(

 

2)

a x

2

(

2)(

x

 

1)

a x

3

(

2)(

x

1)(

x

1)

Reemplazando los valores en el polinomio se obtiene el siguiente sistema de ecuaciones:

0 0 1 0 1 2 0 1 2 3

10

4

3

6

6

4

12

12

3

a

a

a

a

a

a

a

a

a

a

Esto es equivalente al sistema:

0 1 2 3

1

0

0

0

10

1 1

0

0

4

1

3

6

0

6

1

4 12 12

3

a

a

a

a

 

 

 

 

 

 

 

 

 

 

 

 

Obteniendo así el resultado:

a

0

10,

a

1

 

6,

a

2

7 / 3,

a

3

 

11/12.

y el polinomio:

( ) 10 6(

2)

(7 / 3)(

2)(

1) (11/12)(

2)(

1)(

1)

(11)

11

Ejemplo:Hallar el polinomio interpolador para la función

f

:

y

(1 , 0)

,

(2 , 4)

,

(3 , 3) (5 , 8)

,

(6 , 9)

puntos distintos de

f

.

( ) 4(

1) 2.5(

1)(

2) 0.916(

1)(

2)(

3) 0.26(

1)(

2)(

3)(

5)

P x

x

 

x

x

 

x

x

x

 

x

x

x

x

Cálculo de

a

imediante diferencias divididas:

Las diferencias divididas de orden 0, 1, 2, ..., n se pueden deducir recursivamente por medio de las siguientes relaciones:

 

0

( )

0

f x

f x

   

1 0 0 1 1 0

,

f x

f x

f x x

x

x

1 2

 

0 1

2 1 1 0 0 1 2 2 0 1 0 2 1 1 0

,

,

1

( )

( )

( )

( )

, ,

f x x

f x x

f x

f x

f x

f x

f x x x

x

x

x

x

x

x

x

x

(12)

12

1

 

0 1

0 0

,...,

,...,

,...,

k k k k

f x

x

f x

x

f x

x

x

x

Ejemplo: Consideremos los valores de una función f en forma tabular:

x f(x)

x0 = -2 f[x0]=10

x1 = -1 f[x1]=4

x2 =1 f[x2]=6

x3 =2 f[x3]=3

La tabla de diferencias divididas es:

x f[x0] f[x0, x1] f[x0, x1 , x2] f[x0, x1 , x2, x3 ,] -2 10 (4 -10)/(-1+2) = -6 (1+6)/(1+2) =7/3 (-4/3-7/3)/(2+2) = - 11/12 -1 4 (6-4)/(1+1) =1 (-3-1)/(2+1) =-4/3 1 6 (3-6)/(2-1) = -3 2 3

(13)

13

Simplificando se obtiene: x f[x0] f[x0, x1] f[x0, x1 , x2] f[x0, x1 , x2, x3 ,] -2 10 -6 7/3 -11/12 -1 4 1 -4/3 1 6 -3 2 3

Donde en la primera fila se observan los coeficientes del polinomio

0 1 2 3

( )

(

2)

(

2)(

1)

(

2)(

1)(

1)

P x

a

a x

 

a x

x

 

a x

x

x

.

Para el caso general de

n

1

puntos buscamos los coeficientes del polinomio:

0 1 1 2 1 2 1 2

( )

(

)

(

)(

) ...

n

(

)(

)...(

n

)

P x

a

a x

x

a x

x

x

x

 

a x

x

x

x

x

x

A continuación presentamos el archivo m, que determina la tabla de las diferencias divididas y los coeficientes del polinomio de Newton.

(14)

14

Archivo m: Parautilizar el siguiente programa las variables

x

e

y

deben ser arreglos y escritos entre corchetes, digitar en la ventana de comandos:

(15)

15

Interpolación Polinomial por Partes

El uso de polinomios de interpolación de alto grado puede producir errores grandes debido al alto grado de oscilación de este tipo de polinomios. Para evitar este problema se busca aproximar la función desconocida en intervalos pequeños usando polinomios de grado bajo. El caso más común de la interpolación por partes es usar polinomios cúbicos.

Polinomios Cúbicos de Lagrange: Este método considera que

n

es divisible por tres y busca un polinomio cúbico que interpole a la función en los puntos

x

3j3

,

x

3j2,

x

3j1,

x

3j. Este polinomio está dado en su representación de Lagrange como:

3 2 3 1 3 3 3 3 3 3 1 3 3 2 3 3 3 3 3 2 3 3 1 3 3 3 2 3 1 3 3 3

1

1

( )

(

)(

)(

)

(

)(

)(

)

6

2

1

1

(

)(

)(

)

(

)(

)(

)

2

6

j j j j j j j j j j j j j j j j

P x

x

x

x

x

x

x

y

x

x

x

x

x

x

y

h

h

x

x

x

x

x

x

y

x

x

x

x

x

x

y

h

h

           

Para

1

 

j

n

/ 3

,

x

3j3

 

x

x

3jy

h

x

i1

x

ise asume constante

i

.

Interpolación de Hermite: Este método construye un polinomio por partes

H x

n

( )

que sea cúbico en cada subintervalo

x

i1

x

i

, 1

 

i

n

.

y que interpole a

f x

( )

y

f

'( )

x

en los puntos

x

0

,...,

x

n

. La función

H x

n

( )

queda determinada en forma única por estascondiciones y su cálculo requiere de la solución de

n

sistemas lineales de orden 4x4 cada uno. La desventaja de la interpolación de Hermite es que requiere de la disponibilidad de los

f

'( ), 0

x

i

 

i

n

lo cual no es el caso en muchas aplicaciones.

Interpolación Spline: Los dos tipos de polinomios por partes que hemos discutidos hasta ahora tienen la desventaja de que su segunda derivada no es continua en los puntos de interpolación. Se ha observado que en aplicaciones gráficas, el ojo humano es capaz de detectar discontinuidades en las segundas derivadas de una función, haciendo que los gráficos con este tipo de funciones no luzcan uniformes. Esto motiva el uso de los splines que son funciones

s x

( )

continúas por partes con las siguientes propiedades:

(16)

16

2.

s x s

'( ), ''( )

x

existen y son continuas en

x x

0

,

n

.

3.

s x

( )

interpola a la función

f

en los datos

( ,

x y

i i

), 0

 

i

n

. 4.

s x

( )

es continua en

x x

0

,

n

.

Siescribimos

s x

( )

a x

3

(

x

0

)

3

a x

2

(

x

0

)

2

a x

1

(

x

0

)

a

0,

 

x

x

i1

,

x

i

, 1

 

i

n

.

e ntonces tenemos un total de

4

n

valores desconocidos. Las condiciones 2) y 4) nos dan

3(

n

1)

ecuaciones mientras que de 3) obtenemos

n

1

para un total de

2

grados de libertad. Estos grados de libertad se fijan imponiendo condiciones de frontera adicionales en

s x

( )

.

Ejemplo:Hallar

f

(4)

en el polinomio interpolador para la función

f

:

en los puntos

(1 , 0)

,

(2 , 4)

,

(3 , 3) (5 , 8)

,

(6 , 9)

El polinomio cúbico en el intervalo

 

3,5

es:

3 2

( )

0.60714(

3)

2.5357(

3)

0.19286(

3) 3

P x

 

x

x

x

 

(4)

4.7857

(17)

17

Los 3 polinomios restantes son:

El polinomio cúbico en el intervalo

 

1, 2

es:

3 2

( ) 1.6786(

1)

7.5357(

1)

9.8571(

1)

P x

x

x

x

El polinomio cúbico en el intervalo

 

2,3

es:

3 2

( ) 1.6786(

2)

2.5(

2)

0.1786(

2) 4

P x

x

x

x

 

El polinomio cúbico en el intervalo

 

5, 6

es:

3 2

( )

0.60714(

5)

1.1071(

5)

2.7143(

5) 8

P x

 

x

x

x

 

Matlab provee un comando para determinar los coeficientes de los polinomios del Spline, a continuación se presenta en un archivo m.

Archivo m: Parautilizar el siguiente programa las variables

x

e

y

deben ser arreglos y escritos entre corchetes, digitar en la ventana de comandos:

(18)

18

Condición Natural de los Splines: Para fijar los dos grados de libertad en el spline, requerimos que

s x

( )

sea lineal en los intervalos



,

x

0

], [

x

n

,

lo cual es equivalente a las condiciones

s

''( )

x

0

s

''(

x

n

)

0

.

Para el caso de implementar esta opción en Matlab se usa el formato: ps=spline(x,[0 y 0]).

Mínimos Cuadrados Polinomiales

Consideremos ahora el problema de aproximar una función en un número grande de puntos que contienen posiblemente un cierto grado de error. En lugar de tratar de ajustar un polinomio de alto grado o insistir en interpolar puntos que sabemos tienen un cierto grado de error, lo que hacemos es que buscamos una función que en cierto sentido suavice las fluctuaciones en los puntos y a la vez resalte las características esenciales de estos. En el método de los mínimos cuadrados, se trata de minimizar la suma de los cuadrados de las diferencias entre los valores y la función que se usa para aproximar estos valores.

Suponga que los valoresestán dados por

(

x y

k

,

k

)

, donde

k

1, 2,...,

m

. La función que usamos para aproximar estos datos tiene la forma general:

1 1 2 2

( )

( )

( ) ...

n n

( )

g x

a

x

a

x

 

a

x

y las funciones

i

( ) :1

x

 

i

n

son funciones dadas y los

a

i

:1

 

i

n

son desconocidas.

Un caso común es tomar

i

( )

x

x

i1

:1

 

i

n

y en este caso decimos que buscamos aproximar los datos con un polinomio de grado a lo más

n

1

. Las diferencias entre los datos y la función

g x

( )

están dadas por:

1 1 2 2

(

( )

( ) ...

( )), 1

k

y

k

a

x

a

x

a

n n

x

k

n

 

 

Buscamos pues minimizar la suma de los cuadrados de estas diferencias dada por:

2 1 m k k

S

(19)

19

Bajo ciertas condiciones en los datos

( ,

x y

k k

), 1

 

k

m

, los valores de

a

i

:1

 

i

n

que minimizan a

S

son solución del sistema lineal (ecuaciones normales):

t t

A Aa

A b

Dónde: 1 1 2 1 3 1 1 1 2 2 2 3 2 2 1 3 2 3 3 3 3 1 2 3

( )

( )

( )

...

( )

(

)

(

)

(

)

...

(

)

( )

( )

( )

...

( )

...

(

)

(

)

(

) ...

(

)

n n n m m m n m

x

x

x

x

x

x

x

x

A

x

x

x

x

x

x

x

x

, 1 2 3

...

n

a

a

a

a

a

 

 

 

 

 

 

 

 

, 1 2 3

...

m

y

y

b

y

y

 

 

 

 

 

 

 

 

La solución

a

de las ecuaciones normales se conoce como la solución de mínimos cuadrados para los datos

( ,

x y

k k

), 1

 

k

m

, usando las funciones base

i

( ) :1

x

 

i

n

. En el caso

i

( )

x

x

i1

:1

 

i

n

el problema de minimizar

S

se conoce como el problema de Mínimos Cuadrados Polinomiales y la matriz A toma la forma:

2 1 1 1 1 2 1 2 2 2 2 1 3 3 3 2 1

1

...

1

...

1

...

...

1

...

n n n n m m m

x x

x

x

x

x

A

x

x

x

x

x

x

   

 

.

(20)

20

Ejemplo:Consideremos una función

f

:

y

(1 , 2)

,

(3 , 1)

,

(5 , 4) (6 , 3) (10 , 5)

puntos distintos de

f

.

El polinomio de segundo grado es:

P x

( )

0.011836

x

2

0.25905

x

1.3

(21)

21

Polinomios lineales: Este método construye una función lineal en cada par de puntos consecutivos, esto es para

A x y

( , )

i i

y

B x

(

i1

,

y

i1

)

.

1 1 1

( )

i i

(

)

i i i i i

y

y

P x

y

x

x

x

x

  

 

,

 

i

0,...,

n

Ejemplo:Hallar

f

(3)

en el polinomio interpolador para la función

f

:

en los puntos ,

(2 , 1)

,

(4 , 2) (5 , 6)

,

(6 , 7)

El polinomio lineal en el intervalo

 

4,5

es:

( ) 1 0.5(

2)

P x

 

x

(3)

1.5

(22)

22

FUNCIONES POLINÓMICAS Y DE INTERPOLACIÓN

Matlab provee funciones para operaciones polinómicas, raíces polinómicas, evaluacióny diferenciación.Ademáspresenta funciones más avanzadas,como ajuste de curvas y expansión en fracciones parciales, las cuales tienen aplicaciones importantes en las áreas como señal y el procesamiento de imágenes.

Matlab representa polinomios ordenados en forma descendente como vectores fila, donde sus coeficientes se ingresan en una matriz.

Función Descripción

conv(P,Q) Multiplica los polinomios

P

y

Q

.

decon(P,Q) Divide polinomios

P

y

Q

.

poly(r) Calcula los coeficientes de un polinomio partiendo de sus

raíces.

polyder( P) Calcula los coeficientes de la deriva del polinomio

P

.

polyfit(x,y) Ajuste polinómico para un conjunto de puntos x, y.

polyval( P ,x) Evalúa el polinomio

P

en x.

polyvalm(A) Evalúa un polinomio con argumento matricial.

residue(a,b) Calcula la expansión en fracciones parciales de a y b.

(23)

23

Multiplicación de Polinomios

Ejemplo: Consideremos el polinomio

P x

( )

x

2

2

x

3

y

Q x

( )

4

x

2

5

x

6

. >> P = [ 12 3 ];

>> Q = [ 45 6 ]; >> R = conv(P,Q)

Nos devuelve como resultado:

4 13 28 27 18

Esto es

R x

( )

P x Q x

( ) ( )

4

x

4

13

x

3

28

x

2

27

x

18

.

División de Polinomios

Ejemplo: Consideremos el polinomio

P x

( )

4

x

3

x

2

2

x

3

y

Q x

( )

x

2

3

x

6

>> P = [ 4 1 -2 3 ];

>> Q = [ 1 3 6 ]; >> [cr] = deconv(P,Q)

Nos devuelve como resultado: c =

4 -11 r =

0 0 7 69

(24)

24

Raíces de Polinomios

Ejemplo: Consideremos el polinomio

P x

( )

x

3

2

x

5

>>P = [1 0 -2 -5];

>> r = roots(P)

Nos devuelve como resultado:

2.0946

-1.0473 + 1.1359i -1.0473 - 1.1359i

Observación.- Por convención,Matlab almacena las raíces en vectores columna.

Coeficientes de un Polinomio a partir de sus raíces

Consideremos las raíces

r

1

2.0946

,

r

2

 

1.0473 1.1359

i

,

r

3

 

1.0473 1.1359

i

de un polinomio

P

.

Ejemplo:

>> r = [ 2.0946 -1.0473 + 1.1359i -1.0473 - 1.1359i ]; >> p = poly(r)

Nos devuelve como resultado:

1 0 -2 -5

Esto es

P x

( )

x

3

2

x

5

La función poly calcula los coeficientes del polinomio característico en el caso que su argumento sea una matriz.

(25)

25

Ejemplo:

>>A = [1.2 3 -0.9; 5 1.75 6; 9 0 1]; >>poly(A)

Nos devuelve como resultado:

1.0000 -3.9500 -1.8500 -163.2750

Estos son los coeficientes del polinomio característico de la matriz A, y las raíces de este polinomioson los auto valoresde la matriz.

Derivada de un polinomio

Ejemplo: Consideremos

P x

( )

2

x

4

 

x

3

3

x

2

5

x

9

el polinomio a derivar. >> P = [ 2 -1 3 5 9];

>>polyder(P)

Nos devuelve como resultado:

8 -3 6 5

Esto es

P x

'( )

8

x

3

3

x

2

6

x

5

Derivada de un producto de Polinomios

polyder. - Calcula la derivada de un producto P*Q con un solo argumento de salida.

(26)

26

>> P = [1 -5 9]; >> Q = [1 1 -1]; >>R = polyder(P,Q)

Nos devuelve como resultado:

4 -12 6 14

Esto es

R x

( )

( ( ) ( )) '

P x Q x

4

x

3

12

x

2

6

x

14

Derivada de un cociente de Polinomios

polyder calcula la derivada de un cociente P/Q con dos argumentos de salida. Ejemplo: Consideremos

P x

( )

x

2

5

x

9

y

Q x

( )

 

x

7

>> P = [1 -5 9]; >> Q = [17];

>> [n d ] = polyder(P,Q) Nos devuelve como resultado:

n = 1 14 -44 d = 1 14 49 Esto es

n x

( )

x

2

14

x

44

numerador y

d x

( )

x

2

14

x

49

el denominador.

(27)

27

AJUSTE POLINÓMICO DE CURVAS

Matlab utiliza el método de los mínimos cuadrados para realizar el ajuste de curvas a través de un polinomio, considerando para ello un conjunto de datos tabulados de la curva.

Ejemplo: Consideremos los puntos de la siguiente tabla

x 0 1 2 4

y 1 1 7 61

>> x = [ 0 1 2 4]; >> y = [ 1 1 7 61]; >>polyfit(x, y, 3)

Nos devuelve como resultado:

1.0000 0.0000 -1.0000 1.0000

(28)

28

EXPANSIÓN EN FRACCIONES PARCIALES

residue. - expresa en fracciones parciales el cociente de dos polinomios, en el caso que no posea raíces múltiples.

1 2 1 2

( )

...

( )

n n

r

r

r

a s

k

b s

s

p

s

p

 

s

p

Donde la

r

es un arreglo columna de residuos,

p

es un arreglo columna de polos,y

k

es un arreglo fila que contiene el resto.

Ejemplo: Considere la función de transferencia

( )

2

4

8

( )

6

8

a s

s

b s

s

s

 

>> a = [ -4 8 ]; >> b = [ 1 6 8 ]; >> [ r, p, k ] = residue(a , b) Nos devuelve como resultado:

r =-12 8 p =-4 -2 k =[ ] Esto es:

( )

12

8

( )

4

2

a s

b s

s

s

.

(29)

29

Ejemplo: Considere la función de transferencia

2 2

( )

5

5

6

( )

1

a s

s

s

b s

s

>> a = [ 5 5 -6]; >> b = [ 1 0 -1]; >> [ r, p, k ] = residue(a , b) Nos devuelve como resultado:

r = 2 3 p = 1 -1 k = 5 Esto es:

( )

2

3

5

( )

1

1

a s

b s

s

s

(30)

30

INTERPOLACIÓN UNIDIMENSIONAL

Matlab provee dos tipos de interpolación de una sola dimensión: • La interpolación polinómica

• La interpolación basada en FFT, este método calcula la transformada de Fourier de un vector que contiene los valores de una función periódica.

Interpolación polinómica.- La función interp1 realiza interpolación de una sola dimensión, una operación importante para el análisis de datos y el ajuste de curvas.Esta función usa técnicas polinómicas, ajustando los datos suministrados conpolinomios su forma más general es:

y1 = interp1(x, y, x1, Metodo)

Dónde:

x

, es un arreglo de valores en orden creciente.

y

, es un arreglo que contiene las imágenes de x de una función.

1

x

, es un número o arreglo números los cuales van a ser interpolados.

Metodo, son lasopciones a utilizar en la interpolación, nearest(valor del punto más próximo), linear(utiliza una función lineal para cada par de puntos consecutivos),

spline(utiliza una función cúbica suave para cada par de puntos consecutivos)

cubic(utiliza una función cúbica).

Observación.-linear es el método predeterminado para la función del interp1.

Ejemplo:

>> x = [0 1 2 4 7 11]; >> y = [2 -3 2 13 15 1];

>>x1=[3 5 6 8 9 10]; % valores a interpolar >> y1=interp1(x, y, x1,'nearest')

(31)

31

>>plot(x,y) >> hold on

>>plot(x1, y1, 'or') >>grid on

Nos devuelve como resultado: y1 = 13 13 15 15 1 1 Ejemplo: >> x = [0 1 2 4 7 11]; >> y = [2 -3 2 13 15 1]; >>x1=[3 5 6 8 9 10]; % valores a interpolar >> y1=interp1(x, y, x1, 'linear'); >>plot(x,y) >> hold on >>plot(x1, y1, 'or')

(32)

32

>>grid on

Nos devuelve como resultado: y1 = 7.5000 13.6667 14.3333 11.5000 8.0000 4.5000 Ejemplo: >> x = [0 1 2 4 7 11]; >> y = [2 -3 2 13 15 1]; >>x1=[3 5 6 8 9 10]; % valores a interpolar >> y1=interp1(x, y, x1, 'spline'); >>plot(x,y) >> hold on >>plot(x1, y1, 'or') >>grid on

(33)

33

Nos devuelve como resultado: y1 = 8.1974 15.6036 16.1458 12.5393 9.1369 5.1661 Ejemplo: >> x = [0 1 2 4 7 11]; >> y = [2 -3 2 13 15 1]; >>x1=[3 5 6 8 9 10]; % valores a interpolar >> y1=interp1(x, y, x1, 'cubic'); >>plot(x,y) >> hold on >>plot(x1, y1,'or') >>grid on

Nos devuelve como resultado: y1 =

(34)

34

8.4889 14.0762 14.7603 13.9152 10.9405 6.4955

EXTRAPOLACIÓN

Si cualquier elemento de x1 está fuera del rango de x, las funciones spline y cubic lo aceptan como argumento para extrapolar sus valores.

Ejemplo:

>> x = [0 1 2 4 7 11]; >> y = [2 -3 2 13 15 1];

>>x1=[3 5 6 8 9 10 12 13]; % valores a interpolar y extrapolar >> y1=interp1(x, y, x1, 'cubic');

>>plot(x,y) >> hold on >>plot(x1, y1, 'or') >>grid on

(35)

35

Nos devuelve como resultado: y1 =

8.488 14.076 14.760 13.915 10.940 6.495 -5.126 -11.464

Velocidad y suavidad de los métodos

Al escoger un método de interpolación, se debe tener en cuenta que alguna requiera más memoria o más tiempo en los cálculos.

• La interpolación nearest es el método más rápido. Sin embargo,provee los peores resultados en términos de la suavidad.

• La interpolación linear usa más memoria que el método nearesty requiere ligeramente más tiempo de ejecución.A diferencia de la interpolación nearest sus resultados son continuos.

• La interpolación spline tiene el tiempo de ejecución relativo más largo,aunque toma menos memoria que la interpolación cúbica y produce los mejores resultados de suavidad de todos los métodos de interpolación. Sin embargo, si sus datos de entrada son poco uniformes y algunos puntos están muy cercanos entre ellos se pueden obtener resultados inesperados.

• La interpolación cúbica requiere más memoria y el tiempo de ejecución que ya sea nearest o los métodos lineales.

(36)

36

Interpolación basada en FFT

La función interpft realiza interpolación de una sola dimensión usando un método basado en FFT, el cual calcula la transformada de Fourier de un vector que contiene los valores de una función periódica.

Su sintaxis es: y = interpft (x,n)

x

es un vector que contiene los valores de una función periódica, para puntos igualmente espaciados,

n

es el número de puntos igualmente espaciados que retorna.

INTERPOLACIÓN

BIDIMENSIONAL

La función interp2 nos permite interpolar valores de dos dimensiones,su forma general es:

Z1 = interp2 (X,Y,Z,X1,Y1,Método)

Donde:

Z, es un arreglo rectangular que contiene los valores correspondientes a los puntos X, Y.

X e Y, son arreglos de un mismo tamaño conteniendo los puntos para los cuales los valores en Z son dados.

X1 e Y1, son arreglos que contienen los puntos a interpolar.

Método, son opciones a utilizar en la interpolación, existiendo tres métodos diferentes de interpolación para datos de dos dimensiones: nearest(valor del punto más próximo), bilinear(utiliza una combinación de los valores de los 4 puntos más cercanos), bicubic(utiliza una combinación de los valores de los 16 puntos más cercanos).

Comparación de los Métodos de Interpolación de dos dimensiones

Estos ejemplos comparan los métodos de interpolación de dos dimensiones en una matriz de orden

7 7

x

.

(37)

37

Ejemplo

>> [x , y]= meshgrid(-3 : 1 : 3);

>> z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - y.^5)… .*exp(-x.^2- y.^2) - 1/3*exp(-(x+1).^2 - y.^2);

>>surf(x , y , z)

Ejemplo: Genera una malla más fina debido al incremento de 0.25. >> [x , y] = meshgrid(-3 : 0.25 : 3);

>> z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - y.^5)… .*exp(-x.^2- y.^2) - 1/3*exp(-(x+1).^2 - y.^2);

(38)

38

Ejemplo:Interpolación en los puntos x1, y1 usando la opción nearest.

>> [ x, y ] = meshgrid(-3 : 1 : 3);

>>z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - y.^5)… .*exp(-x.^2- y.^2) - 1/3*exp(-(x+1).^2 - y.^2);

>>surf(x , y , z) >> hold on >>x1 = -3 : 0.3 : 3; >> y1 = -3 : 0.3 : 3;

>> [ x1, y1 ] = meshgrid(x1, y1);

>> z1 = interp2(x, y, z, x1, y1, 'nearest'); >>surf(x1, y1, z1+10)

(39)

39

Ejemplo:Interpolación en los puntos x1, y1 usando la opción bilineal.

>> [ x, y ] = meshgrid(-3 : 1 : 3);

>>z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - y.^5)… .*exp(-x.^2- y.^2) - 1/3*exp(-(x+1).^2 - y.^2);

>>surf(x , y , z) >> hold on >>x1 = -3 : 0.3 : 3; >> y1 = -3 : 0.3 : 3;

>> [ x1, y1 ] = meshgrid(x1, y1);

>> z2 = interp2(x, y, z, x1, y1, ' bilineal'); >>surf(x1, y1, z2+10)

(40)

40

Ejemplo:Interpolación en los puntos x1, y1 usando la opción bicubic.

>> [ x, y ] = meshgrid(-3 : 1 : 3);

>>z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - y.^5)… .*exp(-x.^2- y.^2) - 1/3*exp(-(x+1).^2 - y.^2);

>>surf(x , y , z) >> hold on >>x1 = -3 : 0.3 : 3; >> y1 = -3 : 0.3 : 3;

>> [ x1, y1 ] = meshgrid(x1, y1);

>> z3 = interp2(x, y, z, x1, y1, 'bicubic'); >>surf(x1, y1, z3+10)

(41)

41

INTERPOLACIÓN

EN TRES DIMENSIONES

La función interp3 nos permite interpolar valores en tres dimensiones,su forma general es: V1 = interp3(X, Y, Z, V, X1, Y1, Z1, Método)

Donde:

V, es un arreglo tridimensional que contiene los valores correspondientes a los puntos X, Y, Z.

X ,Y, Z son arreglos de un mismo tamaño conteniendo los puntos para los cuales los valores en V son dados.

X1,Y1, y Z1 son arreglos que contienen los puntos a interpolar.

Método, son lasopciones a utilizar en la interpolación, existiendo tres métodos diferentes de interpolación para datos de tres dimensiones: nearest(valor del punto más próximo), trilinear(utiliza una combinación de los valores de los 8 puntos más cercanos), tricubic(utiliza una combinación de los valores de los 64 puntos más cercanos).

Todos estos métodos requieren que los arreglos X,Y,y Z sean crecientes o decrecientes.

Ejemplo: Interpolación en los puntos x1, y1, z1 usando la opción linear. >> x = [ 0 3 ];

>> [x, y, z] = meshgrid(x, x, x); >> v = x.^2 + y.^2 + z;

>> [x1, y1, z1] = meshgrid( 1: 1 : 2 );

>> v1 = interp3(x , y , z , v , x1, y1, z1,' linear ' )

Nos devuelve como resultado:

(42)

42

7.0000 10.0000 10.0000 13.0000 v1( :, :, 2) = 8.0000 11.0000 11.0000 14.0000

(43)

43

INTERPOLACIÓN

MULTIDIMENSIONAL

La función interpn nos permite realizar una interpolación multidimensional,su forma general es:

V1 = interpn(X, Y, Z, …, W, V, X1, Y1, Z1,…, W1, Método) Donde:

V, es un arreglo multidimensional que contiene los valores correspondientes a los puntos X, Y, Z, ... , W.

X ,Y, Z, … , W, son arreglos de un mismo tamaño conteniendo los puntos para los cuales los valores en V son dados.

X1,Y1, Z1, …, W1, son arreglos que contienen los puntos a interpolar.

Método, son lasopciones a utilizar en la interpolación, para lo cual se cuenta con tres métodos diferentes de interpolación para datos multidimensionales:

nearest(valor del punto más próximo), linear(utiliza una combinación de los valores de los 2 puntos más cercanos en cada dimensión), cubic(utiliza una combinación de los valores de los 4 puntos más cercanos en cada dimensión).

Cada método automáticamente traza un mapa de la entrada para un dominio igualmente espaciado antes de interpolar.

Ejemplo:Interpolación en los puntos x1, y1, z1, w1 usando la opción nearest. >> x = [2 5];

>> [x, y, z, w] = ndgrid(x); >> v = x.^2 + y + z - w.^2;

>> [x1, y1, z1, w1] = ndgrid(3 : 1 : 4);

>> v1 = interpn(x, y, z, w, v, x1, y1, z1, w1, 'nearest') Nos devuelve como resultado:

v1(:, :, 1, 1) = 4 7 25 28

(44)

44

v1(:, :, 2, 1) = 7 10 28 31 v1(:, :, 1, 2) = -17 -14 4 7 v1(:, :, 2, 2) = -14 -11 7 10

Mallas para datos multidimensionales

La función del ndgrid genera arreglos multidimensionales de datos para la evaluación e interpolación de una función.

ndgrid transforma el dominio especificado por una serie de vectores de entrada en una serie de arreglos de salida.

La sintaxis para ndgrid es:

[X1, X2, X3,... ] = ndgrid(x1, x2, x3, ... )

Ejemplo: Consideremos la evaluación de una función de tres variables

2 2 2

x y z

w

ye

   Para evaluar y graficar esta función escribiremos: >> x = -2 : 0.2 : 2;

>> y = -2 : 0.25 : 2; >> z = -2 : 0.16 : 2;

(45)

45

>> w = y.*exp(-x.^2 - y.^2 - z.^2);

(46)

46

INTEGRACIÓN NUMÉRICA

OBJETIVO:

UTILIZAR MÉTODOS DE APROXIMACIÓN NUMÉRICA EN EL

CÁLCULO DE UNA INTEGRAL DEFINIDA.

CONTENIDO:

Método del trapecio.

Método de Simpson 1/3.

Método de Simpson 3/8.

Método de Boole.

Comparación de Métodos.

Integración doble.

(47)

47

INTEGRACIÓN NUMÉRICA

En el presente capítulo se describen diferentes métodos de integración numérica los cuales permiten evaluar integrales simples

b a

f

(

x

)

dx

, e integrales dobles

 

b a x x

f

x

y

dydx

) ( ) (

(

,

)

  ,

donde las funciones

f

(

x

)

,

f

(

x

,

y

)

pueden estar dadas en forma analítica o en forma discreta mediante una tabla.

La integración de una función tiene muchas aplicaciones en la ciencia e Ingeniería por ejemplo:

a) Un topógrafo podría necesitar saber el área de un campo limitado por una corriente zigzagueante y dos caminos.

b) Un ingeniero en hidráulica tal vez requiera conocer el área de la sección transversal de un río.

c) Un ingeniero en estructuras quizás necesita determinar la fuerza neta ejercida por un viento no uniforme que sopla contra un lado de un rascacielos.

Éstas son sólo algunas de las diferentes aplicaciones de la integración que se modelarían como:

(48)

48

( )

b a

I

f x dx

Para calcular la integral definida b

( )

a

f x dx

por el Segundo Teorema Fundam ental del Cálculo se tiene:

( )

( )

( )

( )

b b a a

f x dx

F x

 

F b

F a

Sin em bargo, para el cálculo de la antide rivada existen integrales definidas

tales com o: 1 2 2 0 1

cosh

,

,

x

senx

x

e

dx

dx

dx

x

x

  

Para los que no existe un m étodo conocido para encontrar su antiderivada, pero si la función

f x

( )

es continua en el intervalo cerrado

 

a b

,

la integral definida existe y es un núm ero único.

Para estos casos, en que no se pueden encontrar la antiderivada, verem os a continuación m étodos de aproxim ación para estim ar el valor de una integral definida.

(49)

49

MÉTODO DEL TRAPECIO

Sea

f

:

 

a b

,

una función continua y positiva

( ( )

f x

0)

en el intervalo cerrado

 

a b

,

, y sea

R

la región plana lim itada por la s curvas

y

f x

( )

, el eje

X

, las rectas

x

a

y

x

b

,por los teorem as del cálculo integral el área de

R

se define com o:

( )

b

( )

a

A R

f x dx

Gráficam ente:

Construyam os un trapecio de vértices

( , 0), ( , 0), ( , ( )),

a

b

b f b

y a f a

( , ( ))

y considerem os com o una aproxim ación el área del trapecio al área buscada com o se muestra a continuación.

(50)

50

Esto es:

Obteniendo la fórm ula del m étodo del trapecio.

Generalización del M étodo del Trapecio para

n

subintervalos

Sea

 

a

,

b

el intervalo cerrado con

a

b

y

P

a

x

0

,

x

1

, ... ,

x

n

b

una partición regular del intervalo

 

a

,

b

, en

n

subintervalos de la form a

h

b

a

n

0 1 2

...

n

a

x

x

x

x

b

0

x

a

,

x

1

 

a

h

,

x

2

 

a

2

h

,…..

x

i

 

a

ih

, …..

x

n

a

nh

b

.

Gráficam ente

Aplicando la fórm ula del Trapecio a cada subintervalo se tiene:

( )

( )

( )

( )

2

b a

h

A R

f x dx

f a

f b

( )

( )

( ) ,

.

2

h

A R

f a

f b

h

 

b

a

(51)

51

Calculando

Reem plazando el valor de cada una de las áreas parciales se tiene:

0 1 2 1

( )

( / 2)

( ) 2 ( ) 2 ( ) ... 2 (

n

)

( )

n

A R

h

f x

f x

f x

 

f x

f x

Equivalentem ente:

( )

( / 2)

( ) 2 (

) 2 (

2 ) ... 2 (

(

1) )

( )

A R

h

f a

f a h

 

f a

h

 

f a

 

n

h

f b

Ejemplo: Calcular numéricamente el valor de la siguiente integral definida

2 2 0

1

x

e

dx

x

, considerando tres intervalos y doce subintervalos respectivamente. Solución: Para n= 3 subintervalos.

1 1 2 1 2 3 2 3 1

(

)

( )

2

( )

(

)

2

(

)

( )

2

...

...

(

)

(

)

2

o n n n

h

A

f x

f x

h

A

f x

f x

h

A

f x

f x

h

A

f x

f x

1

( )

n i i

A R

A

(52)

52

2 2 0

1

0.741726

x

e

dx

x

Para n = 12 subintervalos 2 2 0

1

0.725389

x

e

dx

x

(53)

53

Archivo m: Parautilizar el siguiente programa digitar en la ventana de comandos: >>trap1(' función ' , a , b , n ).

(54)

54

MÉTODO DE SIMPSON 1/3

Sea

f

:

 

a b

,

una función continua y positiva

( ( )

f x

0)

en el intervalo cerrado

 

a b

,

, y sea

R

la región plana lim itada por la s curvas

y

f x

( )

, el eje

X

, las rectas

x

a

y

x

b

, por los teorem as del cálculo integral el área de

R

se define com o:

( )

b

( )

a

A R

f x dx

Gráficam ente:

Dividam os el intervalo

 

a b

,

en 2 subintervalos, esto es

2

b a

h

y

x

0

a

,

1

x

 

a

h

,

x

2

b

.

Construyam os un polinom io interpolador

P x

( )

Ax

2

Bx C

que pase por los puntos

( , ( )), ( , ( ))

x f x

0 0

x f x

1 1

y x f x

( , ( )).

2 2

Si considerem os com o una aproxim ación

P

f

para el cálculo de la integral, se obtiene:

( )

b

( )

b

( )

( / 3)[ ( ) 4 (

)

( )].

a a

Referencias

Documento similar

"No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Se llega así a una doctrina de la autonomía en el ejercicio de los derechos que es, en mi opinión, cuanto menos paradójica: el paternalismo sería siempre una discriminación cuando

- Alto entrenamiento en biomecánica con mini-implantes infra- cigomáticos y el shelf mandibular para pacientes Clase II y III, Hsinchu, Taiwan con el Dr...

En virtud de esta política, que fue conocida como la apertura, numerosos y destacados po- líticos exiliados por el régimen pudieron regresar al país; la prensa disfrutó de una

Por tanto, con el grupo de estudiantes con los que se realizó la experiencia piloto aún regían los objetivos de etapa y objetivos de materia, que básicamente

interacción con los amigos y que se valora como un espacio de adquisición de ciertas aptitudes y capacidades útiles para su participación en los ámbitos sociales en los que

(c) Consejo Superior de Investigaciones Científicas Licencia Creative Commons 3.0 España

Tampoco abarcaremos la totalidad de familias sino tan sólo aquellas cuyos ingresos superan determinados niveles de renta que prefijamos, esto es con truncamiento por la