Métodos Numéricos. Grado en Ingeniería en Informática Tema...

82
ULPGCLogo Métodos Numéricos. Grado en Ingeniería en Informática Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 1 / 31 ULPGCLogo Contenido 1 Los diferentes tipos de números y como se escriben en base 2 2 Las aritméticas standard de 32 y 64 bits 3 El tratamiento de las excepciones en una aritmética 4 La unidad de redondeo de una aritmética 5 Acotaciones del error de redondeo 6 Comparación de variables 7 Fuentes de errores númericos Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 2 / 31 ULPGCLogo Contenido 1 Los diferentes tipos de números y como se escriben en base 2 2 Las aritméticas standard de 32 y 64 bits 3 El tratamiento de las excepciones en una aritmética 4 La unidad de redondeo de una aritmética 5 Acotaciones del error de redondeo 6 Comparación de variables 7 Fuentes de errores númericos Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 3 / 31 ULPGCLogo Aritméticas de precisión finita Tipos de Números Ejemplo de números naturales = ? 1 Ejemplo de números enteros = ? -1 Ejemplo de números racionales = ? 1 3 Ejemplo de números irracionales = ? π, 2 Ejemplo de números complejos = ? 2 + 3i Verdadero o Falso ? ¿Los números racionales tienen siempre un número finito de cifras decimales? : verdadero o falso? Falso 1 3 = 0, 3333333..... ¿Los números irracionales tiene un número infinito de cifras decimales ? :verdadero o falso? Verdadero, en caso contrario serían racionales 0,789 = 789 1000 Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 4 / 31 Notes Notes Notes Notes

Transcript of Métodos Numéricos. Grado en Ingeniería en Informática Tema...

Page 1: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Métodos Numéricos.Grado en Ingeniería en Informática

Tema 1 : Aritméticas de Precisión Finita

Luis Alvarez León

Univ. de Las Palmas de G.C.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 1 / 31

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 2 / 31

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 3 / 31

ULPGCLogo

Aritméticas de precisión finita

Tipos de NúmerosEjemplo de números naturales = ? 1Ejemplo de números enteros = ? −1Ejemplo de números racionales = ? 1

3

Ejemplo de números irracionales = ? π,√

2Ejemplo de números complejos = ? 2 + 3i

Verdadero o Falso ?¿Los números racionales tienen siempre un número finito decifras decimales? : verdadero o falso? Falso 1

3 = 0,3333333.....¿Los números irracionales tiene un número infinito de cifrasdecimales ? :verdadero o falso? Verdadero, en caso contrarioserían racionales 0,789 = 789

1000

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 4 / 31

Notes

Notes

Notes

Notes

Page 2: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=0

an

2n = 2e(

a0 +a1

2+

a2

22 + · · · + · · ·)

donde e es un número entero, a0 = 1, y para n > 0, an = 0 ó an = 1.

Ejemplo (Expresion de números sencillos)

5 = 2?(

1 +?2

+?22 +

?23 +

?24 + ....

)

5 = 22(

1 +02+

122 +

023 +

024 + ....

)

11 = 2?(

1 +?2

+?22 +

?23 +

?24 + ....

)

11 = 23

(1 +

?2

+?22 +

?23 +

?24 + ....

)

11 = 23

(1 +

02+

?22 +

?23 +

?24 + ....

)

11 = 23

(1 +

02+

122 +

?23 +

?24 + ....

)

11 = 23

(1 +

02+

122 +

123 +

?24 + ....

)

11 = 23(

1 +02+

122 +

123 +

024 + ....

)

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 5 / 31

ULPGCLogo

Aritméticas de precisión finita

ProblemaDemostrar que al representar el número real 0,1 como

0,1 = 2e∞∑

n=0

an

2n

el número de elementos no nulos an es infinito.

ProblemaRepresentar el número 0,703125 como

0,703125 = 2e∞∑

n=0

an

2n

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 6 / 31

ULPGCLogo

Aritméticas de precisión finita

Por tanto, en una aritmética de precisión finita, los números realesdistintos de cero se representan como

Definición

y = ±2et∑

n=0

an

2n

donde e varía entre dos valores limites emin ≤ e ≤ emax . Al valor t sele llama precisión de la aritmética. A la secuencia a0a1a2a3......at ,(donde ai ∈ {0,1}) se le denomina mantisa. Hay que hacer notar aquíque, dado que hemos impuesto siempre que a0 = 1, el número 0debemos añadirlo a la aritmética, ya que 0 no se puede representarde la forma anterior.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 7 / 31

ULPGCLogo

Aritméticas de precisión finita

ProblemaCalcular los valores positivos mínimo y máximo que puede tomar unnúmero real en una aritmética de precisión finita en función de t , eminy emax .

Solución :Número real mínimo de la aritméticaymin =2?

∑tn=0

?2n 2emin

(1 +

∑tn=1

02n

)Número real máximo de la aritméticaymax =2?

∑tn=0

?2n 2emax

(∑tn=0

12n

)∑t

n=012n = ? 1− 1

2t+1

1− 12

=2− 12t

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 8 / 31

Notes

Notes

Notes

Notes

Page 3: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Aritméticas de precisión finita

ProblemaCalcular todos los números reales que se pueden construir tomando 5bits de la forma siguiente: 1 bit para el signo, 2 bits para la mantisa (esdecir t = 3, puesto que a0 = 1 y sólo se almacenan a1 y a2) y 2 bitspara el exponente e, tomando como rango de e = −2,−1,0,1.Representar dichos números sobre una recta.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 9 / 31

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 ?12 ?1

2 + 123 ?1

2 + 122 ?1

2 + 122 + 1

23

e = 0 ?1 ?1 + 122 ?1 + 1

2 ?1 + 12 + 1

22

e = 1 ?2 ?2 + 12 ?2 + 1 ?2 + 1 + 1

2

los valores negativos son los mismos cambiados de signo.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 10 / 31

ULPGCLogo

Aritméticas de precisión finita

Si representamos los números positivos sobre una recta obtenemos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 11 / 31

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 12 / 31

Notes

Notes

Notes

Notes

Page 4: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Aritméticas de precisión finita

En 1985, la sociedad I.E.E.E. presentó una serie de especificacionesestándares para la definición de una aritmética de precisión finita paralos números reales. En este trabajo, se codifica un número real ensimple precisión utilizando 32 bits de memoria, de los cuales 23 bitsse utilizan para la mantisa (es decir t = 23 puesto que a0 = 1 no sealmacena), 1 bit se utiliza para el signo y 8 bits se utilizan para elexponente e, lo cual da un rango de 28 = 256 valores posibles para elexponente e. En este caso, por ejemplo, se toma emin = −126 yemax = 127. Como puede observarse, el número total de exponentesposibles es 254, dos menos que los 256 posibles, ello se hace así,porque se reservan dos casos para tratar las denominadasexcepciones, como se verá más adelante.El valor máximo que puede tomar un número en esta aritmética es

ymax = 212723∑

n=0

12n = 3.4× 1038

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 13 / 31

ULPGCLogo

Aritméticas de precisión finita

y el valor mínimo positivo es

ymin = 2−126 × 1 = 1.18× 10−38

Además, el número de combinaciones posibles que puede tener lamantisa es 223 ≈ 1.68× 107. Es decir, la aritmética tiene unaprecisión de 7 dígitos decimales.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 14 / 31

ULPGCLogo

Aritméticas de precisión finita

También se define en este trabajo de I.E.E.E. un estándar para una aritmética endoble precisión. En este caso, se utilizan 64 bits para almacenar un número real,de los cuales 52 bits se utilizan para la mantisa (t = 52), 1 bit para el signo y 11bits para el exponente, lo que da lugar a 211 = 2048 posibilidades de elección deexponente e. En este caso, se toma emin = −1022 y emax = 1023.Por tanto, el valor máximo que puede tomar un número real en esta aritmética es

ymax = 2102352∑

n=0

12n = 1.78× 10308

y el valor mínimo positivo es

ymin = 2−1022 × 1 = 2.23× 10−308

Además, el número de combinaciones posibles que puede tener la mantisa es252 ≈ 9.0×1015. Es decir, la aritmética tiene una precisión de 15 dígitos decimales.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 15 / 31

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 16 / 31

Notes

Notes

Notes

Notes

Page 5: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Aritméticas de precisión finita

Tratamiento de las excepciones en el estándar de I.E.E.E.

Infinito∞ =? 1

0 = 2emax+1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)Operación no validaNaN =? √−1 = 2emax+1 (1 + 0

2 + 022 + 1

23 + 024 + .......

)(algún

ai 6= 0)El cero0 = ? 2emin−1 (1 + 0

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

Números más pequeñosy = ? 2emin−1 (0

2 + 022 + 1

23 + 024 + .......

)(a0 = 0 y algún ai 6= 0)

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 17 / 31

ULPGCLogo

Aritméticas de precisión finita

ProgramaPseudocódigo para calcular el número positivo (mayor que cero) máspequeño

Algoritmo Menor_Numero_Positivovariable real A←1.variable entera M←0mientras A>0 hacer

A←A/2M←M+1

fin mientrasescribir(M-1)

fin algoritmo

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 18 / 31

ULPGCLogo

Aritméticas de precisión finita

ProgramaPseudocódigo para calcular el mayor número positivo de unaaritmética. El programa devuelve un entero M tal que 2M es el númeropositivo mayor posible.

Algoritmo Mayor_Numero_Positivovariable real A←1.variable real B←2.variable entera M←0mientras B>A hacer

A←2*AB←2*AM←M+1

fin mientrasescribir(M-1)

finalgoritmoLuis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 19 / 31

ULPGCLogo

Aritméticas de precisión finita

ProblemaDada una aritmética de precisión finita cualquiera, calcular la distancia que hay entre elnúmero 1 y su inmediato superior, es decir, el número que va después de 1, y ladistancia entre el número 1 y su inmediato inferior.

Solución:el número inmediato superior a 1 en la aritmética es

?1 +12t

y el número inmediato inferior a 1 viene dado por

?2−1(

1 +12+ ..+

12t

)=

12 −

12t+2

1− 12

= 1− 12t+1

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 20 / 31

Notes

Notes

Notes

Notes

Page 6: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 21 / 31

ULPGCLogo

Aritméticas de precisión finita

Dado un número real cualquiera y , al representarlo en una aritméticade precisión finita se produce un error de redondeo, llamaremos y ∈ Aal número real que mejor aproxima a y dentro de A.

DefiniciónDada una aritmética de precisión finita, se define la unidad deredondeo u como

u = ? 12t

Por ejemplo, si t = 23 (reales en simple precisión) u = 2−23 ≈ 10−8, yen doble precisión (t = 52), u ≈ 10−16.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 22 / 31

ULPGCLogo

Aritméticas de precisión finita

ProgramaPseudocódigo para calcular la unidad de redondeo (precisión de laaritmética) de una aritmética. El programa devuelve un entero M talque u = 2−M

Algoritmo Unidad_Redondeovariable real A←1.variable real B←2variable entera M←1mientras B>1 hacer

A←A/2B←1+AM←M+1

fin mientrasescribir(M-1)

fin algoritmo

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 23 / 31

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 24 / 31

Notes

Notes

Notes

Notes

Page 7: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Aritméticas de precisión finita

A continuación, mostraremos un resultado que indica el error deredondeo máximo que se produce al aproximar un número realcualquiera en una aritmética de precisión finita.

TeoremaSean ymin , ymax los valores positivos menor y mayor de una aritméticade precisión finita. Sea u la unidad de redondeo de dicha aritmética. Siun número real z verifica queymin <| z |< ymax , entonces

| z − z |≤| z | u

donde z es el número más cercano a z en la aritmética.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 25 / 31

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 26 / 31

ULPGCLogo

Aritméticas de precisión finita

En muchos algoritmos, el test de parada se basa en el hecho de quedos variables estén próximas entre sí. Por ejemplo si queremosdetener un algoritmo cuando las variables A y B coincidanapróximadamente en sus primeras N cifras significativas podremosutilizar como criterio de parada cualquiera de los siguientes :

| A− B |<| A | ·TOL

| A− B |<| B | ·TOL

| A− B |< max {| A |, | B |} · TOL

donde TOL = 10−N . Si queremos que A y B coincidan en todas suscifras significativas menos las N últimas tomaremos TOL = 10N · udonde u es la unidad de redondeo de la aritmética u = 2−t

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 27 / 31

ULPGCLogo

Aritméticas de precisión finita

En número 0 también es un caso especial cuando comparamosnúmeros. Si A ó B valen 0, los criterios de comparación anteriores nofuncionan bien. Para evitar este problema se le suele sumar unnúmero pequeño positivo al módulo al hacer la comparación, es decirharemos :

| A− B |< (| A | + ε) · TOL

| A− B |< (| B | + ε) · TOL

| A− B |< (max {| A |, | B |}+ ε) · TOL

donde ε es un número pequeño que depende de la aplicaciónnumérica en concreto que estemos implementando. A lo largo delcurso siempre utilizaremos, por sencillez, ε = 1

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 28 / 31

Notes

Notes

Notes

Notes

Page 8: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 29 / 31

ULPGCLogo

Aritméticas de precisión finitaFuentes de errores numéricos.

Dentro de las posibles fuentes de errores numéricos, destacaremos 3tipos:

Errores de redondeo. Son los que se producen al ”redondear” unnúmero real para poder expresarlo en una aritmética de precisiónfinita:

| z − z |≤ ?| z | uLa mayor parte de los errores de redondeo se producen al realizar enlos algoritmos operaciones con números.

Errores de cambio de base. Es un tipo especial de error de redondeoque se produce al realizar un cambio de base para representar unnúmero real. Por ejemplo al hacer la asignación

A = 0,1

estamos generando un error de cambio de base al pasar el número0.1 en base 10 a una variable donde los números se representan enbase 2.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 30 / 31

ULPGCLogo

Aritméticas de precisión finitaFuentes de errores numéricos.

Errores por Cancelación. Estos errores se producen al restarnúmeros de aproximadamente la misma magnitud. Por ejemplo, en laconocida fórmula del cálculo de raíces de un polinomio de grado 2,ax2 + bx + c = 0 (con a 6= 0)

x = ?−b ±√

b2 − 4ac2a

una forma de evitar la cancelación que se produce cuandob ≈√

b2 − 4ac consiste en calcular primero la raíz de mayor valorabsoluto, es decir

x1 =−(

b + sign(b)√

b2 − 4ac)

2a

y después la segunda raíz x2 utilizando la relación x1x2 = ?c/a.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 31 / 31

Notes

Notes

Notes

Notes

Page 9: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Métodos Numéricos.Grado en Ingeniería Informática.

Tema 2. Cálculo de ceros de una función

Luis Alvarez León

Univ. de Las Palmas de G.C.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 1 / 67

ULPGCLogo

Contenido

1 Introducción

2 El método de la bisección

3 El método de la Regula-Falsi

4 El método de Newton-Raphson

5 El método de la secante

6 El método de Müller

7 Cálculo de los ceros de un polinomio

8 El algoritmo de Horner para evaluar un polinomio y su derivada

9 Separación en intervalos de los ceros de un polinomio

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 2 / 67

ULPGCLogo

Contenido

1 Introducción

2 El método de la bisección

3 El método de la Regula-Falsi

4 El método de Newton-Raphson

5 El método de la secante

6 El método de Müller

7 Cálculo de los ceros de un polinomio

8 El algoritmo de Horner para evaluar un polinomio y su derivada

9 Separación en intervalos de los ceros de un polinomio

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 3 / 67

ULPGCLogo

Cálculo de los ceros de una función. Ejemplo

Una persona aporta a un plan de pensiones durante 30 años unacuota anual de 600 euros que se va incrementado en un 10 % cadaaño. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nosestá dando el banco por el dinero depositado?

año aportación anual valor a los 30 añosaño 1 600 600×?(1 + i)30

año 2 600×?1,1 600×?1,1× (1 + i)29

año 3 600×?1,12 600×?1,12 × (1 + i)28

año . .......... .............año 30 600×?1,129 600×?1,129 × (1 + i)TOTAL .......... 156263

La ecuación que debemos resolver para obtener el interés i es

29∑n=0

(600) (1,1)n (1.+ i)30−n = 156263

29∑n=0

(600) (1,1)n (1.+ i)30−n − 156263 = 0

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67

Notes

Notes

Notes

Notes

Page 10: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Introducción

2 El método de la bisección

3 El método de la Regula-Falsi

4 El método de Newton-Raphson

5 El método de la secante

6 El método de Müller

7 Cálculo de los ceros de un polinomio

8 El algoritmo de Horner para evaluar un polinomio y su derivada

9 Separación en intervalos de los ceros de un polinomio

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 5 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño uncero de la función

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 6 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño uncero de la función

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 7 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño uncero de la función

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 8 / 67

Notes

Notes

Notes

Notes

Page 11: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño uncero de la función

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 9 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño uncero de la función

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 10 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño uncero de la función

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 11 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño uncero de la función

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 12 / 67

Notes

Notes

Notes

Notes

Page 12: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño uncero de la función

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 13 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño uncero de la función

Descripción del algoritmo del método de la bisección

Se parte de una función f (x) y de un intervalo [a,b] donde lafunción cambia de signo

Se calcula el punto medio x = a+b2

Si f (a)f (x) < 0 hacemos b = x , en caso contrario hacemos a = x

Hacemos iteraciones de este procedimiento hasta que f (x) = 0 o|b − a| ≤ (|b|+ ε)TOL

¿Puede el algoritmo entrar en un bucle infinito de iteraciones? ?No

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 67

ULPGCLogo

Contenido

1 Introducción

2 El método de la bisección

3 El método de la Regula-Falsi

4 El método de Newton-Raphson

5 El método de la secante

6 El método de Müller

7 Cálculo de los ceros de un polinomio

8 El algoritmo de Horner para evaluar un polinomio y su derivada

9 Separación en intervalos de los ceros de un polinomio

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 15 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Regula Falsi

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 16 / 67

Notes

Notes

Notes

Notes

Page 13: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Regula Falsi

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 17 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Regula Falsi

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 18 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Regula Falsi

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 19 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Regula Falsi

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 20 / 67

Notes

Notes

Notes

Notes

Page 14: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Regula Falsi

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 21 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Regula Falsi

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 22 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Regula Falsi

En el método de la Regula Falsi el punto x para dividir el intervalo [a,b]es el punto donde se anula la recta que pasa por los puntos (a,f(a)) y(b,f(b)). La ecuación de dicha recta viene dada por la expresión :

? y − f (a)f (b)− f (a)

=x − ab − a

Por tanto, el punto x que se utiliza para dividir el intervalo es :

?x = a− b − af (b)− f (a)

f (a)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 67

ULPGCLogo

Contenido

1 Introducción

2 El método de la bisección

3 El método de la Regula-Falsi

4 El método de Newton-Raphson

5 El método de la secante

6 El método de Müller

7 Cálculo de los ceros de un polinomio

8 El algoritmo de Horner para evaluar un polinomio y su derivada

9 Separación en intervalos de los ceros de un polinomio

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 24 / 67

Notes

Notes

Notes

Notes

Page 15: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Newton-Raphson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 25 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Newton-Raphson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 26 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Newton-Raphson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 27 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Newton-Raphson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 28 / 67

Notes

Notes

Notes

Notes

Page 16: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Newton-Raphson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 29 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Newton-Raphson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 30 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Newton-Raphson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 31 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Newton-Raphson

En el método de Newton-Raphson, a partir de una aproximación inicialx0 del cero de la función, se va actualizando dicho punto a través delcero de la recta tangente en x0. Para calcular la recta tangenteutilizaremos el desarrollo de Taylor de una función que es :

f (x) = f (x0) + ?f ′(x0)(x − x0) + ? f ′′(x0)2! (x − x0)

2 + ..+ ? f n)(x0)n! (x − x0)

n + .

La ecuación anterior es la recta tangente en x0, si la igualamos a ceroy despejamos obtenemos :

x1 = x0 − f (x0)f ′(x0)

En general, partir de x0 obtenemos una secuencia xn de valores quevan aproximando la raíz, definidos porxn+1 = xn − f (xn)

f ′(xn)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 67

Notes

Notes

Notes

Notes

Page 17: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Newton-Raphson. Criterios de convergencia

En el método de Newton-Raphson el criterio de convergencia habituales :

|xn+1 − xn| ≤ (|xn+1|+ ε)TOL

Hay que poner un número máximo de iteraciones porque el métodopuede no converger.

Además, el algoritmo se puede bloquear cuando ? f ′(xn) = 0

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 33 / 67

ULPGCLogo

Cálculo de los ceros de una función. Pseudocódigopara calcular la raiz cuadrada de un número.

Algoritmo Raiz_Cuadradavariables reales A,TOLvariable entera Nmaxvariables reales X0, X1leer(A,TOL)leer(Nmax)si A<0 entonces

escribir(’El numero A no es positivo’)devolver CODIGO DE ERROR

finsiX0←1para K←1 hasta Nmax hacer

X1←X0-(X0*X0-A)/(2.*X0)si | X0− X1 | <| X1 | * TOL entonces

escribir (’LA RAIZ DE A ES’,X0)devolver X1

sinoX0←X1

finsifinparaescribir(’No máximo de iterac. excedido’)devolver CODIGO DE ERROR

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 34 / 67

ULPGCLogo

Contenido

1 Introducción

2 El método de la bisección

3 El método de la Regula-Falsi

4 El método de Newton-Raphson

5 El método de la secante

6 El método de Müller

7 Cálculo de los ceros de un polinomio

8 El algoritmo de Horner para evaluar un polinomio y su derivada

9 Separación en intervalos de los ceros de un polinomio

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 35 / 67

ULPGCLogo

Cálculo de los ceros de una funciónEl método de la Secante

El método de la Secante es una variante del método de Newton parael caso en que no sea posible calcular la derivada de f (x) de unaforma analítica. En este caso, se sustituye el valor f ′(xn) en elalgoritmo, por el valor

f (xn)− f (xn−1)

xn − xn−1

que corresponde a una aproximación de f ′(xn). Para iniciar elalgoritmo, son necesarias dos aproximaciones iniciales, x0 y x1.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 36 / 67

Notes

Notes

Notes

Notes

Page 18: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Secante

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 37 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Secante

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 38 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Secante

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 39 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de la Secante

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 40 / 67

Notes

Notes

Notes

Notes

Page 19: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Introducción

2 El método de la bisección

3 El método de la Regula-Falsi

4 El método de Newton-Raphson

5 El método de la secante

6 El método de Müller

7 Cálculo de los ceros de un polinomio

8 El algoritmo de Horner para evaluar un polinomio y su derivada

9 Separación en intervalos de los ceros de un polinomio

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 41 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Müller

En el método de Müller, hacemos una aproximación parabólica de unafunción. A partir de una aproximación inicial x0 del cero de la función,se calcula la parábola tangente a x0 :

f (x) h f (x0) + f ′(x0)(x − x0) +f ′′(x0)

2! (x − x0)2

Se calculan las 2 raices de la parábola y se actualiza el valor de x0tomando la raiz más cercana.

Si no tenemos acceso a las funciones derivadas, hay queaproximarlas. Para ello vamos a tener una secuencia xn de valoresque van aproximando la raíz.

En cada etapa, para pasar de xn−1 a xn, calculamos f ′(xn), f ′′(xn)utilizando los valores xn−1, xn−2, xn−3 de la siguiente forma :

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 42 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Müller

f (x) ≈ f (xn−1) + f ′(xn−1)(x − xn−1) +f ′′(xn−1)

2(x − xn−1)

2

xn = xn−1 +−f ′(xn−1)±

√(f ′(xn−1))

2 − 2f (xn−1)f ′′(xn−1)

f ′′(xn−1)

f ′′(xn−1) ≈ 2f (xn−2)−f (xn−3)

xn−2−xn−3− f (xn−1)−f (xn−2)

xn−1−xn−2

xn−3 − xn−1

f ′(xn−1) ≈f (xn−1)− f (xn−2)

xn−1 − xn−2+

f ′′(xn−1)

2(xn−1 − xn−2)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 43 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Müller

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 44 / 67

Notes

Notes

Notes

Notes

Page 20: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Müller

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 45 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Müller

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 46 / 67

ULPGCLogo

Cálculo de los ceros de una funciónMétodo de Müller

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 47 / 67

ULPGCLogo

Funciones matemáticas en C

#include <math.h>

raiz cuadrada√

xsqrt(double x)sqrtf(float x)sqrtl(long double x)

exponencial ex

exp(double x)expf(float x)expl(long double x)

Como usar las funciones matematicas con realsqrtl( (long double) real x)expl( (long double) real x)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 48 / 67

Notes

Notes

Notes

Notes

Page 21: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Introducción

2 El método de la bisección

3 El método de la Regula-Falsi

4 El método de Newton-Raphson

5 El método de la secante

6 El método de Müller

7 Cálculo de los ceros de un polinomio

8 El algoritmo de Horner para evaluar un polinomio y su derivada

9 Separación en intervalos de los ceros de un polinomio

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 49 / 67

ULPGCLogo

Cálculo de los ceros de una funciónCaso especial de un polinomio

Algoritmo de Horner para evaluar un polinomio en un punto

P(x) = 4x3 − 3x2 − 2x + 1 = ((4x − 3)x − 2)x + 1

P(2) = ((4(2)− 3)2− 2)2 + 1 = ((5)2− 2)2 + 1 = (8)2 + 1 = 17

Ejemplos:

P(x) = x4 − 2x3 + 3x + 4 = (((?x − 2)?x + 0)?x + 3)?x + 4

P(x) = x4 − x3 + x2 − x + 1 = (((?x − 1)?x + 1)?x − 1)?x + 1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67

ULPGCLogo

Contenido

1 Introducción

2 El método de la bisección

3 El método de la Regula-Falsi

4 El método de Newton-Raphson

5 El método de la secante

6 El método de Müller

7 Cálculo de los ceros de un polinomio

8 El algoritmo de Horner para evaluar un polinomio y su derivada

9 Separación en intervalos de los ceros de un polinomio

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 51 / 67

ULPGCLogo

Cálculo de los ceros de una funciónCaso especial de un polinomio

Algoritmo de Horner para evaluar la derivada de un polinomio en unpunto. Se evalua simultáneamente el polinomio y su derivada

P(x) = 4x3 − 3x2 − 2x + 1 = ((4x − 3)x − 2)x + 1

P(2) = ((4(2)− 3)2− 2)2 + 1 = ((5)2− 2)2 + 1 = (8)2 + 1 = 17

P ′(2) = 4(2)2 + 5(2) + 8

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 52 / 67

Notes

Notes

Notes

Notes

Page 22: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de una funciónCaso especial de un polinomio

Algoritmo de Horner para evaluar la derivada de un polinomio en unpunto. Se evalua simultáneamente el polinomio y su derivada

P(x) = x4 − x3 + x2 − x + 1 = (((1x − 1)x + 1)x − 1)x + 1

P(3) = ?1272061

P ′(3) = ?1(3)3 + ?2(3)2 + ?7(3)1 + ?20

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 53 / 67

ULPGCLogo

Contenido

1 Introducción

2 El método de la bisección

3 El método de la Regula-Falsi

4 El método de Newton-Raphson

5 El método de la secante

6 El método de Müller

7 Cálculo de los ceros de un polinomio

8 El algoritmo de Horner para evaluar un polinomio y su derivada

9 Separación en intervalos de los ceros de un polinomio

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 54 / 67

ULPGCLogo

Cálculo de los ceros de una funciónAislar todos los ceros de un polinomio en un sólo intervalo

TeoremaSea un polinomio P(x) = anxn + an−1xn−1 + ......+ a0 con an 6= 0,entonces las raíces reales de P(x) están en el intervalo[

−1−maxk=0,..,n−1 | ak |

| an |,1 +

maxk=0,..,n−1 | ak || an |

]

Ejemplo

El polinomio P(x) = 4x3 − 8x2 + x − 3 tiene todas sus raíces en elintervalo

?[−3,3]

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 55 / 67

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 56 / 67

Notes

Notes

Notes

Notes

Page 23: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 57 / 67

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 58 / 67

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 59 / 67

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 60 / 67

Notes

Notes

Notes

Notes

Page 24: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 61 / 67

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 62 / 67

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 63 / 67

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 64 / 67

Notes

Notes

Notes

Notes

Page 25: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 65 / 67

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 66 / 67

ULPGCLogo

Cálculo de los ceros de un polinomioAislar cada raíz en un intervalo diferente

Procedimiento para aislar las raíces de un polinomio P(x) de grado n.

Calculamos el intervalo [−a,a] donde se encuentran todas lasraíces

Derivamos n − 1 veces el polinomio, obteniendo el polinomioPn−1)(x) de grado 1

Calculamos la raiz xn−10 de Pn−1)(x)

Calculamos las raíces xn−20 , xn−2

1 del polinomio Pn−2)(x) en los

intervalos[−a, xn−1

0

]y[xn−1

0 ,a]

Calculamos las raíces xn−30 , xn−3

1 , xn−32 del polinomio Pn−3)(x) en

los intervalos[−a, xn−2

0

],[−xn−2

0 , xn−21

], y[xn−2

1 ,a]

Continuamos de esta manera hasta llegar a las raíces de P(x)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 67 / 67

Notes

Notes

Notes

Notes

Page 26: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Métodos NuméricosGrado en Ingeniería Informática

Tema 3: Interpolación de Funciones I

Luis Alvarez León

Univ. de Las Palmas de G.C.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 1 / 38

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Aproximación por mínimos cuadrados. Regresión lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 2 / 38

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Aproximación por mínimos cuadrados. Regresión lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 3 / 38

ULPGCLogo

Interpolación de funcionesPlanteamiento del problema de interpolación

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 38

Notes

Notes

Notes

Notes

Page 27: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de funcionesPlanteamiento del problema de interpolación

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 5 / 38

ULPGCLogo

Interpolación de funcionesInterpolación lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 6 / 38

ULPGCLogo

Interpolación de funcionesInterpolación lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 7 / 38

ULPGCLogo

Interpolación de funcionesInterpolación polinómica

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 8 / 38

Notes

Notes

Notes

Notes

Page 28: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de funcionesInterpolación polinómica

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 9 / 38

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Aproximación por mínimos cuadrados. Regresión lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 10 / 38

ULPGCLogo

Interpolación de FuncionesPolinomios base de Lagrange

T (0) = 20, T (2) = 18, T (4) = 16, T (6) = 17, T (8) = 21, T (10) = 23

Polinomios base de Lagrange

P0(x) = (x−2)(x−4)(x−6)(x−8)(x−10)(0−2)(0−4)(0−6)(0−8)(0−10)

P2(x) = ? (x−0)(x−4)(x−6)(x−8)(x−10)(2−0)(2−4)(2−6)(2−8)(2−10)

P4(x) = ? (x−0)(x−2)(x−6)(x−8)(x−10)(4−0)(4−2)(4−6)(4−8)(4−10)

P6(x) = ? (x−0)(x−2)(x−4)(x−8)(x−10)(6−0)(6−2)(6−4)(6−8)(6−10)

P8(x) = ? (x−0)(x−2)(x−4)(x−6)(x−10)(8−0)(8−2)(8−4)(8−6)(8−10)

P10(x) = ? (x−0)(x−2)(x−4)(x−6)(x−8)(10−0)(10−2)(10−4)(10−6)(10−8)

Polinomio Interpolador

P5(x) =?20P0(x)+?18P2(x)+?16P4(x)+?17P6(x)+?21P8(x)+?23P10(x)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 11 / 38

ULPGCLogo

Interpolación de FuncionesAproximación de la función ex por un polinomio de grado 2

Interpolamos la función ex en los puntos 0,−1,1

Polinomios base de Lagrange

P0(x) = ? (x+1)(x−1)(0−1)(0+1)

P−1(x) = ? (x−0)(x−1)2

P1(x) = ? (x+1)(x−0)2

Polinomio Interpolador

P2(x) = ?e0P0(x) + ?e−1P−1(x) + ?e1P1(x)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 12 / 38

Notes

Notes

Notes

Notes

Page 29: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de funcionesComparación de la función ex (trazo discontinuo) y P2(x)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 13 / 38

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Aproximación por mínimos cuadrados. Regresión lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 38

ULPGCLogo

Interpolación de FuncionesError de interpolación de Lagrange

TeoremaSea f (x) una función, y PN(x) su polinomio interpolador de Lagrangeen los puntos {xi}i=0,..,N ⊂ [a,b] y x ∈ [a,b], entonces

f (x)− PN(x) =f N+1)(ξ)

(N + 1)!ΠN

i=0(x − xi)

donde ξ es un valor intermedio perteneciente a [a,b].

ProblemaCalcular la expresión del error de interpolación al aproximar la funciónf (x) = sen(x) en el intervalo [0,2π] interpolando en los puntos 0, π2 , πy 3π

2 , y acotarlo superiormente.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 15 / 38

ULPGCLogo

Interpolación de FuncionesPolinomios base de Lagrange

Solución:f (x) = sen(x) f (x)− PN(x) = f N+1)(ξ)

(N+1)! ΠNi=0(x − xi)

f ′(x) = ?cos(x)

f ′′(x) = ?− sen(x) Los puntos a interpolar son0, π/2, π,3π/2f ′′′(x) = −cos(x)

f 4)(x) = sen(x)

La fórmula del error de interpolación es

f (x)− P?3(x) = ?sen(ξ)

4!?x(

x − π

2

)(x − π)

(x − 3π

2

)

Como el valor máximo del sen(x) es 1 y el valor más alejado de lospuntos de interpolación en [0,2π] es 2π podemos acotar el error como:

|f (x)− P3(x)| ≤ 14!

2π(

2π − π

2

)(2π − π)

(2π − 3π

2

)Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 16 / 38

Notes

Notes

Notes

Notes

Page 30: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Aproximación por mínimos cuadrados. Regresión lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 17 / 38

ULPGCLogo

Interpolación de FuncionesElección de los puntos de interpolación

TeoremaSea N ≥ 0, y un intervalo [a,b] Se consideran los puntos xi dados por

xi = a +b − a

2

(1 + cos

(2i + 12N + 2

π

))i = 0, ...,N

entonces

maxx∈[a,b] | ΠNi=0(x − xi) |=

(b − a

2

)N+1 12N ≤ maxx∈[a,b] | ΠN

j=0(x − xj) |

para cualquier otra elección posible de valores de interpolación xj .

Por tanto, utilizando este resultado, el error de interpolación máximo vienedeterminado por:

| f (x)− PN(x) |≤maxx∈[a,b]f N+1)(ξ)

(N + 1)!2N

(b − a

2

)N+1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 18 / 38

ULPGCLogo

Interpolación de FuncionesElección de puntos de interpolación

xi = a +b − a

2

(1 + cos

(2i + 12N + 2

π

))i = 0, ...,N

EjemploSe considera [a,b] = [0,1] y N = 5 (es decir 6 puntos deinterpolación). Los puntos de interpolación dados por el teoremaanterior son:

x0 = .982 96x1 = .853 55x2 = .629 41x3 = .370 59x4 = .146 45

x5 = 1.703 7× 10−2

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 19 / 38

ULPGCLogo

Interpolación de FuncionesPolinomios base de Lagrange

ProblemaCalcular el error máximo de interpolación en el intervalo [0,1] alinterpolar la función cos(x) utilizando los puntos de interpolaciónóptimos tomando N = 5.

El error de interpolación viene dado por la expresión:

| f (x)− PN(x) |≤maxx∈[a,b]

∣∣f N+1)(ξ)∣∣

(N + 1)!2N

(b − a

2

)N+1

en nuestro caso N = 5 y la derivada sexta de cos(x) es − cos(x) cuyomáximo en valor absoluto es 1. Por tanto obtenemos:

| f (x)− P5(x) |≤ ? 16!25

(12

)6

= 6.78× 10−7

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 20 / 38

Notes

Notes

Notes

Notes

Page 31: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Aproximación por mínimos cuadrados. Regresión lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 21 / 38

ULPGCLogo

Interpolación de FuncionesAproximación de la función ex

Si aproximamos la función ex en el intervalo [0,1] utilizando los puntos :

xi =12

(1 + cos

(2i + 12N + 2

π

))i = 0, ...,N

El error de interpolación viene acotado por :

| ex − PN(x) | ≤ e(N + 1)!2N

(12

)N+1

Por tanto si u es la unidad de redondeo y se verifica que

e(N + 1)!2N

(12

)N+1

≤ u · ex ∀x ∈ [0,1]

Entonces la aproximación será la mejor posible dentro de la aritmética. Eneste ejemplo esto ocurre cuando N = 6, (en una aritmética de 32 bits). Asi,tomando un polinomio de grado N = 6, es decir 7 puntos de interpolación,obtenemos ya la mejor aproximación posible de ex en el intervalo [0,1].

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 22 / 38

ULPGCLogo

Interpolación de FuncionesAproximación de la función cos(x)

También podemos aproximar funciones utilizando el desarrollo de Taylor que viene dado por

f (x) = f (x0) + f ′(x0)(x − x0) + ...f N)(x0)

N!(x − x0)N +

f N+1)(ξ)

(N + 1)!(x − x0)N+1

Por ejemplo, consideremos f (x) = cos(x) en el intervalo [0, π4 ], x0 = 0

cos(x) = 1− x2

2!+

x4

4!− ...+ (−1)N x2N

(2N)!+ (−1)N+1 sin(ξ)x2N+1

(2N + 1)!

La mejor aproximación de cos(x) en una aritmética vendrá dada por la condición∣∣∣∣sin(ξ)x2N+1

(2N + 1)!

∣∣∣∣ ≤ u|cos(x)| →

∣∣∣∣∣ (π/4)2N+1

cos(x)(2N + 1)!

∣∣∣∣∣ ≤ 2 (π/4)2N+1√

2(2N + 1)!≤ u

Por tanto, a partir de esta expresión, y en función de la calidad de la aritmética, se calcularáhasta que término hay que llegar en el desarrollo de Taylor para obtener la aproximacióndeseada.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 38

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Aproximación por mínimos cuadrados. Regresión lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 24 / 38

Notes

Notes

Notes

Notes

Page 32: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 20? 18−20

2−0 = −12 : 18

? 16−184−2 = −1

4 : 16? 17−16

6−4 = 12

6 : 17? 21−17

8−6 = 28 : 21

? 23−2110−8 = 1

10 : 23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 25 / 38

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−20

2−0 = −1

2 : 18 ? −1−(−1)4−0 = 0

16−184−2 = −1

4 : 16 ? 1/2−(−1)6−2 = 3

817−16

6−4 = 12

6 : 17 ? 2−1/28−4 = 3

821−17

8−6 = 2

8 : 21 ? 1−210−6 = −1

423−2110−8 = 1

10 : 23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 26 / 38

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−20

2−0 = −1

2 : 18 −1−(−1)4−0 = 0

16−184−2 = −1 ? 3/8−0

6−0 = 116

4 : 16 1/2−(−1)6−2 = 3

817−16

6−4 = 12 ? 3/8−3/8

8−2 = 0

6 : 17 2−1/28−4 = 3

821−17

8−6 = 2 ? −1/4−3/810−4 = − 5

48

8 : 21 1−210−6 = −1

423−2110−8 = 1

10 : 23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 27 / 38

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−20

2−0 = −1

2 : 18 −1−(−1)4−0 = 0

16−184−2 = −1 3/8−0

6−0 = 116

4 : 16 1/2−(−1)6−2 = 3

8 ? 0−1/168−0 = − 1

12817−16

6−4 = 12

3/8−3/88−2 = 0

6 : 17 2−1/28−4 = 3

8 ? −5/48−010−2 = − 5

38421−17

8−6 = 2 −1/4−3/810−4 = − 5

48

8 : 21 1−210−6 = −1

423−2110−8 = 1

10 : 23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 28 / 38

Notes

Notes

Notes

Notes

Page 33: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−20

2−0 = −1

2 : 18 −1−(−1)4−0 = 0

16−184−2 = −1 3/8−0

6−0 = 116

4 : 16 1/2−(−1)6−2 = 3

80−1/16

8−0 = − 1128

17−166−4 = 1

23/8−3/8

8−2 = 0 ? −5/384−(−1/128)10−0 = − 1

1920

6 : 17 2−1/28−4 = 3

8−5/48−0

10−2 = − 5384

21−178−6 = 2 −1/4−3/8

10−4 = − 548

8 : 21 1−210−6 = −1

423−2110−8 = 1

10 : 23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 29 / 38

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−20

2−0 = −1

2 : 18 −1−(−1)4−0 = 0

16−184−2 = −1 3/8−0

6−0 = 116

4 : 16 1/2−(−1)6−2 = 3

80−1/16

8−0 = − 1128

17−166−4 = 1

23/8−3/8

8−2 = 0 −5/384−(−1/128)10−0 = − 1

1920

6 : 17 2−1/28−4 = 3

8−5/48−0

10−2 = − 5384

21−178−6 = 2 −1/4−3/8

10−4 = − 548

8 : 21 1−210−6 = −1

423−2110−8 = 1

10 : 23

P(x) = ?20 ?− 1x ? + 0x(x − 2) ? + 116x(x − 2)(x − 4)

?− 1128x(x − 2)(x − 4)(x − 6) ?− 1

1920x(x − 2)(x − 4)(x − 6)(x − 8)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 30 / 38

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Aproximación por mínimos cuadrados. Regresión lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 31 / 38

ULPGCLogo

Interpolación de funcionesAproximación por mínimos cuadrados

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 38

Notes

Notes

Notes

Notes

Page 34: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de FuncionesAproximación por mínimos cuadrados

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 33 / 38

ULPGCLogo

Interpolación de FuncionesAproximación por mínimos cuadrados

La aproximación mínimo cuadrática aproxima, a través de una función,un conjunto de valores de forma global, sin exigir que la funciónaproximante pase exactamente por ese conjunto de puntos.

Dado un conjunto de valores {(xi , yi)}i=1,..,N , la aproximación mínimocuadrática lineal consiste en buscar la recta y = ax + b, tal que lafunción de error cuadrático

E(a,b) =N∑

i=1

(axi + b − yi)2

sea mínima. Esta aproximación en estadística se denomina regresiónlineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 34 / 38

ULPGCLogo

Interpolación de FuncionesAproximación por mínimos cuadrados

TeoremaLos valores a y b que minimizan el error cuadrático anterior son

a =N∑N

1 xiyi −∑N

i xi∑N

1 yi

N∑N

1 x2i −

(∑N1 xi

)2 y b =

∑N1 x2

i∑N

1 yi −∑N

1 xiyi∑N

1 xi

N∑N

1 x2i −

(∑N1 xi

)2

Demostración Primero, observamos que, dada la forma cuadráticaque tiene el funcional, debe poseer un mínimo. Además, en un mínimode E(a,b), las derivadas parciales son cero, y por tanto

∂E∂a

(a,b) = 2N∑

i=1

(axi + b − yi) xi = 0 y∂E∂b

(a,b) = 2N∑

i=1

(axi + b − yi) = 0

Esto da lugar a un sistema lineal de ecuaciones cuyas incógnitas sona y b, y cuya resolución lleva al resultado establecido en el teorema.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 35 / 38

ULPGCLogo

Interpolación de FuncionesAproximación por mínimos cuadrados

Efectívamente si partimos deN∑

i=1

(axi + b − yi) xi = 0 yN∑

i=1

(axi + b − yi) = 0

esto nos lleva al sistema :{a∑N

i=1 x2i + b

∑Ni=1 xi =

∑Ni=1 yixi

a∑N

i=1 xi + b∑N

i=1 1 =∑N

i=1 yi

cuya solución por el método de Cramer es

a =

∣∣∣∣∣∑N

i=1 yixi∑N

i=1 xi∑Ni=1 yi N

∣∣∣∣∣∣∣∣∣∣∑N

i=1 x2i∑N

i=1 xi∑Ni=1 xi N

∣∣∣∣∣b =

∣∣∣∣∣∑N

i=1 x2i∑N

i=1 xiyi∑Ni=1 xi

∑Ni=1 yi

∣∣∣∣∣∣∣∣∣∣∑N

i=1 x2i∑N

i=1 xiyi∑Ni=1 xi N

∣∣∣∣∣Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 36 / 38

Notes

Notes

Notes

Notes

Page 35: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de FuncionesAproximación por mínimos cuadrados

ProblemaLa evolución de altura de un niño ha sido la siguiente : al nacer : 50cm, a los 3 meses 60 cm, a los 6 meses 67 cm y a los 9 meses 71 cm.Calcular la tasa de variación del peso del niño utilizando unaaproximación mínimo cuadrática.

Solución: Tenemos que calcular a =N∑N

i=1 xi yi−∑N

i=1 xi∑N

i=1 yi

N∑N

i=1 x2i −(

∑Ni=1 xi)

2

Cálculando cada término por separado tenemos

N∑i=1

xiyi = 1221N∑

i=1

xi

N∑i=1

yi = 4464N∑

i=1

x2i = 126

(N∑

i=1

xi

)2

= 324

Por tanto la tasa de variación es a =4 · 1221− 4464

4 · 126− 324=

73

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 37 / 38

ULPGCLogo

Interpolación de FuncionesAproximación por mínimos cuadrados. Gráficas de crecimieno de niños

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 38 / 38

Notes

Notes

Notes

Notes

Page 36: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Métodos Numéricos.Grado en Ingeniería en Informática

Tema 4. Análisis Numérico Matricial I

Luis Alvarez León

Univ. de Las Palmas de G.C.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 1 / 23

ULPGCLogo

Contenido

1 Introducción a los sistemas de ecuaciones

2 Resolución de un sistema triangular de ecuaciones

3 El método de Gauss para resolver sistemas de ecuaciones

4 El método de Cholesky para resolver sistemas de ecuaciones

5 Factorización LU de una matriz

6 Estimación del error numérico al resolver un sistema

7 Método de Crout para sistemas tridiagonales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 2 / 23

ULPGCLogo

Contenido

1 Introducción a los sistemas de ecuaciones

2 Resolución de un sistema triangular de ecuaciones

3 El método de Gauss para resolver sistemas de ecuaciones

4 El método de Cholesky para resolver sistemas de ecuaciones

5 Factorización LU de una matriz

6 Estimación del error numérico al resolver un sistema

7 Método de Crout para sistemas tridiagonales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 3 / 23

ULPGCLogo

Análisis Numérico Matricial IIntroducción

Un sistema lineal de ecuaciones viene dado por la igualdad

Au = b

donde A = (aij) es una matriz de NxN, b = (bi) es un vector de tamaño N quedetermina los términos independientes, y u = (ui) es el vector soluciónbuscado.

Ejemplo −2 −2 06 18 123 11 7

u1u2u3

=

0248

6 18 12

0 4 40 0 −1

u1u2u3

=

248−8

Para que el sistema tenga una única solución debe cumplirse : ?

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 23

Notes

Notes

Notes

Notes

Page 37: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial ICálculo del determinante de A

|A| =1 2 34 5 67 8 9

= 15 68 9

− 24 67 9

+ 34 57 8

Algoritmo recursivo para calcular el determinante de una matriz A de dimensión N:

determinante(A,N)SI N > 1

construimos N matrices A1,A2, .......AN de dimensión N − 1|A| = a1,1· determinante(A1,N − 1) - a1,2· determinante(A2,N − 1) + ..... a1,N ·

determinante(AN ,N − 1)ELSE

determinante=A(1,1)END

No de operaciones del algoritmo recursivo determinante(A,N) = N multiplicaciones, ?sumas y ? llamadas a determinantes de dimensión N − 1

Complejidad total del algoritmo recursivo determinante(A,N) = N! operaciones

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 5 / 23

ULPGCLogo

Análisis Numérico Matricial ICálculo del determinante de A

10! = 3 · 106 50! = 3 · 1064 100! = 9 · 10157

Uno de los super-ordenadores más rápidos que existen en laactualidad es el BlueGene/L System desarrollado por IBM. Es capazde realizar del orden de 1021operaciones en coma flotante porsegundo. Este ordenador, para calcular un determinante de una matrizde dimensión 100 tardaría del orden de 10129 años.

Por tanto un algoritmo de complejidad factorial con N=100 no es unproblema que pueda resolverse por mucho que avance la tecnologíapues el número de operaciones necesarias es gigantesco einalcanzable.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 6 / 23

ULPGCLogo

Contenido

1 Introducción a los sistemas de ecuaciones

2 Resolución de un sistema triangular de ecuaciones

3 El método de Gauss para resolver sistemas de ecuaciones

4 El método de Cholesky para resolver sistemas de ecuaciones

5 Factorización LU de una matriz

6 Estimación del error numérico al resolver un sistema

7 Método de Crout para sistemas tridiagonales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 7 / 23

ULPGCLogo

Análisis Numérico Matricial IResolución de un sistema triangular de ecuaciones

a0,0 a0,1 a0,2 . a0,N−10 a1,1 a0,2 . a1,N−10 0 . . .. . . aN−2,N−2 aN−2,N−10 0 0 . aN−1,N−1

u0u1.

uN−2uN−1

=

b0b1.

bN−2bN−1

Solución Número de OperacionesuN−1 =

bN−1aN−1,N−1

1 división

uN−2 =bN−2−aN−2,N−1uN−1

aN−2,N−21 división + 1 suma + 1 multiplicación

uk =bk−

∑N−1l=k+1 ak,l ulak,k

k = N − 2, ..,1 1 división + (N-k) sumas + (N-k) multiplicacionesNúmero total de operaciones N divis. + (1+2+..+N-1) sumas y multiplic.

1 + 2 + .....+ N − 1 =N2(N − 1) = O(N2)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 8 / 23

Notes

Notes

Notes

Notes

Page 38: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IResolución de un sistema triangular de ecuaciones

a0,0 0 0 . 0a1,0 a1,1 0 . 0. . . . .

aN−2,0 . . aN−2,N−2 0aN−1,0 aN−1,1 aN−1,2 . aN−1,N−1

u0u1u2.

uN−1

=

b0b1b2.

bN−1

Solución:

u0 = b0a0,0

u1 =b1−a1,0u0

a1,1

uk =bk−

∑k−1l=1 ak,l ul

ak,kk = 1, ..,N − 1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 9 / 23

ULPGCLogo

Contenido

1 Introducción a los sistemas de ecuaciones

2 Resolución de un sistema triangular de ecuaciones

3 El método de Gauss para resolver sistemas de ecuaciones

4 El método de Cholesky para resolver sistemas de ecuaciones

5 Factorización LU de una matriz

6 Estimación del error numérico al resolver un sistema

7 Método de Crout para sistemas tridiagonales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 10 / 23

ULPGCLogo

Análisis Numérico Matricial IMétodo de Gauss.Objetivo: Convertir el sistema en un sistema triangular

−2 −2 06 18 123 11 7

u1u2u3

=

0248

La descomposición de la matriz A se divide en las siguientes fases: −2 −2 0

6 18 123 11 7

u1u2u3

=

0248

−−−−−→pivoteo

6 18 12−2 −2 03 11 7

u1u2u3

=

2408

6 18 12−2 −2 03 11 7

u1u2u3

=

2408

−−−−−−−−−→ceros 1a col .

6 18 120 4 40 2 1

u1u2u3

=

248− 4

6 18 12

0 4 40 2 1

u1u2u3

=

248−4

−−−−−−−−−→ceros 2a col .

6 18 120 4 40 0 − 1

u1u2u3

=

248− 8

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 11 / 23

ULPGCLogo

Análisis Numérico Matricial IMétodo de Gauss. Recuento de operaciones

a0,0 a0,1 a0,2 . a0,N−1

a1,00 a1,1 a0,2 . a1,N−1.0 .0 . . ..0 . . aN−2,N−2 aN−2,N−1

aN−1,00 aN−1,10 . aN−1,N−20 aN−1,N−1

u0u1u2.

uN−1

=

b0b1b2.

bN−1

Recuento de Operaciones

Convertir en 0 el elemento a1,0 1 división + N multiplicaciones y sumasConvertir en cero a1,0,a2,0, ...aN−1,0 N-1 divisiones + N(N-1) multiplicaciones y sumasConvertir en cero a2,1,a3,1, ...aN−1,1 N-2 divisiones + (N-1)(N-2) multiplicaciones y sumasConvertir en cero aN−1,N−2 1 divisiones + 2 multiplicaciones y sumasTotal Operaciones : (1+2+..+N-1) divisiones

+ (2+6+...+N(N-1)) multiplicaciones y sumas

2 + 6 + ...+ N(N − 1) =N3 − N

3= O(N3)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 12 / 23

Notes

Notes

Notes

Notes

Page 39: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Introducción a los sistemas de ecuaciones

2 Resolución de un sistema triangular de ecuaciones

3 El método de Gauss para resolver sistemas de ecuaciones

4 El método de Cholesky para resolver sistemas de ecuaciones

5 Factorización LU de una matriz

6 Estimación del error numérico al resolver un sistema

7 Método de Crout para sistemas tridiagonales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 13 / 23

ULPGCLogo

Análisis Numérico Matricial IMétodo de Cholesky. Ejemplo descomposición de matriz

A =

1 1 41 5 64 6 26

=

b0,0 0 0b1,0 b1,1 0b2,0 b2,1 b2,2

b0,0 b0,1 b0,20 b1,1 b1,20 0 b2,2

1 1 4

1 5 64 6 26

=

b20,0 b0,1b1,0 b0,2b2,0

b0,0b1,0 b21,0 + b2

1,1 b1,0b2,0 + b1,1b2,1

b0,0b2,0 b1,0b2,0 + b1,1b2,1 b22,1 + b2

2,1 + b22,2

b20,0 = 1 −→ b0,0 = 1 b0,0b1,0 = 1 −→ b1,0 = 1

b0,0= 1

b0,0b2,0 = 4 −→ b2,0 = 4b0,0

= 4

b21,0 + b2

1,1 = 5 −→ b1,1 = ±√(

5− b21,0

)=√

(4) = 2

b1,0b2,0 + b1,1b2,1=6 −→ b2,1 =6−b1,0b2,0

b1,1= 6−4

2 = 1

b22,0 + b2

2,1 + b22,2 = 26 −→ b2,2 =

√(26− b2

2,0 − b22,1

)=√(

26− 16− 12)= 3

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 23

ULPGCLogo

Análisis Numérico Matricial IMétodo de Cholesky. Algoritmo general

El algoritmo para descomponer A = B · Bt es el siguiente

Para i = 0, ...,N − 1

bi,i =

√(ai,i −

∑i−1k=0 b2

i,k

)Para j = i + 1, ...,N − 1

bj,i =1

bi,i

(aj,i −

∑i−1k=0 bj,kbi,k

)Fin Para j

Fin Para i

Una vez calculada B, resolvemos el sistema Au = B · Btu = b descomponiéndoloen los siguientes sistemas triangulares :

Bz = b

Btu = z

Ambos sistemas se resuelvan rápidamente haciendo un remonte y un descenso.Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 15 / 23

ULPGCLogo

Análisis Numérico Matricial IMétodo de Cholesly. Condiciones necesarias para poder aplicar el método

Las condiciones para poder aplicar el método de Cholesky son las siguientes :

La matriz A debe ser simétrica ai,j = aj,iLa matriz A debe ser definida positiva

x tAx > 0 para todo vector x 6= 0todos los autovalores de A son positivosLos menores principales de la matriz son positivos

a0,0 a0,1 a0,2 . a0,N−1a1,0 a1,1 a1,2 . a1,N−1a2,0 a2,1 a2,2 . a2,N−1. . . . .

aN−1,0 aN−1,1 aN−1,2 . aN−1,N−1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 16 / 23

Notes

Notes

Notes

Notes

Page 40: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Introducción a los sistemas de ecuaciones

2 Resolución de un sistema triangular de ecuaciones

3 El método de Gauss para resolver sistemas de ecuaciones

4 El método de Cholesky para resolver sistemas de ecuaciones

5 Factorización LU de una matriz

6 Estimación del error numérico al resolver un sistema

7 Método de Crout para sistemas tridiagonales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 17 / 23

ULPGCLogo

Análisis Numérico Matricial IFactorización LU de una matriz.

La factorización LU es un método parecido al de Cholesky que sirvepara matrices no-simétricas. Busca una descompocisión de la forma :

A =

1 1 42 5 61 1 26

=

1 0 0l1,0 1 0l2,0 l2,2 1

u0,0 u0,1 u0,20 u1,1 u1,20 0 u2,2

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 18 / 23

ULPGCLogo

Análisis Numérico Matricial IFactorización LU. Algoritmo general

El algoritmo para descomponer A = L · U es el siguiente

Inicializar a 0 todos los elementos de L y U.Para i = 0, ...,N − 1

li,i = 1ui,i = ai,i −

∑i−1k=0 li,kuk ,i

Para j = i + 1, ...,N − 1ui,j = ai,j −

∑i−1k=0 li,kuk ,j

lj,i = 1ui,i

(aj,i −

∑i−1k=0 lj,kuk ,i

)Fin Para j

Fin Para i

Una vez calculadas L,U, resolvemos el sistema Au = L · U · u = bdescomponiéndolo en los siguientes sistemas triangulares :

Lz = b

Uu = z

Ambos sistemas se resuelvan rápidamente haciendo un remonte y un descenso.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 19 / 23

ULPGCLogo

Contenido

1 Introducción a los sistemas de ecuaciones

2 Resolución de un sistema triangular de ecuaciones

3 El método de Gauss para resolver sistemas de ecuaciones

4 El método de Cholesky para resolver sistemas de ecuaciones

5 Factorización LU de una matriz

6 Estimación del error numérico al resolver un sistema

7 Método de Crout para sistemas tridiagonales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 20 / 23

Notes

Notes

Notes

Notes

Page 41: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IEstimación del error de un método para resolver sistemas.

Para estimar la fiabilidad de la solución numérica de un sistema deecuaciones, haremos lo siguiente: dada una matriz A, un vector de términosindependientes b y un vector solución u, calculado utilizando alguna técnicanumérica, si la solución es perfecta entonces Au − b = 0. Ahora bien, esto nosuele suceder, porque los errores de redondeo y de cálculo producen que estaestimación no sea exacta. Para estimar el error cometido al resolver el sistemautilizaremos la expresión siguiente, donde e es el vector e = Au − b :

ErrorSistema =1N

∑ |ei ||bi |+ ε

donde N es la dimensión del sistema y ErrorSistema representa el errorrelativo medio al resolver el sistema. En el denominador se añade ε > 0 paraevitar las posibles divisiones por 0. Cuanto más pequeño sea ErrorSistema,mejor aproximada estará la solución del sistema.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 21 / 23

ULPGCLogo

Contenido

1 Introducción a los sistemas de ecuaciones

2 Resolución de un sistema triangular de ecuaciones

3 El método de Gauss para resolver sistemas de ecuaciones

4 El método de Cholesky para resolver sistemas de ecuaciones

5 Factorización LU de una matriz

6 Estimación del error numérico al resolver un sistema

7 Método de Crout para sistemas tridiagonales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 22 / 23

ULPGCLogo

Análisis Numérico Matricial IMétodo de Crout para matrices tridiagonales

Si A es una matriz tridiagonal se puede descomponer de la forma siguiente:a0 b0 . 0c0 a1 . 00 . . bN−20 . cN−2 aN−1

=

l0 0 . 0

m0 l1 . 00 . . 00 . mN−2 lN−1

1 u0 . 00 1 . 00 . . uN−20 . 0 1

Los vectores mi , li, y ui se calculan utilizando el esquema:

l0 = a0u0 = b0/l0Para i = 1, ..,N − 2

mi−1 = ci−1 La complejidad del método de Crout es O(N1)li = ai −mi−1ui−1ui = bi/li

Fin ParamN−2 = cN−2lN−1 = aN−1 −mN−2uN−2

A partir de la descomposición se resuelven los 2 sistemas triangularesasociados como en Cholesky mediante un descenso y un remonte

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 23

Notes

Notes

Notes

Notes

Page 42: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Métodos NuméricosGrado en Informática

Tema 5: Diferenciación e Integración Numérica

Luis Alvarez León

Univ. de Las Palmas de G.C.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 1 / 43

ULPGCLogo

Contenido

1 Introducción a la Diferenciación Numérica

2 Fórmulas para calcular la derivada primera

3 Fórmulas para calcular la derivada segunda

4 Derivadas de funciones de varias variables

5 Integración Numérica

6 Métodos de Cuadratura de Gauss de Integración Numérica

7 Fórmulas de Integración para Integrales Múltiples

8 Fórmulas de Integración Numérica Compuestas

9 Práctica 5. Implementación del Método de Simpson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 2 / 43

ULPGCLogo

Contenido

1 Introducción a la Diferenciación Numérica

2 Fórmulas para calcular la derivada primera

3 Fórmulas para calcular la derivada segunda

4 Derivadas de funciones de varias variables

5 Integración Numérica

6 Métodos de Cuadratura de Gauss de Integración Numérica

7 Fórmulas de Integración para Integrales Múltiples

8 Fórmulas de Integración Numérica Compuestas

9 Práctica 5. Implementación del Método de Simpson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 3 / 43

ULPGCLogo

Diferenciación e Integración NuméricaEl método de Muller para calcular ceros de una función

El método de Muller para calcular ceros de una función utiliza lassiguientes fórmulas basadas en 3 puntos para calcular la primera ysegunda derivada de una función:

f ′′(xn−1) ≈ 2f (xn−2)−f (xn−3)

xn−2−xn−3− f (xn−1)−f (xn−2)

xn−1−xn−2

xn−3 − xn−1

f ′(xn−1) ≈ f (xn−1)− f (xn−2)

xn−1 − xn−2+

f ′′(xn−1)

2(xn−1 − xn−2)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 43

Notes

Notes

Notes

Notes

Page 43: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Introducción a la Diferenciación Numérica

2 Fórmulas para calcular la derivada primera

3 Fórmulas para calcular la derivada segunda

4 Derivadas de funciones de varias variables

5 Integración Numérica

6 Métodos de Cuadratura de Gauss de Integración Numérica

7 Fórmulas de Integración para Integrales Múltiples

8 Fórmulas de Integración Numérica Compuestas

9 Práctica 5. Implementación del Método de Simpson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 5 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmula para calcular la derivada primera con 2 puntos

La manera habitual de aproximar la derivada de una función f (x) en un punto xiconsiste en utilizar el desarrollo de Taylor centrado en xi :

f (x) = f (xi) +f ′(xi)

1!(x − xi) +

f ′′(xi)

2!(x − xi)

2 + ...+f N)(xi)

N!(x − xi)

N + ...

Si tomamos un punto xj 6= xi , y despejamos f ′(xi) obtenemos:

f ′(xi) =f (xj)− f (xi)

xj − xi− f ′′(xi)

2!(xj − xi)− .... =

f (xj)− f (xi)

xj − xi+O

(∣∣xj − xi∣∣)

donde O(∣∣xj − xi

∣∣) indica, básicamente, que el error cometido es una suma depotencias de

∣∣xj − xi∣∣ en la que la potencia más pequeña es 1.. Se denomina orden

de la aproximación a la potencia más pequeña que aparece en el término del error.Por lo tanto, en este caso, diremos que el orden de aproximación es 1. Si xj > xi ,entonces la derivada se calcula hacia adelante, mientras que si xj < xi , la derivada secalcula hacia atrás.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 6 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmula para calcular la derivada primera con 2 puntos

Ejemplo

f (x) = x3 + x f ′(x) = 3x2 + 1xi = 1 f ′(1) = 4

xj = 0 f ′(1) ≈ f (xj )−f (xi )xj−xi

= 0−20−1 = 2

xj = 2 f ′(1) ≈ f (xj )−f (xi )xj−xi

= 10−22−1 = 8

xj = 1.1 f ′(1) ≈ f (xj )−f (xi )xj−xi

= 2.431−21.1−1 = 4.31

xj = 1.01 f ′(1) ≈ f (xj )−f (xi )xj−xi

= 2.040301−21.01−1 = 4.0301

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 7 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmula para calcular la derivada primera con 3 puntos

f (xr ) = f (xi) + f ′(xi )1! (xr − xi) + f ′′(xi )

2! (xr − xi)2 + f ′′′(xi )

3! (xr − xi)3 + ...

f (xl) = f (xi) + f ′(xi )1! (xl − xi) + f ′′(xi )

2! (xl − xi)2 + f ′′′(xi )

3! (xl − xi)3 + ...

Despejamos la derivada primera y nos preguntamos por que factores hay quemultiplicar las igualdades para que al sumar desaparezca el término en la derivadasegunda

(xl − xi)· f ′(xi) = (f (xr )−f (xi ))xr−xi

− f ′′(xi )2! (xr − xi)− f ′′′(xi )

3! (xr − xi)2 − ...

−(xr − xi)· f ′(xi) = (f (xl )−f (xi ))xl−xi

− f ′′(xi )2! (xl − xi)− f ′′′(xi )

3! (xl − xi)2 − ...

Sumando las 2 ecuaciones y despejando obtenemos :

f ′(xi) =(xi − xl)

f (xr )−f (xi )xr−xi

+ (xr − xi)f (xi )−f (xl )

xi−xl

xr − xl+O(h2)

donde h =| xr − xi |≈| xl − xi |

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 8 / 43

Notes

Notes

Notes

Notes

Page 44: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Diferenciación e Integración NuméricaFórmula para calcular la derivada primera con 3 puntos

En el caso de que los puntos esten equiespaciados, es decirxr = xi + h y xl = xi − h la fórmula para calcular la primera derivada sesimplifica obteniendo

f ′(xi) =f (xi + h)− f (xi − h)

2h+O(h2)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 9 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmula para calcular la derivada primera con 3 puntos

Ejemplo

f (x) = x3 + x f ′(x) = 3x2 + 1xi = 1 f ′(1) = 4h = 1 f ′(1) ≈ f (xi+h)−f (xi−h)

2h = 10−02 = 5

h = 0.1 f ′(1) ≈ f (xi+h)−f (xi−h)2h = 2.431−1.629

0.2 = 4.01

h = 0.01 f ′(1) ≈ f (xi+h)−f (xi−h)2h = 2,040301−1,960299

0.02 = 4.0001

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 10 / 43

ULPGCLogo

Contenido

1 Introducción a la Diferenciación Numérica

2 Fórmulas para calcular la derivada primera

3 Fórmulas para calcular la derivada segunda

4 Derivadas de funciones de varias variables

5 Integración Numérica

6 Métodos de Cuadratura de Gauss de Integración Numérica

7 Fórmulas de Integración para Integrales Múltiples

8 Fórmulas de Integración Numérica Compuestas

9 Práctica 5. Implementación del Método de Simpson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 11 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmula para calcular la derivada segunda con 3 puntos

Partimos de nuevo de los desarrollos en serie de Taylor y nos planteamos por quefactores hay que multiplicar las ecuaciones para que al sumar desaparezca el términoen derivada primera

(xl − xi)· f (xr ) = f (xi) + f ′(xi )1! (xr − xi) + f ′′(xi )

2! (xr − xi)2 + f ′′′(xi )

3! (xr − xi)3 + ...

−(xr − xi)· f (xl) = f (xi) + f ′(xi )1! (xl − xi) + f ′′(xi )

2! (xl − xi)2 + f ′′′(xi )

3! (xl − xi)3 + ...

Sumando las 2 ecuaciones obtenemos :

(xl − xi)(f (xr )− f (xi))− (xr − xi)(f (xl)− f (xi)) =f ′′(xi )

2

((xr − xi)

2(xl − xi)− (xl − xi)2(xr − xi)

)+

f ′′′(xi )3!

((xr − xi)

3(xl − xi)− (xl − xi)3(xr − xi)

)+ ....

despejando f ′′(xi) y agrupando términos obtenemos:

f ′′(xi) = 2f (xr )−f (xi )

xr−xi− f (xi )−f (xl )

xi−xl

xr − xl+O(h)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 12 / 43

Notes

Notes

Notes

Notes

Page 45: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Diferenciación e Integración NuméricaFórmula para calcular la derivada segunda con 3 puntos

En el caso de que los puntos esten equiespaciados, es decirxr = xi + h y xl = xi − h, la fórmula para calcular la segunda derivadase simplifica obteniendo

f ′′(xi) =f (xi + h) + f (xi − h)− 2f (xi)

h2 +O(h2)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 13 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmula para calcular la derivada segunda con 3 puntos

Ejemplo

f (x) = x3 + x f ′′(x) = 6xxi = 1 f ′′(1) = 6h = 1 f ′′(1) ≈ f (xi+h)+f (xi−h)−2f (xi )

h2 = 10+0−2·212 = 6

La fórmula para la derivada segunda es exacta para polinomios degrado 3.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmula para calcular la derivada segunda con 3 puntos

Ejemplo

f (x) = x4 f ′′(x) = 12x2

xi = 1 f ′′(1) = 12h = 1 f ′′(1) ≈ f (xi+h)+f (xi−h)−2f (xi )

h2 = 16+0−21 = 14

h = 0.1 f ′′(1) ≈ f (xi+h)+f (xi−h)−2f (xi )h2 = 1,4641+0.6561−2

0.01 = 12.02

h = 0.01 f ′′(1) ≈ f (xi+h)+f (xi−h)−2f (xi )h2 = 1.040604+0.960596−2

0.0001 = 12.0002

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 15 / 43

ULPGCLogo

Contenido

1 Introducción a la Diferenciación Numérica

2 Fórmulas para calcular la derivada primera

3 Fórmulas para calcular la derivada segunda

4 Derivadas de funciones de varias variables

5 Integración Numérica

6 Métodos de Cuadratura de Gauss de Integración Numérica

7 Fórmulas de Integración para Integrales Múltiples

8 Fórmulas de Integración Numérica Compuestas

9 Práctica 5. Implementación del Método de Simpson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 16 / 43

Notes

Notes

Notes

Notes

Page 46: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Diferenciación e Integración NuméricaDerivadas de funciones de varias variables

Consideremos una función de 2 variables como por ejemplo :

F (x , y) = x3y2

Las derivadas parciales de F (x , y) son :

∂F∂x

(x , y) = 3x2y2 ∂F∂y

(x , y) = 2x3y

Para aproximar numéricamente la derivada parcial en una dirección sepueden utilizar las mismas fórmulas que en una dimensión dejando elresto de variables constantes. Por ejemplo

∂F∂x

(x , y) ≈ (x + h)3y2 − (x − h)3y2

2h∂F∂y

(x , y) ≈ x3(y + h)2 − x3(y − h)2

2h

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 17 / 43

ULPGCLogo

Diferenciación e Integración NuméricaDerivadas de funciones de varias variables

Podemos considerar que una imagen digital es una función de 2variables donde (x , y) representa la posición de un pixel y F (x , y) elnivel de gris o color.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 18 / 43

ULPGCLogo

Diferenciación e Integración NuméricaDerivadas de funciones de varias variables

La derivada en la dirección horizontal de una imagen detecta losbordes verticales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 19 / 43

ULPGCLogo

Diferenciación e Integración NuméricaDerivadas de funciones de varias variables

La derivada en la dirección vertical de una imagen detecta los bordeshorizontales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 20 / 43

Notes

Notes

Notes

Notes

Page 47: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Introducción a la Diferenciación Numérica

2 Fórmulas para calcular la derivada primera

3 Fórmulas para calcular la derivada segunda

4 Derivadas de funciones de varias variables

5 Integración Numérica

6 Métodos de Cuadratura de Gauss de Integración Numérica

7 Fórmulas de Integración para Integrales Múltiples

8 Fórmulas de Integración Numérica Compuestas

9 Práctica 5. Implementación del Método de Simpson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 21 / 43

ULPGCLogo

Diferenciación e Integración NuméricaIntegración Numérica

∫ b

af (x)dx = ?

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 22 / 43

ULPGCLogo

Diferenciación e Integración NuméricaIntegración Numérica

∫ b

af (x)dx = Area encerrada por la curva y el eje x en [a,b]

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 43

ULPGCLogo

Contenido

1 Introducción a la Diferenciación Numérica

2 Fórmulas para calcular la derivada primera

3 Fórmulas para calcular la derivada segunda

4 Derivadas de funciones de varias variables

5 Integración Numérica

6 Métodos de Cuadratura de Gauss de Integración Numérica

7 Fórmulas de Integración para Integrales Múltiples

8 Fórmulas de Integración Numérica Compuestas

9 Práctica 5. Implementación del Método de Simpson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 24 / 43

Notes

Notes

Notes

Notes

Page 48: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Diferenciación e Integración NuméricaMétodos de Cuadratura de Gauss

Sea f (x) una función definida en un intervalo [a,b], vamos a aproximarel valor de la integral de f (x) en [a,b] utilizando la evaluación de f (x)en ciertos puntos de [a,b]. Es decir, una fórmula de integraciónnumérica se puede escribir como∫ b

af (x)dx ≈

N−1∑k=0

wk f (xk )

donde xk representa los puntos de evaluación de f (x) y wk el peso decada punto de evaluación.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 25 / 43

ULPGCLogo

Diferenciación e Integración NuméricaMétodos de Cuadratura de Gauss. Ejemplo

Veamos como se construye la fórmula de Cuadratura de Gaussutilizando un sólo punto ∫ 1

−1f (x)dx ≈ w0f (x0)

Para calcular w0 y x0 vamos a exigir que la fórmula se exacta parapolinomios de grado 0 y 1.∫ 1

−1 1dx = 2 = w0f (x0) = w0 =⇒ w0 = 2∫ 1−1 xdx = x2

2

]1

−1= 0 = w0f (x0) =⇒ x0 = 0

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 26 / 43

ULPGCLogo

Diferenciación e Integración NuméricaMétodos de Cuadratura de Gauss

DefiniciónUna fórmula de integración numérica se denomina exacta de orden Msi, para cualquier polinomio P(x) de grado menor o igual que M, lafórmula es exacta. Es decir∫ b

aP(x)dx =

N−1∑k=0

wkP(xk )

La fórmula de cuadratura de Gauss que utiliza N puntos es exacta deorden M = 2N − 1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 27 / 43

ULPGCLogo

Diferenciación e Integración NuméricaMétodos de Cuadratura de Gauss

DefiniciónSe denominan polinomios de Legendre LN(x) a la familia de polinomios dada porL0(x) = 1, L1(x) = x , y para N = 2,3, ....

NLN(x) = (2N − 1)xLN−1(x)− (N − 1)LN−2(x)

TeoremaSean{xk}k=1,..,N los ceros del polinomio de Legendre LN(x). Si definimos

wk =

∫ 1

−1

Πi 6=k (x − xi)

Πi 6=k (xk − xi)dx

entonces la fórmula de integración numérica generada por los puntos xk y lospesos wk es exacta hasta el orden 2N − 1 para el intervalo [−1,1].

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 28 / 43

Notes

Notes

Notes

Notes

Page 49: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Diferenciación e Integración NuméricaMétodos de Cuadratura de Gauss

EjemploA continuación se exponen algunos valores de raíces xk y coeficientes wk enfunción del grado del polinomio LN(x) :

N xk wk2 0,5773502692 1.−0,5773502692 1

3 0,7745966692 0,55555555560. 0,8888888889

− 0,7745966692 0,55555555564 0,8611363116 0,3478548451

0,3399810436 0,6251451549−0,3399810436 0,6251451549− 0,8611363116 0,3478548451

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 29 / 43

ULPGCLogo

Diferenciación e Integración NuméricaMétodos de Cuadratura de Gauss

Problema(2 puntos) Aproximar el valor de la siguiente integral, utilizando las fórmulas deLegendre para N = 2 y N = 3:∫ 1

−1

(x3 − x4

)dx '

N−1∑k=0

wk f (xk )

Solución:

N = 21∑

k=0wk f (xk ) = 1 · f (0,5773502692) + 1 · f (−0,5773502692) = −.222 22

N = 32∑

k=0wkP (xk ) = 0,555 · f (0,774) +0,888 · f (0) + 0,555 · f (−0,774) = −.4

El valor exacto de la integral es∫ 1−1

(x3 − x4)dx = −2

5 = −.4

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 30 / 43

ULPGCLogo

Diferenciación e Integración NuméricaMétodos de Cuadratura de Gauss

Cuando el intervalo [a,b] es infinito, es decir, a = −∞ o b =∞, hay que emplearotros métodos para aproximar las integrales. En el caso [a,b] = (−∞,∞), seutilizan los ceros de los denominados polinomios de Hermite. En este caso, lafórmula de integración numérica aproxima la integral de la siguiente forma:∫ ∞

−∞f (x)e−x2

dx ≈N−1∑k=0

wk f (xk )

Los puntos que se utilizan para calcular los integrales son :

N xk wk1 0. 1.772 453 8512 −0.707 106 781 0.886 226 925 5

0.707 106 781 0.886 226 925 5

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 31 / 43

ULPGCLogo

Diferenciación e Integración NuméricaMétodos de Cuadratura de Gauss

Problema(2 puntos) Aproximar, utilizando dos puntos de aproximación, el valor de la integral:∫ ∞

−∞

11 + x2 dx

Solución:∫∞−∞

11+x2 dx = arctan(x)]∞−∞ = π

2 −−π2 = π =

∫∞−∞

ex2

1+x2 e−x2dx

f (x) = ex2

1+x2∫∞−∞

11+x2 dx ' w1f (x1) + w2f (x2) = 0,8862269255 · f (−0,707106781) +

+0,8862269255 · f (0,707106781) = 1.948 2

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 43

Notes

Notes

Notes

Notes

Page 50: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Diferenciación e Integración NuméricaMétodos de Cuadratura de Gauss. Polinomios de Laguerre

Para el intervalo (0,∞), se utilizan los polinomios de Laguerre. En este caso, lafórmula de integración numérica aproxima:∫ ∞

0f (x)e−xdx ≈

N−1∑k=0

wk f (xk )

Los puntos y pesos de integración son

N xk wk1 1. 1.2 0.585 786 438 0.853 553 390 3

3.414 213 562 0.146 446 609 3

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 33 / 43

ULPGCLogo

Diferenciación e Integración NuméricaMétodos de Cuadratura de Gauss

ProblemaA partir de los ceros y de los pesos asociados a los polinomios de Legendre, ydado un intervalo [a,b] cualquiera, encontrar los puntos xk , y los pesos wk quehacen exacta hasta el orden 2N − 1 una fórmula de integración numérica sobre elintervalo [a,b]

Solución: Tenemos que hacer un cambio de variable en la integral para llevarla alintervalo [−1,1] ∫ b

af (x) dx =

∫ 1

−1f(

(b − a) t + b + a2

)b − a

2dt

Buscamos un cambio de variable x(t) tal que x(−1) = a y x(1) = b. Dicho cambioviene dada por una recta que tiene por ecuación :

x(t)− ab − a

=t − (−1)

1− (−1)→ x(t) =

(b − a) t + b + a2

∫ b

af (x) dx '

N∑k=1

wkb − a

2f(

(b − a) xk + b + a2

)Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 34 / 43

ULPGCLogo

Contenido

1 Introducción a la Diferenciación Numérica

2 Fórmulas para calcular la derivada primera

3 Fórmulas para calcular la derivada segunda

4 Derivadas de funciones de varias variables

5 Integración Numérica

6 Métodos de Cuadratura de Gauss de Integración Numérica

7 Fórmulas de Integración para Integrales Múltiples

8 Fórmulas de Integración Numérica Compuestas

9 Práctica 5. Implementación del Método de Simpson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 35 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmulas de Integración para integrales múltiples

Consideremos una fórmula de integración numérica en una variable∫ 1

−1f (x)dx =

N∑k=1

wk f (xk )

A partir de esta fórmula podemos deducir

∫ 1

−1

∫ 1

−1F (x , y) dxdy =

∫ 1

−1

N∑k=1

wkF (xk , y)dy =N∑

k=1

wk

∫ 1

−1F (xk , y) dy

=N∑

k=1

wk

N∑j=1

wjF(xk , xj

) =N∑

k ,j=1

Wk ,jF(xk , xj

),

donde Wk ,j = wk wj

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 36 / 43

Notes

Notes

Notes

Notes

Page 51: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Introducción a la Diferenciación Numérica

2 Fórmulas para calcular la derivada primera

3 Fórmulas para calcular la derivada segunda

4 Derivadas de funciones de varias variables

5 Integración Numérica

6 Métodos de Cuadratura de Gauss de Integración Numérica

7 Fórmulas de Integración para Integrales Múltiples

8 Fórmulas de Integración Numérica Compuestas

9 Práctica 5. Implementación del Método de Simpson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 37 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmulas de Integración Numérica Compuestas. Fórmula del rectángulo

∫ b

af (x)dx =

M∑k=0

∫ xk+1

xk

f (x)dx ≈M∑

k=0

f(

xk + xk+1

2

)(xk+1 − xk )

x0 = a, xM+1 = b

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 38 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmulas de Integración Numérica Compuestas. Fórmula del trapecio

∫ b

af (x)dx =

M∑k=0

∫ xk+1

xk

f (x)dx ≈M∑

k=0

f (xk ) + f (xk+1

2(xk+1 − xk )

x0 = a, xM+1 = b

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 39 / 43

ULPGCLogo

Diferenciación e Integración NuméricaFórmulas de Integración Numérica Compuestas. Fórmula de Simpson

∫ b

af (x)dx =

M∑k=0

∫ xk+1

xk

f (x)dx ≈M∑

k=0

f (xk ) + 4f(

xk+xk+12

)+ f (xk+1)

6(xk+1 − xk )

x0 = a, xM+1 = b

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 40 / 43

Notes

Notes

Notes

Notes

Page 52: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Diferenciación e Integración NuméricaFórmulas de Integración Numérica Compuestas. Demostración Fórmula Simpson

∫ xk+1

xk

f (x)dx ≈∫ xk+1

xk

(f (xm) + f ′(xm)(x − xm) +

f ′′(xm)

2(x − xm)2

)dx =

f (xm)(xk+1 − xk ) + 0 +f ′′(xm)

3

(xk+1 − xk

2

)3

Ahora aproximamos f ′′(xm) utilizando los puntos xk , xm, xk+1

f ′′(xm) ≈ f (xk+1)− 2f (xm) + f (xk )(xk+1−xk

2

)2

Por tanto, sustituyendo este valor en la aproximación anterior obtenemos∫ xk+1

xk

f (x)dx ≈ f (xm)(xk+1 − xk ) +f (xk+1)− 2f (xm) + f (xk )

3

(xk+1 − xk

2

)

=f (xk+1) + f (xk ) + 4f

(xk+xk+1

2

)6

(xk+1 − xk )

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 41 / 43

ULPGCLogo

Contenido

1 Introducción a la Diferenciación Numérica

2 Fórmulas para calcular la derivada primera

3 Fórmulas para calcular la derivada segunda

4 Derivadas de funciones de varias variables

5 Integración Numérica

6 Métodos de Cuadratura de Gauss de Integración Numérica

7 Fórmulas de Integración para Integrales Múltiples

8 Fórmulas de Integración Numérica Compuestas

9 Práctica 5. Implementación del Método de Simpson

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 42 / 43

ULPGCLogo

Diferenciación e Integración NuméricaPráctica 4. Implementar el método de Simpson

Implementar en C el método de Simpson. Los parámetros de la función serán: Loslímites del intervalo de integración en precisión real y el número de subintervalosen los que se dividirá el intervalo inicial. La función devolverá el valor de la integralobtenido. Probar el método para aproximar las siguientes integrales con diferentesvalores para el parámetro de número de subintervalos y comprobar que elresultado se aproxima al valor exacto de la integral.

1∫ π

0 sin(x)dx = 2

2∫ 1

0x√

1−x2dx = 1

3∫∞−∞ e−x2

dx =√π = 1.772 5

Nota: Las integrales con límites infinitos se aproximarán cambiando el infinito porun número grande. Cambiar la precisión de la aritmética y valorar si hay diferenciasen los resultados

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 43 / 43

Notes

Notes

Notes

Notes

Page 53: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Métodos NuméricosGrado en Informática

Tema 6: Análisis Numérico Matricial II

Luis Alvarez León

Univ. de Las Palmas de G.C.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 1 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectores

2 Método de Jacobi para calcular autovalores de matrices simétricas

3 Método de la potencia para calcular el autovalor máximo

4 Métodos iterativos de resolución de sistemas de ecuaciones

5 Práctica 7. Implementar el método de relajación

6 Método de Newton-Raphson para sistemas no-lineales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 2 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectores

2 Método de Jacobi para calcular autovalores de matrices simétricas

3 Método de la potencia para calcular el autovalor máximo

4 Métodos iterativos de resolución de sistemas de ecuaciones

5 Práctica 7. Implementar el método de relajación

6 Método de Newton-Raphson para sistemas no-lineales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 3 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectoresdistancia entre 2 puntos en el planoNorma de vectoresNorma de una matrizProducto EscalarBase ortonormal de vectoresautovalores de una matrizRadio espectral de una matrizCondicionamiento de una matriz

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 82

Notes

Notes

Notes

Notes

Page 54: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIDistancia entre 2 puntos en el plano

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 5 / 82

ULPGCLogo

Análisis Numérico Matricial IIDistancia entre 2 puntos en el plano. La distancia Euclídea

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 6 / 82

ULPGCLogo

Análisis Numérico Matricial IIDistancia entre 2 puntos en el plano. La distancia L1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 7 / 82

ULPGCLogo

Análisis Numérico Matricial IIDistancia entre 2 puntos en el plano. La distancia L∞

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 8 / 82

Notes

Notes

Notes

Notes

Page 55: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIDistancia entre 2 puntos en el plano

Consideremos los puntos (1,2) y (3,7)

Distancia Euclídea =√

(3− 1)2 + (7− 2)2

Distancia L1 = | 3− 1 | + | 7− 2 |

Distancia L∞ = | 7− 2 |

Orden entre las distancias

? distancia L∞ ≤ ? distancia Euclídea ≤ ? distanciaL1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 9 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectoresdistancia entre 2 puntos en el planoNorma de vectoresNorma de una matrizProducto EscalarBase ortonormal de vectoresautovalores de una matrizRadio espectral de una matrizCondicionamiento de una matriz

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 10 / 82

ULPGCLogo

Análisis Numérico Matricial IIDistancia y norma Lp

distancia Lp entre 2 puntos (x1, x2) y (x ′1, x′2)

distancia Lp =(| x1 − x ′1 |p + | x2 − x ′2 |p

)1/p

Norma Lp de un vector x = (x1, x2, .....xN) y sus propiedades

‖ x ‖p=(∑N

i=1 |xi |p)1/p

Propiedades

1 ‖ x ‖p= 0 si y sólo si x = 02 ‖ λx ‖p=| λ |‖ x ‖p para todo λ y x3 ‖ x + y ‖p≤‖ x ‖p + ‖ y ‖p para todo x , y

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 11 / 82

ULPGCLogo

Análisis Numérico Matricial IILugar geométrico de los puntos que verifican ‖ x ‖2≤ 1

Cual es el lugar geométrico de los puntos que verifican

‖ x ‖2=√

x21 + x2

2 ≤ 1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 12 / 82

Notes

Notes

Notes

Notes

Page 56: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IILugar geométrico de los puntos que verifican ‖ x ‖1≤ 1

Cual es el lugar geométrico de los puntos que verifican

‖ x ‖1=| x1 | + | x2 |≤ 1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 13 / 82

ULPGCLogo

Análisis Numérico Matricial IILugar geométrico de los puntos que verifican ‖ x ‖∞≤ 1

Cual es el lugar geométrico de los puntos que verifican

‖ x ‖1= max{| x1 |, | x2 |} ≤ 1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectoresdistancia entre 2 puntos en el planoNorma de vectoresNorma de una matrizProducto EscalarBase ortonormal de vectoresautovalores de una matrizRadio espectral de una matrizCondicionamiento de una matriz

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 15 / 82

ULPGCLogo

Análisis Numérico Matricial IINorma de una matriz

Sea A una matriz y sea ‖ . ‖ una norma vectorial. Se define la normade A, subordinada a la norma vectorial ‖ . ‖ como

‖ A ‖= supx 6=0‖Ax‖‖x‖

Ejemplos∥∥∥∥( λ 00 λ

)∥∥∥∥ = supx 6=0

‖λx‖‖x‖ = sup

x 6=0

|λ|‖x‖‖x‖ = |λ|∥∥∥∥( 2 0

0 1

)∥∥∥∥2

= supx 6=0

√(2x1)2+x2

2√x2

1+x22

=

√(2·1)2+02√

12+02= 2∥∥∥∥( 2 0

0 1

)∥∥∥∥1

= supx 6=0

|2x1|+|x2||x1|+|x2| = |2·1|+|0|

|1|+|0| = 2∥∥∥∥( 2 00 1

)∥∥∥∥∞

= supx 6=0

max{|2x1|,|x2|}max{|x1|,|x2|} = max{|2·1|,|0|}

max{|1|,|0|} = 2∥∥∥∥( 1 01 1

)∥∥∥∥2

= supx 6=0

√x2

1+(x1+x2)2√x2

1+x22

=

√(1+√

5)2+(1+√

5+2)2√(1+√

5)2+(2)2= 1.618∥∥∥∥( 1 0

1 1

)∥∥∥∥1

= supx 6=0

|x1|+|x1+x2||x1|+|x2| = |1+|1+0|

|1|+|0| = 2∥∥∥∥( 1 01 1

)∥∥∥∥∞

= supx 6=0

max{|x1|,|x1+x2|}max{|x1|,|x2|} = max{|1|,|1+1|}

max{|1|,|1|} = 2

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 16 / 82

Notes

Notes

Notes

Notes

Page 57: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IINorma de una matriz

TeoremaSea A una matriz y ‖ . ‖ una norma vectorial. Entonces, para cualquiervector x se verifica que

‖ Ax ‖≤‖ A ‖ · ‖ x ‖

Demostración: Si x = 0, la desigualdad es trivial. Si x 6= 0, entonces,puesto que ‖ x ‖> 0, la desigualdad anterior es equivalente a

‖ Ax ‖‖ x ‖

≤ ? ‖ A ‖

Ahora bien, esta desigualdad es cierta por ? la propia definición de‖ A ‖ al tratarse del supremo de todos los cocientes de este tipo

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 17 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectoresdistancia entre 2 puntos en el planoNorma de vectoresNorma de una matrizProducto EscalarBase ortonormal de vectoresautovalores de una matrizRadio espectral de una matrizCondicionamiento de una matriz

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 18 / 82

ULPGCLogo

Análisis Numérico Matricial IIProducto escalar de 2 vectores

DEFINICION: Producto escalar de 2 vectores

(xi , xj) =N∑

k=1

(xi)k(xj)

k

donde (xi)k indica la coordenada k -ésima del vector xi .

Ejemplo: Sean x1 = (1,2,3)T y x2 = (9,8,−5)T , entonces :

(x1, x2) = 1 · 9 + 2 · 8− 3 · 5 = 10

Propiedad importante: ‖ x ‖2=√

(x , x)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 19 / 82

ULPGCLogo

Análisis Numérico Matricial IINormalizar vectores

Normalizar vectoresDado un vector x normalizarlo respecto a la norma ‖ . ‖ consiste en dividirel vector por su norma, es decir, hacer

x‖ x ‖

La norma de un vector normalizado es 1.

Ejemplo:Sea x = (1,2,−3)T , normalizar el vector depende de la normaconsiderada y consiste en hacer :

x‖ x ‖2

=

1/√

142/√

14−3/√

14

x‖ x ‖1

=

1/62/6−3/6

x‖ x ‖∞

=

1/32/3−3/3

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 20 / 82

Notes

Notes

Notes

Notes

Page 58: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectoresdistancia entre 2 puntos en el planoNorma de vectoresNorma de una matrizProducto EscalarBase ortonormal de vectoresautovalores de una matrizRadio espectral de una matrizCondicionamiento de una matriz

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 21 / 82

ULPGCLogo

Análisis Numérico Matricial IIBase ortonormal de vectores

DEFINICION: Base ortonormal de vectoresUna base ortornormal de vectores de RN son N vectores x1, ....xNnormalizados y tal que el producto escalar entre todos ellos es 0 (es decir losvectores son perpendiculares entre sí).

Ejemplo: los vectores columna de las siguientes matrices forman una baseortonormal de vectores 1 0 0

0 1 00 0 1

1/√

2 1/√

3 −1/√

60 1/

√3 2/

√6

1/√

2 −1/√

3 1/√

6

cos(α) sin(α) 0− sin(α) cos(α) 00 0 1

Propiedad importante: Si x = η1x1 + ...+ ηNxN entonces

‖ x ‖2=√η2

1 + ...+ η2N

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 22 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectoresdistancia entre 2 puntos en el planoNorma de vectoresNorma de una matrizProducto EscalarBase ortonormal de vectoresautovalores de una matrizRadio espectral de una matrizCondicionamiento de una matriz

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 82

ULPGCLogo

Análisis Numérico Matricial IIAutovalores de una matriz

DefiniciónUn autovalor de A es un número real λ tal que existe un vector x,denominado autovector, tal que

Ax = λx

DefiniciónSe denomina polinomio característico P(λ) de la matriz A, al polinomiodado por el determinante

P(λ) =| A− λI |

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 24 / 82

Notes

Notes

Notes

Notes

Page 59: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIAutovalores de una matriz

ProblemaCalcular los autovectores de la matriz 1 1 0

1 1 00 0 2

y determinar una base ortonormal de R3 de autovectores de A.

Solución: tenemos que calcular los ceros del polinomio característico|A− λi Id | = 0

∣∣∣∣∣∣1− λ 1 0

1 1− λ 00 0 2− λ

∣∣∣∣∣∣ = ((1− λ)2 − 1)(2− λ) = 0

de donde obtenemos λ1 = 0, λ2 = 2 y λ3 = 2

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 25 / 82

ULPGCLogo

Análisis Numérico Matricial IIAutovalores de una matriz

Calculamos los autovectores de A :

λ1 = 0 1 1 01 1 00 0 2

x1x2x3

=

000

x1 = −x2

x3 = 0→ x1 =

1√2−1√

20

λ2, λ3 = 2 −1 1 0

1 −1 00 0 0

x1x2x3

=

000

x1 = x2

x3 libre→ x2 =

1√2

1√2

0

, x3 =

001

La matriz,

B =

1√2

1√2

0−1√

21√2

00 0 1

contiene los autovectores de A que forman una base ortonormal de R3.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 26 / 82

ULPGCLogo

Análisis Numérico Matricial IIAutovalores de matrices simétricas

TeoremaTodas las matrices simétricas poseen una base ortonormal deautovectores.

Por tanto, poseen tantos autovalores como dimensión tenga la matriz(aunque alguno de los autovalores puede salir repetido)

No todas las matrices poseen una base de autovectores.

A =

(1 01 1

)tiene como autovalor λ = 1

y tiene como autovector x = (0,1)T

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 27 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectoresdistancia entre 2 puntos en el planoNorma de vectoresNorma de una matrizProducto EscalarBase ortonormal de vectoresautovalores de una matrizRadio espectral de una matrizCondicionamiento de una matriz

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 28 / 82

Notes

Notes

Notes

Notes

Page 60: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIRadio espectral de una matriz

DefiniciónSe define el radio espectral de una matriz A como

ρ(A) = maxi{| λi | : λi autovalor de A}

TeoremaSea A una matriz y ‖ . ‖ una norma vectorial. Entonces

‖ A ‖≥ ρ(A)

Demostración: Si λ es un autovalor de A, entonces existe un autovector x talque Ax = λx , por tanto

‖ Ax ‖‖ x ‖

=‖ λx ‖‖ x ‖

= |λ| ≤ ‖ A ‖

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 29 / 82

ULPGCLogo

Análisis Numérico Matricial IInormas de matrices

TeoremaSi los autovectores de una matriz A de dimensión NxN forman una base ortonormal deRN , entonces

‖ A ‖2= ρ(A)

Demostración: Ya sabemos que ‖ A ‖2 ≥ρ(A). Para demostrar la desigualdad en elotro sentido sea x un vector cualquiera, y x1, x2..., xN los autovectores de A, como sonuna base podemos expresar x en dicha base, es decir

x = η1x1 + η2x2 + ..+ ηNxN

Por tanto se tiene que

‖ Ax ‖2‖ x ‖2

=

√λ2

1η21 + ...+ λ2

1η2N√

η21 + ...+ η2

N

√ρ(A)2η2

1 + ...+ ρ(A)2η2N√

η21 + ...+ η2

N

= ρ(A)→ ‖ A ‖2≤ ρ(A)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 30 / 82

ULPGCLogo

Análisis Numérico Matricial IICálculo de las normas de una matriz

TeoremaSea A una matriz cualquiera, entonces

‖ A ‖2=√ρ(tAA)

‖ A ‖1= maxj(∑

i | aij |)

‖ A ‖∞= maxi

(∑j | aij |

)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 31 / 82

ULPGCLogo

Análisis Numérico Matricial IICálculo de las normas de una matriz

Problema: Calcular las normas 2, 1 e infinito de la matriz

A =

(1 01 2

)

Solución

‖ A ‖2=√ρ(tAA) =

√ρ

(2 22 4

)=√√

5 + 3 = 2.288

‖ A ‖1= maxj(∑

i | aij |)

= 2

‖ A ‖∞= maxi

(∑j | aij |

)= 3

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 82

Notes

Notes

Notes

Notes

Page 61: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectoresdistancia entre 2 puntos en el planoNorma de vectoresNorma de una matrizProducto EscalarBase ortonormal de vectoresautovalores de una matrizRadio espectral de una matrizCondicionamiento de una matriz

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 33 / 82

ULPGCLogo

Análisis Numérico Matricial IICondicionamiento de una matriz

El condicionamiento de una matriz es un número que nos indica lacalidad de una matriz cuando se trabaja con ella numéricamente

Ejemplo

Consideremos el siguiente sistema de ecuaciones10 7 8 77 5 6 58 6 10 97 5 9 10

xyzv

=

32233331

cuya solución es (1,1,1,1). Vamos a considerar ahora el mismosistema, perturbando ligeramente el término independiente:

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 34 / 82

ULPGCLogo

Análisis Numérico Matricial IICondicionamiento de una matriz

Ejemplo 10 7 8 77 5 6 58 6 10 97 5 9 10

xyzv

=

32,122,933,130,9

La solución de este sistema es (9.2,-12.6,4.5,-1.1). Como podemosobservar, a pesar de que la perturbación del sistema es del orden de0.1 la perturbación de la solución del sistema puede llegar a ser delorden de 13.6.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 35 / 82

ULPGCLogo

Análisis Numérico Matricial IICondicionamiento de una matriz

Consideremos un sistema de ecuaciones de la forma

Au = b

y el sistema de ecuaciones perturbado

A (u + δu) = b + δb

Queremos controlar el error relativo en la solución del sistema a partirdel error relativo en el término independiente b.

‖ δu ‖‖ u ‖

≤ χ(A)‖ δb ‖‖ b ‖

donde χ(A) es un número que llamaremos condicionamiento de lamatriz. Cuanto más pequeño sea χ(A) mejor comportamiento tendrála matriz A.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 36 / 82

Notes

Notes

Notes

Notes

Page 62: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IICondicionamiento de una matriz

Teorema

Si definimos χ(A) =‖ A ‖ · ‖ A−1 ‖ ⇒ ‖ δu ‖‖ u ‖

≤ χ(A)‖ δb ‖‖ b ‖

Demostración:

A(u + δu) = b + δb ⇒ Au = bAδu = δb ⇒ δu = A−1δb

{‖δu‖ ≤ ‖A−1‖‖δb‖‖b‖ = ‖Au‖ ≤ ‖A‖‖u‖ ⇒ 1

‖u‖ ≤‖A‖‖b‖

⇒ ‖δu‖‖u‖

≤ ‖A‖‖A−1‖‖ δb ‖‖ b ‖

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 37 / 82

ULPGCLogo

Análisis Numérico Matricial IICondicionamiento de una matriz

ProblemaDemostrar que, si los autovectores de una matriz A de dimensión NxNforman una base ortonormal de RN , entonces, para la norma 2, secumple que

χ(A)2 =‖ A ‖2 · ‖ A−1 ‖2=maxi{| λi |}mini{| λi |}

Solución:

Ax = λx ⇒ A−1x =1λ

x ⇒ ‖ A−1 ‖2=1

mini{λi}

Nota: En el caso del ejemplo de matrix 4x4 anterior los autovalores dela matriz son 0.01, 0.84, 3.86, y 30.29, por tanto el condicionamientosería

χ(A)2 =30.290.01

= 3029

lo cual indica un condicionamiento bastante malo.Ejemplo

A =

(λ 00 λ

)⇒ χ(A)2 = 1

| A |= 0 ⇒ χ(A)2 =∞χ(µA)2 = χ(A)2

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 38 / 82

ULPGCLogo

Análisis Numérico Matricial IICondicionamiento de una matriz

Ejemplo

A =

(1 01 2

)⇒ A−1 =

(1 0−1

212

)χ (A)2 = ‖A‖2‖A−1‖2 =

√ρ(tAA)

√ρ(tA−1A−1) = 2.618

χ (A)1 = ‖A‖1‖A−1‖1 = 2 · 32

= 3

χ (A)∞ = ‖A‖∞‖A−1‖∞ = 3 · 1 = 3

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 39 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectores

2 Método de Jacobi para calcular autovalores de matrices simétricas

3 Método de la potencia para calcular el autovalor máximo

4 Métodos iterativos de resolución de sistemas de ecuaciones

5 Práctica 7. Implementar el método de relajación

6 Método de Newton-Raphson para sistemas no-lineales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 40 / 82

Notes

Notes

Notes

Notes

Page 63: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIMétodo de Jacobi para calcular autovalores de matrices simétricas

Este método se basa en que, dadas dos matrices A y R, se verificaque los autovalores de A son los mismos que los autovalores deR−1AR. :

R−1ARx = λx ⇒ ARx = λRx ⇒{λ es autovalor de Apara el autovector Rx

Las matrices R que se van a utilizar son matrices de rotación :

R =

(cosα sinα− sinα cosα

)⇒ R−1 =

(cosα − sinαsinα cosα

)En 3 variables las matrices de rotación respecto a cada eje son cosα sinα 0− sinα cosα 00 0 1

cosα 0 sinα0 1 0− sinα 0 cosα

1 0 00 cosα sinα0 − sinα cosα

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 41 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodo de Jacobi para calcular autovalores de matrices simétricas

El objetivo del método es convertir A en una matriz diagonal.

R−1AR =

(cosα − sinαsinα cosα

)(a0,0 a0,1a0,1 a1,1

)(cosα sinα− sinα cosα

)=(

a0,0 cos2 α− a0,1 sin 2α + a1,1 sin2 α a0,1 cos 2α−(1

2a1,1 − 12a0,0

)sin 2α

a0,1 cos 2α−(1

2a1,1 − 12a0,0

)sin 2α a0,0 cos2 α− a0,1 sin 2α + a1,1 sin2 α

)

lo que nos lleva a la condición : tan(2α) =2a0,1

a1,1 − a0,0

Ejemplo

A =

(1 11 1

)⇒ tan(2α) = 2

0 ⇒ α = π4 ⇒ R−1AR =

(0 00 2

)Por tanto los autovalores y autovectores de A son :

λ1 = 0⇒ x = R(

10

)=

( √2/2

−√

2/2

)λ2 = 2⇒ x = R

(01

)=

( √2/2√2/2

)Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 42 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodo de Jacobi para calcular autovalores de matrices simétricas

Ejemplo cosα 0 − sinα0 1 0

sinα 0 cosα

1 −1 2−1 2 −12 −1 5

cosα 0 sinα0 1 0

− sinα 0 cosα

tan(2α) =

2a0,2

a2,2 − a0,0=

44

= 1 → α =π

8

cos π8 0 − sin π

80 1 0

sin π8 0 cos π

8

1 −1 2−1 2 −12 −1 5

cos π8 0 sin π

80 1 0

− sin π8 0 cos π

8

=

0,17 −0,54 0−0,54 2,0 −1,30

0,0 −1.30 5,82

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 43 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodo de Jacobi para calcular autovalores de matrices simétricas

Iteración 2 : 1 0 00 cosα − sinα0 sinα cosα

0,17 −0,54 0−0,54 2,0 −1,30

0,0 −1.30 5,82

1 0 00 cosα sinα0 − sinα cosα

tan(2α) =

2a32

a33 − a22=

2 · (−1,30)

5,82− 2,0= −0,68 → α =

arctan(−0,68)

2= −0,3

1 0 00 cosα − sinα0 sinα cosα

0,17 −0,54 0−0,54 2,0 −1,30

0,0 −1.30 5,82

1 0 00 cosα sinα0 − sinα cosα

=

0,17 −0,51 0,15−0,51 1,59 00,15 0 6,23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 44 / 82

Notes

Notes

Notes

Notes

Page 64: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIAlgoritmo del Método de Jacobi para el Cálculo de autovalores. Cálculo de losautovectores

R−1N ...R−1

2 R−11 AR1R2...RN

Si llamamos B = R1R2 · ...RN entonces si B−1AB es diagonal se tieneque los autovectores de A son :

x1 = B

10.0

x2 = B

01.0

.... xN = B

00.1

Es decir, los autovectores de A son los vectores columna de B

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 45 / 82

ULPGCLogo

Análisis Numérico Matricial IIAlgoritmo del Método de Jacobi para el Cálculo de autovalores. Cálculo de losautovectores

En el algoritmo inicializamos B como la matriz identidad. En cadaiteración actualizamo B multiplicándola por la derecha por una matrizde rotación

b0,0 b0,1 b0,2 b0,3b1,0 b1,1 b1,2 b1,3b2,0 b2,1 b2,2 b2,3b3,0 b3,1 b3,2 b3,3

1 0 0 00 cosα 0 sinα0 0 1 00 − sinα 0 cosα

→ p

→ q

Si llamamos B′ a la actualización de B, los únicos términos que hayque actualizar corresponden a :

b′ip = cos(α)bip − sin(α)biq i = 1, ..,N

b′iq = sin(α)bip + cos(α)biq i = 1, ..,N

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 46 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectores

2 Método de Jacobi para calcular autovalores de matrices simétricas

3 Método de la potencia para calcular el autovalor máximo

4 Métodos iterativos de resolución de sistemas de ecuaciones

5 Práctica 7. Implementar el método de relajación

6 Método de Newton-Raphson para sistemas no-lineales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 47 / 82

ULPGCLogo

Contenido

3 Método de la potencia para calcular el autovalor máximoMétodo de la potencia para calcular el autovalor máximoMétodo de la potencia inversa para calcular el autovalor mínimoMétodo de la potencia inversa para calcular el autovalor máscercano a un númeroAlgoritmo general para calcular los autovectores de una matrizcualquiera

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 48 / 82

Notes

Notes

Notes

Notes

Page 65: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIMétodo de la potencia para calcular el autovalor máximo

Consideremos la matriz(

1 01 3

)λmax = 3, xmax =

(01

)vamos a hacer iteraciones del esquema

un =Aun−1

‖ un−1 ‖∞partiendo de u0 =

(11

)

u1 = Au0

‖u0‖∞=

(14

)‖ u1 ‖∞= 4

u2 = Au1

‖u1‖∞=

(1/413/4

)‖ u2 ‖∞= 13

4 = 3,25

u3 = Au2

‖u2‖∞=

(1/1340/13

)‖ u3 ‖∞= 40

13 = 3,07

‖ u1 ‖∞= 4 ‖ u2 ‖∞= 3,25 ‖ u3 ‖∞= 3,07 → 3

u1

‖u1‖∞=

(1/41

)u2

‖u2‖∞=

(1/13

1

)u3

‖u3‖∞=

(1/40

1

)→

(01

)Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 49 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodo de la potencia para calcular el autovalor mayor

Si cambiamos el signo a la matriz(−1 0−1 −3

)λmax = −3, xmax =

(01

)vamos a hacer iteraciones del esquema

un =Aun−1

‖ un−1 ‖∞partiendo de u0 =

(11

)

u1 = Au0

‖u0‖∞=

(−1−4

)‖ u1 ‖∞= 4

u2 = Au1

‖u1‖∞=

(1/413/4

)‖ u2 ‖∞= 13

4 = 3,25

u3 = Au2

‖u2‖∞=

(−1/13−40/13

)‖ u3 ‖∞= 40

13 = 3,07

‖ u1 ‖∞= 4 ‖ u2 ‖∞= 3,25 ‖ u3 ‖∞= 3,07 → 3

u1

‖u1‖∞=

(−1/4−1

)u2

‖u2‖∞=

(1/13

1

)u3

‖u3‖∞=

(−1/40−1

)→

(0±1

)Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodo de la potencia para calcular el autovalor mayor

TeoremaSea una matriz A que posee una base de autovectores tal que enmódulo su autovalor máximo λmax es único. Sea un vector u1 noortogonal al subespacio engendrado por los autovectores delautovalor λmax , entonces, si definimos la secuencia

un = Aun−1

‖ un−1 ‖

se verifica que

Limn→∞sign((

un,un−1))‖ un ‖= λmax

Limn→∞

(sign

((un,un−1

)))n un

‖ un ‖es un autovector de λmax

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 51 / 82

ULPGCLogo

Contenido

3 Método de la potencia para calcular el autovalor máximoMétodo de la potencia para calcular el autovalor máximoMétodo de la potencia inversa para calcular el autovalor mínimoMétodo de la potencia inversa para calcular el autovalor máscercano a un númeroAlgoritmo general para calcular los autovectores de una matrizcualquiera

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 52 / 82

Notes

Notes

Notes

Notes

Page 66: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIMétodo de la potencia inversa para calcular el autovalor menor

El método de la potencia inversa se basa en que si

Ax = λx → A−1x =1λ

x

y por tanto

El autovalor máximo de A−1 =1

min{λi}

Para realizar las iteraciones del método de la potencia inversa, aveces, en lugar de calcular A−1 se resuelve en cada etapa un sistemade ecuaciones teniendo en cuenta que

un =A−1un−1

‖ un−1 ‖⇐⇒ Aun =

un−1

‖ un−1 ‖

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 53 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodo de la potencia inversa para calcular el autovalor menor

Consideremos la matriz(

2 11 5

)λmin = 1,70, xmin =

(1,0−0,30

)vamos a hacer iteraciones del método de la potencia cambiando A por A−1

un =A−1un−1

‖ un−1 ‖∞partiendo de u0 =

(11

)

u1 = A−1u0

‖u0‖∞=

(0,440,11

)‖ u1 ‖∞= 0,44

u2 = A−1u1

‖u1‖∞=

(0,52−0,055

)‖ u2 ‖∞= 0,52

u3 = A−1u2

‖u2‖∞=

(0,57−0,134

)‖ u3 ‖∞= 0,57

‖ u1 ‖∞= 0,44 ‖ u2 ‖∞= 0,52 ‖ u3 ‖∞= 0,57 → λmin = 10,57 = 1,75

u1

‖u1‖∞=

(1,0

0,25

)u2

‖u2‖∞=

(1,0−0,1

)u3

‖u3‖∞=

(1,0−0,23

)→ xmin =

(1,0−0,30

)Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 54 / 82

ULPGCLogo

Contenido

3 Método de la potencia para calcular el autovalor máximoMétodo de la potencia para calcular el autovalor máximoMétodo de la potencia inversa para calcular el autovalor mínimoMétodo de la potencia inversa para calcular el autovalor máscercano a un númeroAlgoritmo general para calcular los autovectores de una matrizcualquiera

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 55 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodo de la potencia inversa para calcular el autovalor más cercano a un número

El método de la potencia directa e inversa nos permite calcular el autovalormás grande y más pequeño de una matriz. Ahora bien para calcular losautovalores que se encuentren entre λmin y λmax necesitamos informaciónadicional como puede ser tener una aproximación del autovalor buscado. Porejemplo si µ es una aproximación del autovalor λ de tal forma que µ seencuentre más cercano a λ que a cualquier otro autovalor, podemos construirla matriz A′ = A− µI. Si llamamos λ′min al autovalor más pequeño de A′, secumple que

A′x = (A− µI)x = λ′minx

de donde despejandoAx = (λ′min + µ)x

y por tanto λ′min + µ es el autovalor de A más cercano a µ.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 56 / 82

Notes

Notes

Notes

Notes

Page 67: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIMétodo de la potencia inversa para calcular el autovalor más cercano a un número

Consideremos la matriz A =

5 0 01 1 01 1 2

, el autovalor más cercano a 3 λprox = 2,

xprox = (0,0,1)T .Vamos a hacer iteraciones del método de la potencia inversa conB = A− 3Id partiendo de u0 = (1,1,1)T

u1 = B−1u0

‖u0‖∞= (0.5,−0.25,−0.75)T ‖ u1 ‖∞= 0.75

u2 = A−1u1

‖u1‖∞= (0.33,0.33,1.66)T ‖ u2 ‖∞= 1,66

u3 = A−1u2

‖u2‖∞= (0.1,−0.05,−0.95)T ‖ u3 ‖∞= 0,95

Como los autovectores van cambiando de signo en cada iteración tenemos :

xprox = (0.1,−0.05,−0.95)T y (A− 3Id)xprox = − 10.95

xprox = −1.05xprox

de donde despejando obtenemos: Axprox = (3− 1.05)xprox = 1.95xprox

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 57 / 82

ULPGCLogo

Contenido

3 Método de la potencia para calcular el autovalor máximoMétodo de la potencia para calcular el autovalor máximoMétodo de la potencia inversa para calcular el autovalor mínimoMétodo de la potencia inversa para calcular el autovalor máscercano a un númeroAlgoritmo general para calcular los autovectores de una matrizcualquiera

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 58 / 82

ULPGCLogo

Análisis Numérico Matricial IIAlgoritmo general para calcular los autovectores de una matriz cualquiera

1 Paso 1: Se calcula el polinomio característico |A− λI| = 0.

2 Paso 2: Se calculan las raíces {λi} del polinomio característico

3 Paso 3 : Utilizando el método de la potencia inversa se calcula losautovectores más pequeños de las matrices A− λi I

La principal limitación del algoritmo anterior es que calcular elpolinomio característico tiene una complejidad factorial, y por tanto elmétodo es sólo aplicable para matrices de dimensión pequeña (paradimensión mayor que 12 el algoritmo se vuelve muy lento)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 59 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodo para calcular el polinomio característico

Dada una matriz A de dimensión N se calcula ‖A‖1, como todos los autovalores de Acumplen que |λi | ≤ ‖A‖1 , ello significa que todos los autovalores estan en el intervalo[−‖A‖1 , ‖A‖1]. Elegimos a continuación N + 1 valores xi equidistribuidos en[−‖A‖1 , ‖A‖1] y para cada uno de esos valores tenemos que

|A− xi I| = aNxNi + aN−1xN−1

i + ......+ a0

donde {aN ,aN−1, .....,a0} representan los coeficientes del polinomio característicobuscado. Observese que para xi la relación de arriba es una ecuación lineal en loscoeficientes del polinomio y por tanto dichos coeficientes se pueden encontrarresolviendo el sistema :

xN0 xN−1

0 . 1xN

1 xN−11 . 1

. . . .

xNN xN−1

N . 1

aNaN−1.

a0

=

|A− x0I||A− x1I|

.|A− xN I|

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 60 / 82

Notes

Notes

Notes

Notes

Page 68: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectores

2 Método de Jacobi para calcular autovalores de matrices simétricas

3 Método de la potencia para calcular el autovalor máximo

4 Métodos iterativos de resolución de sistemas de ecuaciones

5 Práctica 7. Implementar el método de relajación

6 Método de Newton-Raphson para sistemas no-lineales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 61 / 82

ULPGCLogo

Contenido

4 Métodos iterativos de resolución de sistemas de ecuacionesMétodo de JacobiMétodo de Gauss-SeidelMétodo de relajación

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 62 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. Método de Jacobi

Consideremos el sistema de ecuaciones : 2 −1 0−1 2 −10 −1 2

xyz

=

101

2x − y = 1x + 2y − z = 0−y + 2z = 1

despejando los elementos de la diagonal podemos escribir lasanteriores relaciones como una ecuación de punto fijo:

x = 1+y2

y = x+z2

z = 1+y2

xn =

1+yn−12

yn =xn−1+zn−1

2

zn =1+yn−1

2

partiendo de u0 = (x0, y0, z0)T = (0,0,0)T las iteraciones serían:

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 63 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. Método de Jacobi

xn =1+yn−1

2

yn =xn−1+zn−1

2

zn =1+yn−1

2

x1 = 1+0

2 = 12

y1 = 0+02 = 0

z1 = 1+02 = 1

2

x2 = 1+0

2 = 12

y2 = 1/2+1/22 = 1

2

z2 = 1+02 = 1

2

x3 = 1+1/2

2 = 34

y3 = 1/2+1/22 =1

2

z3 = 1+1/22 = 3

4

x4 = 1+1/2

2 = 34

y4 = 3/4+3/42 = 3

4

z4 = 1+1/22 = 3

4

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 64 / 82

Notes

Notes

Notes

Notes

Page 69: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. Método de Jacobi

En la práctica, el método de Jacobi se implementa a través delsiguiente esquema iterativo:

un0 =

−a0,1un−11 − ...− a0,N−1un−1

N−1 + b0

a0,0

un1 =

−a1,0un−10 − a1,2un−1

2 ...− a1,N−1un−1N−1 + b1

a1,1.

unN−1 =

−aN−1,0un−10 − aN−1,1un−1

1 ...− aN−1,N−2un−1N−2 + bN−1

aN−1,N−1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 65 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. El método de Jacobi

Podemos descomponer la matriz A del ejemplo anterior como :

A =

0 0 0−1 0 00 −1 0

L

+

2 0 00 2 00 0 2

D

+

0 −1 00 0 −10 0 0

U

de esta manera el método de Jacobi puede interpretarse como :

Au = b → Dun = (−L− U)un−1 + b

despejando un obtenemos

un = D−1(−L− U)MJ

un−1 + D−1bcJ

→ un = Mjun−1 + cJ

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 66 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. Convergencia del método

Veamos como evolucionan las iteraciones del esquema un = Mun−1 + c

u1 = Mu0 + c

u2 = Mu1 + c = M2u0 + Mc + c

u3 = Mu2 + c = M3u0 + M2c + Mc + c..un = Mun−1 + c = Mnu0 + Mn−1c + ....+ Mc + c

la condición de convergencia es que para alguna norma se verifique que

‖M‖ < 1 ⇔ ρ(M) < 1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 67 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. Convergencia del método

TeoremaSi una matriz A verifica que

|aii | >∑j 6=i

|aij | ∀i . ó |ajj | >∑i 6=j

|aij | ∀j .

entonces el método de Jacobi asociado al sistema Au = b converge.

Demostración: En primer lugar, observamos que la matriz MJ puede expresarse como:

MJ =

0 −a0,1

a0,0−a0,2

a0,0. −a0,N−1

a0,0

−a1,0a1,1

0 −a1,2a1,1

. −a1,N−1a1,1

. . . . .

− aN−2,0aN−2,N−2

− aN−2,1aN−2,N−2

. 0 −aN−2,N−1aN−2,N−2

− aN−1,0aN−1,N−1

− aN−1,1aN−1,N−1

. −aN−1,N−2aN−1,N−1

0

Por tanto ‖ MJ ‖1= maxj

(∑i

|aij ||aii |

)< 1 o ‖ MJ ‖∞= maxi

∑j

|aij

|ajj |

< 1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 68 / 82

Notes

Notes

Notes

Notes

Page 70: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

4 Métodos iterativos de resolución de sistemas de ecuacionesMétodo de JacobiMétodo de Gauss-SeidelMétodo de relajación

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 69 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. Método de Gauss-Seidel

En el método de Gauss Seidel actualizamos las componentes del vectorsolución al mismo tiempo que se va calculando :

xn =1+yn−1

2

yn =xn+zn−1

2

zn = 1+yn2

x1 = 1+0

2 = 12

y1 = 1/2+02 = 1

4

z1 = 1+1/22 = 5

8

x2 = 1+1/4

2 = 58

y2 = 5/8+5/82 = 5

8

z2 = 1+5/82 = 13

16

x3 = 1+5/8

2 = 1316

y3 = 13/16+13/162 = 13

16

z3 = 1+13/162 = 29

32

x4 = 1+12/16

2 = 2932

y4 = 3/4+3/42 = 29

32

z4 = 1+29/322 = 61

64

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 70 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. El método deGauss-Seidel

Podemos descomponer la matriz A del ejemplo anterior como :

A =

0 0 0−1 0 00 −1 0

L

+

2 0 00 2 00 0 2

D

+

0 −1 00 0 −10 0 0

U

de esta manera el método de Gauss-Seidel puede interpretarse como :

Au = b → (D + L)un = (−U)un−1 + b

despejando un obtenemos

un = (L + D)−1(−U)MGS

un−1 + (D + L)−1bcGS

→ un = MGSun−1 + cGS

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 71 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. Método de Gauss-Seidel

En la práctica, el método de Gauss-Seidel se implementa a través delsiguiente esquema iterativo:

un0 =

−a0,1un−11 − ...− a0,N−1un−1

N−1 + b0

a0,0

un1 =

−a1,0un0 − a1,2un−1

2 ...− a1,N−1un−1N−1 + b1

a1,1.

unN−1 =

−aN−1,0un0 − aN−1,1un

1 ...− aN−1,N−2unN−2 + bN−1

aN−1,N−1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 72 / 82

Notes

Notes

Notes

Notes

Page 71: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

4 Métodos iterativos de resolución de sistemas de ecuacionesMétodo de JacobiMétodo de Gauss-SeidelMétodo de relajación

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 73 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. Método de Relajación

En el método de relajación se combina la solución propuesta porGauss-Seidel con la solución en la etapa anterior a través del parámetro derelajación w . Vamos a hacer iteraciones del esquema:

xn = w 1+yn−12 + (1− w)xn−1

yn = w xn+zn−12 + (1− w)yn−1

zn = w 1+yn2 + (1− w)zn−1

→ Si hacemos w = 1,17 obtenemos:

x1 = 1,171+0

2 = 0,58

y1 = 1,170,58+02 = 0,34

z1 = 1,171+0,342 = 0,78

x2 = 1,171+0,34

2 − 0,17 · 0,29= 0,58

y2 = 1,171+0,682 − 0,17 · 0,17 = 0,92

z2 = 1,171+0,922 − 0,17 · 0,78 = 0,99

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 74 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. El método de Relajación

El método de relajación hace iteraciones del esquema :

xn = w 1+yn−1

2 + (1− w)xn−1

yn = w xn+zn−12 + (1− w)yn−1

zn = w 1+yn2 + (1− w)zn−1

En términos de las matrices L,D,U el método puede interpretarse como :

Au = b → (D + wL)un = (−wU + (1− w)D)un−1 + b

despejando un obtenemos

un = (D + wL)−1(−wU + (1− w)D)Mw

un−1 + (D + wL)−1bcw

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 75 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. El método de Relajación

La elección del parámetro w es, en general, un problema difícil. Sin embargo,en el caso de matrices tridiagonales, es decir, matrices con todos loselementos nulos salvo la diagonal principal y sus codiagonales, el siguienteresultado muestra la forma de calcular el valor óptimo de w .

TeoremaSi A es una matriz tridiagonal y ρ(MJ) < 1, entonces el valor de w queoptimiza la velocidad de convergencia del método es:

wopt =2

1 +√

1− ρ(MJ)2

Como puede observarse de la expresión anterior, el valor de wopt seencuentra siempre entre 1 y 2.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 76 / 82

Notes

Notes

Notes

Notes

Page 72: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. El método de Relajación

TeoremaSi en el método de relajación w /∈ (0,2), entonces ρ(Mw ) ≥ 1.

Demostración: En primer lugar, observamos que las matrices D + Lw y(1− w)D − wU son matrices triangulares y, por tanto, su determinante es elproducto de los elementos diagonales. Además, teniendo en cuenta que eldeterminante del producto de dos matrices es el producto de susdeterminantes y que el determinante de la matriz inversa es el inverso deldeterminante, obtenemos que

|Mw | = | (D + wL)−1 ((1− w)D − wU)| =|(1− w)D − wU||(D + wL)|

=(1− w)NΠiaii

Πiaii

Por lo tanto, como el determinante de una matriz es el producto de susautovalores, obtenemos que, si w /∈ (0,2), entonces |1− w | ≥ 1 y, enconsecuencia, Mw posee al menos un autovalor de módulo mayor o igual queuno.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 77 / 82

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectores

2 Método de Jacobi para calcular autovalores de matrices simétricas

3 Método de la potencia para calcular el autovalor máximo

4 Métodos iterativos de resolución de sistemas de ecuaciones

5 Práctica 7. Implementar el método de relajación

6 Método de Newton-Raphson para sistemas no-lineales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 78 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodos iterativos de resolución de sistemas de ecuaciones. Método de Relajación

En la práctica, el método de relajación se implementa a través delsiguiente esquema iterativo:

un0 = w

−a0,1un−11 − ...− a0,N−1un−1

N−1 + b0

a0,0+ (1− w)un−1

0

un1 = w

−a1,0un0 − a1,2un−1

2 ...− a1,N−1un−1N−1 + b1

a1,1+ (1− w)un−1

1

.

unN−1 = w

−aN−1,0un0 − aN−1,1un

1 ...− aN−1,N−2unN−2 + bN−1

aN−1,N−1+ (1− w)un−1

N−1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 79 / 82

ULPGCLogo

Análisis Numérico Matricial IIPráctica 7. Implementar método de relajación (2 horas)

Implementar en Fortran 77 el método de relajación. Los parámetros de lafunción serán: la matriz A, el vector b, un vector u donde se almacenará lasolución, y que inicialmente será el vector aproximación inicial, que pordefecto se tomará 0, el parámetro de relajación w , el número máximo deiteraciones Nmax , y la tolerancia TOL para evaluar la diferencia entre un yun−1. La función devolverá el número de iteraciones necesarias para alcanzarla solución. Si el método no converge devuelve −1. Comparar la diferencia enla velocidad de convergencia entre el método de Gauss-Seidel y el Método derelajación. Probar el método para los sistemas

1 −1 0−1 2 00 −1 3

xyz

=

−131

2 −1 0−1 2 −10 −1 2

xyz

=

101

1 3 3

3 1 33 3 1

xyz

=

777

Los sistemas ejemplosde 10, 100 y 500 dela página web

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 80 / 82

Notes

Notes

Notes

Notes

Page 73: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Nociones básicas sobre matrices y vectores

2 Método de Jacobi para calcular autovalores de matrices simétricas

3 Método de la potencia para calcular el autovalor máximo

4 Métodos iterativos de resolución de sistemas de ecuaciones

5 Práctica 7. Implementar el método de relajación

6 Método de Newton-Raphson para sistemas no-lineales

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 81 / 82

ULPGCLogo

Análisis Numérico Matricial IIMétodo de Newton-Raphson para sistemas no-lineales

Consideremos el siguiente sistema no lineal de ecuaciones:{x2 − y2 + 1 = 0

2xy = 0f (u) = f (x , y) =

(x2 − y2 + 1

2xy

)=

(00

)Utilizamos el desarrollo de Taylor en varias variable

f (u) = f (u0) +∇f (u0)(u − u0) + .... ∇f (u) =

(2x −2y2y 2x

)Igualando a 0 el desarrollo de Taylor y tomamos u0 = (1,1) obtenemos

f (u0) +∇f (u0)(u − u0) = 0 →(

12

)+

(2 −22 2

)(x1 − x0y1 − y0

)= 0

Resolvemos el sistema asociado y obtenemos u1 = (1/4,3/4).

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 82 / 82

Notes

Notes

Notes

Notes

Page 74: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Métodos NuméricosGrado en Ingeniería Informática

Tema 7 Interpolación de funciones II

Luis Alvarez León

Univ. de Las Palmas de G.C.

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 1 / 34

ULPGCLogo

Contenido

1 Interpolación de Hermite

2 Interpolación por splines cúbicos.

3 Interpolación utilizando la función seno cardinal

4 Interpolación de funciones periódicas utilizando polinomiostrigonométricos

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 2 / 34

ULPGCLogo

Contenido

1 Interpolación de Hermite

2 Interpolación por splines cúbicos.

3 Interpolación utilizando la función seno cardinal

4 Interpolación de funciones periódicas utilizando polinomiostrigonométricos

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 3 / 34

ULPGCLogo

Interpolación de funciones IIEl problema de interpolación

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 4 / 34

Notes

Notes

Notes

Notes

Page 75: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de funciones IIInterpolación Lineal

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 5 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación a través del polinomio de Lagrange

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 6 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación de Hermite. Se interpola tanto la función como su derivada

Figura:

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 7 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación de Hermite. Se interpola tanto la función como su derivada.

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 8 / 34

Notes

Notes

Notes

Notes

Page 76: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de funciones IILa interpolación de Hermite

En la interpolación de Lagrange ajustamos el polinomio interpoladorP(x) para que P(xi) = f (xi). En el caso de Hermite además deajustar el valor de la función f (x), ajustamos sus derivadas es decir:

P(xi) = f (xi) y P ′(xi) = f ′(xi)

Ejemplo: Buscar un polinomio P(x) tal que P(−1) = 1, P(1) = 0 yP ′(−1) = 0, P ′(1) = 0. El grado del polinomio buscado debe ser 3.Por tanto

P ′(x) = a(x + 1)(x − 1) = ax2 − a → P(x) = ax3

3− ax + b

Si exigimos que P(−1) = 1 y P(1) = 0 llegamos al sistema{−a/3 + a + b = 1a/3− a + b = 0

→{

a = 3/4b = 1/2

→ P(x) =312

x3 − 34

x +12

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 9 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación de Hermite. Polinomios base de Hermite en los puntos de interpolación-1,1..

Polinomio de Hermite H0−1(x) Polinomio de Hermite H0

1 (x)

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 10 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación de Hermite. Polinomios base de Hermite en los puntos de interpolación-1,1..

Polinomio de Hermite H1−1(x) Polinomio de Hermite H1

1 (x)

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 11 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación de Hermite. Polinomios base de Hermite en los puntos de interpolación-1,1..

Vamos a calcular H1−1(x) que verifica que P(−1) = P(1) = P ′(1) = 0

y P ′(−1) = 1. Como P(x) vale 0 en −1,1 se tiene que

P(x) = (x + 1)(x − 1)(ax + b) → P(x) = ax3 + bx2 − ax − b

derivando obtenemos

P ′(x) = 3ax2 + 2bx − a

Si exigimos que P ′(−1) = 1 y P ′(1) = 0 llegamos al sistema{3a− 2b− a = 13a + 2b− a = 0

→{

a = 1/4b = −1/4

→ H1−1(x) = (x2−1)(

14

x +14)

En función de los polinomios base de HermiteH0−1(x),H

01 (x),H

1−1(x),H

11 (x), el polinomio que interpola a una

función en f (−1), f (1), f ′(−1) y f ′(1) es

P(x) = f (−1)H0−1(x) + f (1)H0

1 (x) + f ′(−1)H1−1(x) + f ′(1)H1

1 (x)Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 12 / 34

Notes

Notes

Notes

Notes

Page 77: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Contenido

1 Interpolación de Hermite

2 Interpolación por splines cúbicos.

3 Interpolación utilizando la función seno cardinal

4 Interpolación de funciones periódicas utilizando polinomiostrigonométricos

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 13 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación por splines cúbicos

Los polinomios de grado alto tienden a oscilar.

EjemploEl polinomio base de Lagrange que verifica P(0) = 1 y P(xi) = 0sobre los puntos xi = −5,−4,−3,−2,−1,1,2,3,4,5 es

P(x) =(x2 − 1)(x2 − 4)(x2 − 9)(x2 − 16)(x2 − 25)(−5)(−4)(−3)(−2)(−1)(1)(2)(3)(4)(5)

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 14 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación por splines cúbicos

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 15 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación por splines cúbicos

Cuando se trabaja con muchos puntos de interpolación, se sueleinterpolar la función utilizando polinomios a trozos, definiendo unpolinomio distinto para cada intervalo [xi , xi+1]. La técnica másconocida son los splines cúbicos, que son polinomios de grado 3. Portanto, tendremos un polinomio de grado 3 distintoP i

3(x) = di(x − xi)3 + ci(x − xi)

2 + bi(x − xi) + ai para cada intervalo[xi , xi+1]. Si hay N + 1 puntos, el número de polinomios es N. Paradefinir estos polinomios, se imponen las siguientes condiciones:

P i3(xi) = f (xi) i = 0, ..,N − 1

P i3(xi+1) = f (xi+1) i = 0, ...,N − 1

∂P i3

∂x(xi+1) =

∂P i+13

∂x(xi+1) i = 0, ..,N − 2

∂2P i3

∂x2 (xi+1) =∂2P i+1

3∂x2 (xi+1) i = 0, ...,N − 2

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 16 / 34

Notes

Notes

Notes

Notes

Page 78: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de funciones IIInterpolación por splines cúbicos

TeoremaSi P i

3(x) = di(x − xi)3 + ci(x − xi)

2 + bi(x − xi) + ai , i = 0, ..,N − 1,satisface las condiciones anteriores, entonces

ai = f (xi) i = 0, ..,N di =ci+1 − ci

3hii = 0, ..,N − 1 (1)

bi =ai+1 − ai

hi− hi (2ci + ci+1)

3i = 0, ..,N − 1

hi−1ci−1 + 2(hi−1 + hi)ci + hici+1 =3(ai+1 − ai)

hi− 3 (ai − ai−1)

hi−1

para i = 1, ..,N − 1. donde hi = xi+1 − xi .. La última relacióndetermina un sistema de ecuaciones en las variables ci . Dichosistema tiene N + 1 incognitas (c0, ..., cN) y N − 1 ecuaciones. Paracompletar dicho sistema, se suele imponer que c0 = cN = 0.

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 17 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación por splines cúbicos

EjemploVamos a utilizar splines cúbicos al interpolar la función f (x) en lospuntos x = 0,1,2, y 3, sabiendo que f (0) = 0, f (1) = 1, f (2) = 0,f (3) = 2, tomando c0 = c3 = 0. En este caso hi = 1. Debemos definir3 Polinomios distintos que corresponden a los intervalos [0,1], [1,2], y[2,3].

Los términos ai se calculan utilizando la relación ai = f (xi) :

a0 = 0 a1 = 1 a2 = 0 a3 = 2

Los términos ci se calculan utilizando la relación

hi−1ci−1 + 2(hi−1 + hi)ci + hici+1 =3(ai+1 − ai)

hi− 3 (ai − ai−1)

hi−1

lo que lleva al sistema{

4c1 + c2 = −6c1 + 4c2 = 9

→(

c1c2

)=

(−2,22,8

)Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 18 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación por splines cúbicos

Los valores bi se calculan utilizando bi =ai+1−ai

hi− hi (2ci+ci+1)

3

b0 = 1,733 b1 = −0,467 b2 = 0,133

Los valores di se calculan utilizando di =ci+1−ci

3hi

d0 = −0,733 d1 = 1,667 d2 = −0,933

Por tanto, los polinomios son

P0(x) = −0,733x3 + 1,733x

P1(x) = 1,667 (x − 1)3 − 2,2 (x − 1)2 − 0,467 (x − 1) + 1

P2(x) = −0,933 (x − 2)3 + 2,8 (x − 2)2 + 0,133 (x − 2)

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 19 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación por splines cúbicos

a continuación se muestra una gráfica con los 3 polinomiosconcatenados en el intervalo [0,3]. Como puede observarse no seaprecia nada irregular en las uniones de los intervalos. Parece unaúnica función

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 20 / 34

Notes

Notes

Notes

Notes

Page 79: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de funciones IIInterpolación por splines cúbicos

Presentamos ahora las gráficas de la función derivada y derivadasegunda de la misma función:

derivada primera derivada segunda

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 21 / 34

ULPGCLogo

Contenido

1 Interpolación de Hermite

2 Interpolación por splines cúbicos.

3 Interpolación utilizando la función seno cardinal

4 Interpolación de funciones periódicas utilizando polinomiostrigonométricos

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 22 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación utilizando la función seno cardinal

Una base de funciones interpolantes muy utilizada en la teoría deFourier es la base formada a partir de la función seno cardinal,definida por

sin c(x) =sin(x)

x

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 23 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación utilizando la función seno cardinal

Esta función tiene la propiedad de que en x = 0, sin c(0) = 1, y paracualquier entero i distinto de 0, sin c(πi) = 0. Dada una función f (x),su función interpolante en los puntos xi = a · i para i = M, ...,N vienedada por la función

f (x) =N

∑i=M

f (xi)sin(π

( xa − i

))

π( x

a − i)

Esta base de funciones se suele utilizar cuando a partir de una señalmuestreada (por ejemplo una señal de sonido que se muestreaguardando el valor de la señal cada cierto intervalo de tiempo)queremos recuperar la señal original (por ejemplo para oir el sonidoalmacenado digitalmente).

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 24 / 34

Notes

Notes

Notes

Notes

Page 80: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de funciones IIInterpolación utilizando la función seno cardinal

EjemploSi f (0) = 0, f (1) = 1, f (2) = 0, f (3) = 2. La interpolación utilizando lafunción seno cardinal es:

f (x) = 1sin(π (x − 1))

π(x − 1)+ 2

sin(π (x − 3))π(x − 3)

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 25 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación utilizando la función seno cardinal

Comparación del sin x (en azul) con su aproximación utilizandosin c(x) (en rojo) tomando como puntos de interpolaciónx=−π, −π

2 ,0, π2 ,π.

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 26 / 34

ULPGCLogo

Interpolación de funciones IIComparación de la interpolación de Lagrange, los splines cúbicos y seno cardinal.

Polinomio de Lagrange (línea verde), splines cúbicos (línea azul), y lainterpolación por sin c(x) (línea roja).

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 27 / 34

ULPGCLogo

Contenido

1 Interpolación de Hermite

2 Interpolación por splines cúbicos.

3 Interpolación utilizando la función seno cardinal

4 Interpolación de funciones periódicas utilizando polinomiostrigonométricos

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 28 / 34

Notes

Notes

Notes

Notes

Page 81: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de funciones IIInterpolación por polinomios trigonométricos para aproximar funciones ondulatoriasperiódicas

f (x) = 2 cos(x)− 2 cos(2x) + 6 cos(4x)

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 29 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación por polinomios trigonométricos. Funciones base

f (x) = 2︸︷︷︸amplitud

cos( 1︸︷︷︸frecuencia

x) −2︸︷︷︸amplitud

cos( 2︸︷︷︸frecuencia

x)+ 6︸︷︷︸amplitud

cos( 4︸︷︷︸frecuencia

x)

azulcos 1x

rojocos 2x

verdecos 4x

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 30 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación por polinomios trigonométricos. Polinomios trigonométricos

Polinomio trigonométrico : Pk (x) = eikx = cos kx + i sin kx

cos kx =eikx + e−ikx

2sin kx =

eikx − e−ikx

2

f (x) = 2 cos(x)− 2 cos(2x) + 6 cos(4x) =

= 1eix + 1e−ix − 1ei2x − 1e−i2x + 3ei4x + 3e−i4x

Descomposición general de una función periódica (de periodo 2π)usando polinomios trigonométricos

f (x) ≈N

∑k=−N

ckeikx

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 31 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación por polinomios trigonométricos. Cálculo de los coeficientes de lospolinomios trigonométricos

TeoremaLos coeficientes ck que minimizan el error cuadrático medio

E(c−N , .., cN) =∫ π

−π

(f (x)−

N

∑k=−N

ckeikx

)2

dx son ck =

∫ π−π f (x)e−ikxdx

Demostración Un mínimo de E(c−N , ..., cN), debe verificar :

∂E∂ck

(c−N , ..., cN) = 2∫ π

−π

(f (x)−

N

∑l=−N

cleilx

)eikxdx = 0

la demostración del teorema se concluye teniendo en cuenta que∫ π

−πeilxeikxdx =

∫ π

−πei(l+k)xdx =

ei(l+k)x

i(l + k)

−π

=

{2π si l = −k0 si l 6= k

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 32 / 34

Notes

Notes

Notes

Notes

Page 82: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2012MnTran... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las

ULPGCLogo

Interpolación de funciones IIInterpolación por polinomios trigonométricos. Ejemplo de aproximación

Consideremos la función

f (x) ={

1 si x ∈ [−π2 ,

π2 ]

0 si x /∈ [−π2 ,

π2 ]

Vamos a calcular el polinomio trigonométrico interpolante para N = 3.Los valores de ck son

c0 =

∫ π−π f (x)dx

2π=

12

c1 =

∫ π−π f (x)e−ixdx

2π=

= c−1

c2 =

∫ π−π f (x)e−2ixdx

2π= 0 = c−2 c3 =

∫ π−π f (x)e−3ixdx

2π= − 1

3π= c−3

Por tanto, el polinomio trigonométrico interpolador es

P3(x) =12+

cos(x)− 23π

cos(3x)

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 33 / 34

ULPGCLogo

Interpolación de funciones IIInterpolación por polinomios trigonométricos. Ejemplo de aproximación

La siguiente gráfica muestra la aproximación entre f (x) y P3(x):

Luis Alvarez León () Métodos Numéricos Grado en Ingeniería Informática Tema 7 Interpolación de funciones IIUniv. de Las Palmas de G.C. 34 / 34

Notes

Notes

Notes

Notes