métodos numéricos con matlab - · pdf filemétodos numéricos ing....

233
Universidad Politécnica Salesiana MÉTODOS NUMÉRICOS CON MATLAB Ing.William Caiza 2015

Upload: hadieu

Post on 07-Feb-2018

238 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Universidad

Politécnica Salesiana

MÉTODOS

NUMÉRICOS

CON MATLAB

Ing.William Caiza

2015

Page 2: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

2

Copyright © 2015 por Ing. William Caiza. Todos los derechos reservados.

Page 3: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

3

Dedicatoria

ESTA PÁGINA ES OPCIONAL.

Page 4: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

4

Agradecimientos

ESTA PAGINA ES OPCIONAL

Page 5: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

5

CONTENIDO

CAPITULO I

ERRORES ......................................................................................................................... 7

NÚMEROS DECIMALES ........................................................................................ 7

NOTACIÓN BINARIA ............................................................................................. 5

DE DECIMAL (CON DECIMAL) A BINARIO .................................................... 10

ANÁLISIS DE ERRORES .............................................................................................. 5

ERROR DE TRUNCAMIENTO ................................................................................... 16

SERIE DE TAYLOR ..................................................................................................... 17

Teorema de Taylor................................................................................................... 10

CAPITULO II

RESOLUCIÓN DE ECUACIONES NO LINEALES ..................................................... 22

MÉTODO DE LA BISECCIÓN.- ................................................................................. 14

Algoritmo ................................................................................................................ 14

Error del Método de Bisección ................................................................................ 14

IMPLEMENTACIÓN DEL CÓDIGO EN MATLAB ............................................ 20

IMPLEMENTACIÒN DEL CÒDIGO EN MATLAB ........................................... 20

Método de la Falsa Posición.- ..................................................................................... 50

Convergencia del Método de Falsa Posición ........................................................... 51

Interación de Punto Fijo.- ........................................................................................... 52

Algoritmo de interación del método de punto fijo: ................................................. 53

Implementación del Código en Matlab ................................................................... 56

Método de Newton-Raphson.- ..................................................................................... 57

TEOREMA: ............................................................................................................. 57

CAPITULO III

SISTEMAS DE ECUACIONES LINEALES .................................................................. 62

INTRODUCCIÓN ........................................................................................................ 62

Operaciones Elementales de Fila ............................................................................... 67

Cálculo de la matriz inversa ........................................................................................ 67

Algoritmo ................................................................................................................ 67

Implementación del Código en Matlab ................................................................... 69

DEFINICIÓN: ............................................................................................................. 71

Teorema de Sustitución Regresiva .............................................................................. 72

Implementación del Código en Matlab ................................................................... 74

TEOREMA: ............................................................................................................. 75

TEOREMA: ............................................................................................................. 75

ELIMINACIÓN GAUSSIANA Y PIVOTEO ................................................................. 75

OBSERVACIÓN: .................................................................................................... 75

TEOREMA: OPERACIONES ELEMENTALES CON LAS FILAS .................... 75

DEFINICIÓN: PIVOTEO Y MULTIPLICADORES ............................................. 76

ELIMINACIÓN DE GAUSS-JORDAN ........................................................................ 79

DEFINICIÓN: ......................................................................................................... 79

ALGORITMO: ........................................................................................................ 80

DESCOMPOSICIÓN L.U- FACTORIZACIÓN TRIANGULAR .................................. 84

CAPITULO IV ................................................................................................................. 124

Page 6: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

6

INTERPOLACIÓN ....................................................................................................... 124

EJERCICIOS PROPUESTOS: ...................................................................................... 133

MÉTODOS DE LA BISECCIÓN .............................. ¡ERROR! MARCADOR NO DEFINIDO.

MÉTODO DE LA FALSA POSICIÓN ..................... ¡ERROR! MARCADOR NO DEFINIDO.

SOLUCIONES DE EJERCICIOS PROPUESTOS ............ ¡ERROR! MARCADOR NO

DEFINIDO.

ANEXOS .......................................................................................................................... 180

Page 7: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

7

CAPITULO 1: INTRODUCCIÓN

1.1 Números Decimales

Comúnmente los seres humanos, realizamos los cálculos aritméticos usando el sistema

numérico decimal (base 10); las computadoras hacen los cálculos aritméticos usando el

sistema numérico binario (base 2).

Al traducir los tipos numéricos existentes a notación binaria queda claro que las

operaciones realizadas no necesariamente son exactas por lo tanto van acumulado

diferencias (errores) en cada una de las operaciones.

1.1.1 Notación Decimal

La expresión 1563 en base 10 se puede escribir

𝟏𝟓𝟔𝟑 = 𝟏𝟓𝟔𝟑𝟏𝟎 = 𝟏 × 𝟏𝟎𝟑 + 𝟓 × 𝟏𝟎𝟐 + 𝟔 × 𝟏𝟎𝟏 + 𝟑 × 𝟏𝟎𝟎.

Todo número en base 10 tiene la siguiente notación

𝑵𝟏𝟎 = 𝒂𝒌𝟏𝟎𝒌 + 𝒂𝒌−𝟏𝟏𝟎𝒌−𝟏 + ⋯+ 𝒂𝟏𝟏𝟎𝟏 + 𝒂𝟎𝟏𝟎𝟎 ⇒ 𝒂𝒌 = {𝟎, 𝟏, 𝟐, 𝟑, … , 𝟗}

⇒ 𝑵𝟏𝟎 = 𝒂𝒌𝒂𝒌−𝟏 …𝒂𝟏𝒂𝟎

Page 8: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

8

1.1.2 Notación Binaria

Notación Decimal

0

1

2

3

4

5

6

7

8

9

Notación Binaria

0

1

1 0

1 1

1 0 0

1 0 1

1 1 0

1 1 1

1 0 0 0

1 0 0 1

𝑵𝟐 = 𝒂𝒌𝟐𝒌 + 𝒂𝒌−𝟏𝟐

𝒌−𝟏 + ⋯+ 𝒂𝟏𝟐𝟏 + 𝒂𝟎𝟐

𝟎 ⇒ 𝒂𝒌 = {𝟎, 𝟏}

En el nivel superior se encuentra los números complejos, un ejemplo podría ser 3 + 4 𝑖, donde la parte real es 3 y la parte imaginaria es 4. Todo número real se puede clasificar en un número racional e irracional, un número

racional es de la forma 𝒎

𝒏, 𝒎, 𝒏 ∈ 𝒁 y un número es irracional cuando no se puede

escribir de la forma 𝑚

𝑛, ejemplo 𝜋 = 3.141516 ….

Page 9: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

9

CLASIFICACIÓN DE LOS NÚMEROS

Todo número racional se puede clasificar en entero y fraccionario, los números enteros se clasifican en enteros positivos o naturales, cero y enteros negativos; los fraccionarios se clasifican en decimal finito e infinito, de decimal finito si el residuo es cero. Las fracciones de decimal infinito se clasifican en periódicas y semi-periódicas.

Las fracciones periódicas como 3,3333… = 3, 3̂ , se puede obtener su fracción que es igual al cociente cuyo numerador es igual al número menos la parte periódica (33-3), y el denominador es tantos nueves como cifras (una) tenga la parte periódica (9).

3, 3̂ =33−3

9=

30

9.

Las fracciones semi-periódicas como 3,2455555 … = 3,245̂, se puede obtener su forma fraccionaria, cuyo numerador es el número menos el número sin la parte periódica (3245-324), el denominador es tantos nueves como cifras tenga la parte periódica y tantos ceros como cifras tenga la parte no periódica (dos).

3,245̂ =3245 − 324

900=

2921

900

Page 10: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

10

Ejemplo 1 Transformar el número de base 2 a un número en base 10

1 0 0 12 = 1 × 23 + 0 × 22 + 0 × 21 + 1 × 20 ⇒ 8 + 0 + 0 + 1 = 9 Ejemplo 2 Transformar el número de base 10 a un número en base 2

10010 = 1 1 0 0 1 0 02 100 2 0 50 2 0 25 2 1 12 2 0 6 2 0 3 2 1 1 Comprobación:

1 1 0 0 1 0 02 = 1 × 26 + 1 × 25 + 0 × 24 + 0 × 23 + 1 × 22 + 0 × 21 + 0 × 20

= 64 + 32 + 0 + 0 + 4 + 0 + 0 ⇒ 100 Regla de transformación de un número en notación base 10 con decimales a binario.

1. Se transforma la parte entera binaria.

2. Se sigue con la parte fraccionaria multiplicando por el número 2; si el

resultado es mayor o igual a 1 se anota un 1; si es menor que 1 se anota

un 0. (El producto se realiza con la parte original decimal y con la parte

fraccionaria de las sucesivas multiplicaciones, hasta que la parte

fraccionaria sea cero).

3. Después de realizar cada multiplicación, se coloca los números obtenidos

en el orden de su obtención.

4. Algunos números se transforman en dígitos periódicos.

Page 11: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

11

Ejemplo 3

Transformar 6,312510 a binario. Parte Entera

610 = 𝟏𝟏𝟎𝟐

6 2 0 3 2

1 1

Parte Fraccionaria

0,3125 × 2 = 0,625 ⇒ 𝟎

0,625 × 2 = 1,25 ⇒ 𝟏 0,25 × 2 = 0,5 ⇒ 𝟎 0,5 × 2 = 1 ⇒ 𝟏

0 × 2 = 0 ⇒ 𝟎 0 × 2 = 0 ⇒ 𝟎

0,3125 = 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎 𝟎

Verificación: Parte Entera

𝟏 𝟏 𝟎𝟐 = 1 × 22 + 1 × 21 + 0 × 21 = 4 + 2 + 0 = 𝟔

Parte Fraccionaria

𝟎 𝟏 𝟎 𝟏𝟐 = 0 × 2−1 + 1 × 2−2 + 0 × 2−3 + 1× 2−4 + 0 × 2−5 + 0 × 2−6

= 0 +1

4+ 0 +

1

16+ 0 + 0

=4 + 1

16=

5

16= 𝟎, 𝟑𝟏𝟐𝟓

⇒ 𝟔, 𝟑𝟏𝟐𝟓𝟏𝟎 = 𝟏 𝟏 𝟎, 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎 𝟎…

Ejemplo 4

Conversión de periódica (3.5̅)

3. 5̅ = 35 − 3

9=

32

9

Verificamos Parte Entera 32 9 50 3,55… =3.5 50

Ejemplo 5

Page 12: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

12

Conversión de semi-periódica (3.25̅)

3.25̅ = 325 − 32

90=

293

90

Verificamos Parte Entera 293 90

230 3,255… =3.25̅ 500 500

Ejemplo 6

Conversión de 1.3 +5

3

13

10+

5

3=

39 + 50

30=

89

30

Ejemplo 7

Conversión de 6.312510

6.3125

10000∗ 10000 =

63125

10000=

12625

2000=

2525

400=

505

80=

101

16

Ejemplo 8

Conversión de 6.312510 a binario Parte Entera Parte Fraccionaria 6 2 0.3125*(2)= 0.625 = 0 0 3 2 : 110 0.625*(2)= 1.25 = 1 1 1 0.25*(2)= 0.5 = 0 0.5*(2)= 1 = 1

6.312510 = 110.01012 Ejemplo 9

Conversión de 5.341̅̅̅̅ a binario 5341 − 53

990=

5288

990=

2644

495

Parte Entera 5 2 1 2 2 : 101. 0 1

1012 = 1(2)2 + 0(2)1 + 1(2)0 4 + 0 + 1 = 5

Page 13: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

13

Parte Fraccionaria

0.341̅̅̅̅ 0.341*(2)= 0.682 = 0 Sin importar q sea periódica 0.682*(2)= 1.364 = 1 0.364*(2)= 0.728 = 0 0.728*(2)= 1.456 = 1 0.456*(2)= 0.912 = 0 0.912*(2)= 1.824 = 1 0.824*(2)= 1.648 = 1 0.648*(2)= 1.296 = 1 0.296*(2)= 0.592 = 0 0.592*(2)= 1.184 = 1 0.184*(2)= 0.368 = 0 0.368*(2)= 0.736 = 0 0.736*(2)= 1.472 = 1 0.472*(2)= 0.944 = 0 0.944*(2)= 1.888 = 1 0.888*(2)= 1.776 = 1 Verificación

0.341̅̅̅̅ = 01010111

= 1(2)−2 + 1(2)−4 + 1(2)−6 + 1(2)−7 + 1(2)−8

=1

4+

1

16+

1

64+

1

128+

1

250+ ⋯

=64 + 16 + 4 + 2 + 1

256=

87

256

Representación de números en coma flotante Para representar números enteros muy grandes o fracciones muy pequeñas es necesario utilizar notación científica. La representación de un número en coma flotante tiene tres componentes:

Signo: indica si el número es positivo o negativo

Mantisa: representa la magnitud del número

Exponente: indica el desplazamiento de la coma fraccionaria

Page 14: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

14

± 𝑀𝑎𝑛𝑡𝑖𝑠𝑎. 𝐵𝑎𝑠𝑒𝑒𝑥𝑝𝑜𝑛𝑒𝑛𝑡𝑒 Los números decimales en coma flotante se normalizan, desplazando la coma fraccionaria de manera que la parte entera del número siempre valga cero. Ejemplo

346734556700 = 0.346734556700 × 1012 En la presente notación no es necesario representar la base del número, ya que está implícito en el formato y la parte entera de un número normalizado siempre es cero, tampoco es necesario representarlo, con las acotaciones anteriores la representación en coma flotante es Signo: + Mantisa: 346734556700 Exponente: 12 Números binarios en coma flotante Utilizando el formato de simple precisión, que utiliza 32 bits para la representación de números binarios en coma flotante Ejemplo: Dado el siguiente número en binario, expresarlo en punto flotante

0,0000101 = 0,101 × 2−4 La forma normalizada siempre tiene un 1 en la posición más a la izquierda, por lo que no hay que almacenarlo, está implícito en la representación. Se podría aprovechar en la normalización otro bit, el 1 más a la izquierda esté en la parte entera

0,0000101 = 0,101 × 2−4 = 1,01 × 2−5

Para simplificar el formato es necesario evitar la necesidad de un bit para el signo del exponente, por lo cual el exponente se representa usando un formato denominado “en exceso”, que consiste en sumar un desplazamiento al valor real del número.

Si utilizamos 8 bits para representar el exponente, hay 28 combinaciones posibles,

desde 0 hasta 255, el desplazamiento será 255−1

2= 127, el formato de simple precisión

tiene un exponente de 8 bits en formato exceso 127, se utiliza para representar exponentes con valores entre -126 y 127.

Signo (1 bit) Exponente (8 bits) Mantisa (23 bits)

Page 15: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

15

Ejemplo: Si el exponente tiene un valor de -126, 0, 1, ¿Cuál es el valor normalizado del exponente?

𝑒𝑥𝑝𝑜𝑛𝑒𝑛𝑡𝑒 = −126 → −126 + 127 = 1 → 00000001 𝑒𝑥𝑝𝑜𝑛𝑒𝑛𝑡𝑒 = 0 → 0 + 127 = 127 → 01111111

𝑒𝑥𝑝𝑜𝑛𝑒𝑛𝑡𝑒 = 1 → 1 + 127 = 128 → 10000000= 1 × 27+ + 0 × 26 + 0 × 25 + 0 × 24 + 0 × 23 + 0 × 22 + 0 × 21 + 0 × 20

= 128 Casos especiales Si el exponente es -127, normalizando tenemos -127+127 =0, su correspondiente binario es 00000000, se tiene los siguientes casos:

Si la mantisa también es cero se está representando el cero.

Si la mantisa es distinto de cero se trata de un número no normalizado,

supondremos que el bit implícito de la parte entera no es 1 sino 0, y el exponente

es -126

Si el exponente es 128, normalizando tenemos 128+127= 255, su correspondiente binario es 11111111, se tiene los siguientes casos:

Si la mantisa es cero se está representando el infinito.

Si la mantisa es distinta de cero se está representando el resultado de una

operación no válida (NaN – no es un número).

Ejemplo:

Dado el siguiente número binario +1011010010001 transformado en binario con coma flotante

Es un número positivo, por lo que el bit del signo será un 0.

Normalizando el binario 1011010010001 → 1,011010010001 × 212

Calculando el valor de la mantisa 011010010001

Calculando el valor del exponente y normalizando se tiene 12 → 12 + 127 =

139 →10001011

Ejemplo: Dado el siguiente número binario normalizado

0 10001011 01101001000100000000000

1 bit 8 bits 23

bits

1 10010001 10001110001000000000000

1 bit 8 bits 23

bits

Page 16: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

16

El bit del signo es 1, por lo tanto es un número negativo, la mantisa nos proporciona la magnitud del número 1, 10001110001, el valor del exponente se calcula de la siguiente forma:

El exponente: 10010001 = 1 × 27 + 0 × 26 + 0 × 25 + 1 × 24 + 0 × 23 + 0 × 22 + 0 × 21 +1 × 20 = 128 + 16 + 1 = 145 → 145 − 127 = 18

resumiendo obtenemos el siguiente número binario −1,10001110001 × 218 1.2 Análisis de errores

En la práctica del cálculo numérico es importante tener en cuenta que las soluciones

calculadas por el computador no son soluciones matemáticas exactas. La precisión de

una solución numérica puede verse disminuida por diversos factores y la comprensión

de estas dificultades puede guiarnos a menudo a desarrollar o construir algoritmos

numéricos adecuados.

Supongamos que p̂ (estimador) una aproximación de p, entonces se define el error

absoluto como:

𝐸𝑎 = |𝑝 − �̂�|

𝐸𝑟𝑟𝑜𝑟 𝑎𝑏𝑠𝑜𝑙𝑢𝑡𝑜 = |𝑝𝑎𝑟𝑎𝑚𝑒𝑡𝑟𝑜 − 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜 𝑑𝑒𝑙 𝑝𝑎𝑟𝑎𝑚𝑒𝑡𝑟𝑜|

𝐸𝑟𝑟𝑜𝑟 𝑎𝑏𝑠𝑜𝑙𝑢𝑡𝑜 = |𝑣𝑎𝑙𝑜𝑟 𝑟𝑒𝑎𝑙 − 𝑣𝑎𝑙𝑜𝑟 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜 |

Y además tenemos el error relativo, el mismo que es un porcentaje de la diferencia entre

su valor real y su aproximación:

𝐸𝑟 =|𝑝 − �̂�|

|𝑝|∗ 100

𝐸𝑟𝑟𝑜𝑟 𝑟𝑒𝑙𝑎𝑡𝑖𝑣𝑜 =|𝑣𝑎𝑙𝑜𝑟 𝑟𝑒𝑎𝑙 − 𝑣𝑎𝑙𝑜𝑟 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜|

|𝑣𝑎𝑙𝑜𝑟 𝑟𝑒𝑎𝑙|∗ 100

1.2.1 Error de Truncamiento

Page 17: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

17

La noción de error de truncamiento se refiere normalmente a los errores que se

producen cuando una expresión matemática complicada se reemplaza por una fórmula

más simple, por ejemplo:

𝑒𝑥2= 1 + 𝑥2 +

𝑥4

2!+

𝑥6

3!+

𝑥8

4!+ ⋯

1.3 Serie de Taylor

Toda función puede ser expresada como un polinomio de orden 𝑃𝑛(𝑥), la serie de Taylor

proporciona un medio para predecir el valor de una función en un punto.

Teorema de Taylor

Dada la función f y sus n+1 derivadas son continuas, se dice que la expresión siguiente

es el polinomio de Taylor de orden n y alrededor de a.

𝑓(𝑥) = 𝑃𝑛(𝑥) = 𝑓(𝑎) +𝑓′(𝑎)(𝑥−𝑎)

1!+

𝑓′′(𝑎)(𝑥−𝑎)2

2!+

𝑓′′′(𝑎)(𝑥−𝑎)3

3!+. . . +

𝑓(𝑛)(𝑎)(𝑥−𝑎)𝑛

𝑛!+ 𝐸𝑛

Donde 𝐸𝑛

Si a=0, tenemos la serie de McLaurin:

𝑓(𝑥) = 𝑓(0) + 𝑓′(0)(𝑥) +𝑓′′(0)𝑥2

2!+. . . +

𝑓(𝑛)(0)𝑥𝑛

𝑛!+. ..

Ejemplo a):

Encontrar la serie de McLaurin

𝒇(𝒙) = 𝒔𝒆𝒏(𝒙)

Page 18: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

18

𝑓(0) = 𝑠𝑒𝑛(0) = 0

𝑓′(𝑥) = cos(0) ⇒ 𝑓′(0) = 1

𝑓′′(𝑥) = −𝑠𝑒𝑛(𝑥) ⇒ 𝑓′′(𝑥) = 0

𝑓′′′(𝑥) = − cos(𝑥) ⟹ 𝑓′′′(𝑥) = −1

𝒔𝒆𝒏(𝒙) = 𝒙 −𝒙𝟑

𝟑!+

𝒙𝟓

𝟓!−

𝒙𝟕

𝟕!+ ⋯

Ejemplo b):

𝒇(𝒙) = 𝐜𝐨𝐬(𝒙)

𝑓(0) = cos(0) = 1

𝑓′(𝑥) = −𝑠𝑒𝑛(0) ⇒ 𝑓′(0) = 0

𝑓′′(𝑥) = − cos(0) ⇒ 𝑓′′(0) = −1

𝑓′′′(𝑥) = 𝑠𝑒𝑛(0) ⇒ 𝑓′′′(0) = 0

𝑓(4)(𝑥) = cos(0) ⇒ 𝑓(4)(0) = 1

𝐜𝐨𝐬(𝒙) = 𝟏 −𝒙𝟐

𝟐!+

𝒙𝟒

𝟒!−

𝒙𝟔

𝟔!+ ⋯

Ejemplo c):

Encuentre Sen (3.5), utilizando la serie de Taylor con 3 términos

𝑓(𝑥) = 𝑃𝑛(𝑥) = 𝑓(𝑎) +𝑓′(𝑎)(𝑥 − 𝑎)

1!+

𝑓′′(𝑎)(𝑥 − 𝑎)2

2!+

𝑓𝑛(𝑎)(𝑥 − 𝑎)𝑛

𝑛!+ ⋯

𝑓(𝑥) = 𝑆𝑒𝑛 (3.5)

𝑆𝑒𝑛 (3.5) = 3.5 −(3.5)3

3!+

(3.5)5

5!

Page 19: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

19

𝑆𝑒𝑛 (3.5) = 0.73098 𝑉𝑎𝑙𝑜𝑟 𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑑𝑜

𝑉𝑎𝑙𝑜𝑟 𝑟𝑒𝑎𝑙 ∶ 𝑆𝑒𝑛(3.5) = −0.35078

E𝑎 = |−0.35078 − 0.730981 |

𝐄𝒂 = 𝟏. 𝟎𝟖𝟏𝟕𝟔

E𝑟 =|−0.35078 − 0.730981 |

|−0.35078|∗ 100

𝐄𝒓 = 𝟑. 𝟎𝟖𝟑𝟖𝟕

Ejemplo d):

𝐹(𝑥) = 𝑆𝑒𝑛 (𝑥)

𝑓(𝑥) = 𝑓(𝑎) +𝑓′(𝑎)(𝑥 − 𝑎)

1!+

𝑓′′(𝑎)(𝑥 − 𝑎)2

2!+

𝑓𝑛(𝑎)(𝑥 − 𝑎)𝑛

𝑛!+ ⋯

1) Encuentre la serie de Taylor del Sen(x)

2) Encuentre el valor de la serie en x =3.45

3) Encuentre el valor de la serie en a=3, x=3.45

4) Encuentre el error

5) Conclusión

1) Sen(x) = Sen(a) + Cos(a)(x − a) −Sen(a)(x−a)2

2!−

Cos(a)(x−a)3

3!+

Sen(a)(x−a)4

4!+

Cos(a)(x−a)5

5!

2) Sen(x) = x −x3

3!+

x5

5!−

x7

7!+

x9

9!+ ⋯

Sen(3.45) = 3.45 −(3.45)3

3!+

(3.45)5

5!−

(3.45)7

7!+

(3.45)9

9!= −0.284384

Page 20: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

20

3) Sen(3.45) = Sen(3) + Cos(3)(3.45 − 3) −𝑆𝑒𝑛(3)(3.45−3)2

2!−

𝐶𝑜𝑠(3)(3.45−3)3

3!+

Sen(3)(3.45−3)4

4!

= - 0.303788

4) El valor exacto de Sen(3.45)= -0.303541, calculadora en radianes.

El error para a=0.

𝐸𝑟 = |𝑉𝑎𝑙𝑜𝑟 𝑟𝑒𝑎𝑙 − 𝑉𝑎𝑙𝑜𝑟 𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑑𝑜

𝑉𝑎𝑙𝑜𝑟 𝑟𝑒𝑎𝑙| ∗ 100

𝐸𝑟 = |−0.303541 + 0.284381

−0.30541| ∗ 100

𝑬𝒓 = 𝟔. 𝟑𝟏𝟏𝟏 %

Page 21: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

21

El error para a=3 de Sen(3.45)

𝐸𝑟 = |−0.303541 + 0.303388

−0.30541| ∗ 100

𝑬𝒓 = 𝟎. 𝟎𝟓𝟎𝟒 %

5) Conclusión:

Cuando el valor de a es cercano a x el valor disminuye notablemente.

Ejemplo e):

𝐹(𝑥) = 𝑆𝑒𝑛 (√𝑥)

1.- Encontrar la serie de Taylor del 𝑠𝑒𝑛 (√𝑥)

2.- Encontrar el valor de la serie en x=3.45; a=3.4 con 5 términos

𝑓(𝑥) = 𝑃𝑛 = 𝑓(𝑎) +𝑓′(𝑎)(𝑥 − 𝑎)

1!+

𝑓′′(𝑎)(𝑥 − 𝑎)2

2!+

𝑓𝑛(𝑎)(𝑥 − 𝑎)𝑛

𝑛!+ ⋯

1.

𝑆𝑒𝑛 (√𝑥) = 𝑆𝑒𝑛 (√𝑎) + 𝐶𝑜𝑠 (√𝑎) ∗ (𝑥 − 𝑎)

2√𝑎+ (

−√𝑎 ∗ 𝑆𝑒𝑛 (√𝑎) − 𝐶𝑜𝑠 (√𝑎)

4𝑎√𝑎) ∗

(𝑥 − 𝑎)2

2!

2.

𝑆𝑒𝑛 (√3.45) = 𝑆𝑒𝑛 (√3.4) + 𝐶𝑜𝑠 (√3.4) ∗ (3.45 − 3.4)

2√3.4+ (

−√3.4 ∗ 𝑆𝑒𝑛 (√3.4) − 𝐶𝑜𝑠 (√3.4)

4(3.4)√3.4)

∗(3.45 − 3.4)2

2!

𝑆𝑒𝑛 (√3.45) = 0,958967

𝐸𝑟 = |0.959204 − 0,958967

0.959204| ∗ 100

𝑬𝒓 = 𝟎. 𝟎𝟐𝟒𝟕 %

Page 22: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

22

Ejemplo f):

Demostrar

𝒇(𝜽) = 𝒆𝒊𝜽 = 𝐜𝐨𝐬(𝜽) + 𝒊𝒔𝒆𝒏(𝜽)

𝑓(0) = 𝑒𝑖𝜃 = 𝑒𝑖(0) = 𝑒0 = 1

𝑓′(𝜃) = 𝑖𝑒𝑖𝜃 = 𝑓′(0) = 𝑖

𝑓′′(𝜃) = 𝑖2𝑖𝑒𝑖𝜃 = 𝑓′′(0) = 𝑖2

𝑓′′′(𝜃) = 𝑖3𝑖𝑒𝑖𝜃 = 𝑓′′′(0) = 𝑖3

𝑓(4)(𝜃) = 𝑖4𝑖𝑒𝑖𝜃 = 𝑓(4)(0) = 𝑖4

𝑓(5)(𝜃) = 𝑖5𝑖𝑒𝑖𝜃 = 𝑓(5)(0) = 𝑖5

𝑒𝑖𝜃 = 1 + 𝑖𝜃 +𝑖2𝜃2

2!+

𝑖3𝜃3

3!+

𝑖4𝜃4

4!+. ..

𝑒𝑖𝜃 = (1 −𝜃2

2!+

𝜃4

4!−

𝜃6

6!+ ⋯) + 𝑖 (𝜃 −

𝜃3

3!+

𝜃5

5!+ ⋯)

𝒆𝒊𝜽 = 𝐜𝐨𝐬(𝜽) + 𝒊𝒔𝒆𝒏(𝜽)

Polinomio de Taylor para funciones de dos variables

Definición sea 𝑓:ℝ2 ℝ

El polinomio de Taylor de orden n asociado a 𝑓 𝑒𝑛 (𝑎, 𝑏)𝑒𝑠:

𝑓(𝑥, 𝑦) = 𝑃𝑛(𝑎, 𝑏)

= 𝑓(𝑎, 𝑏) +1

1!(

𝜕

𝜕𝑥 𝑓(𝑎, 𝑏)(𝑥 − 𝑎) +

𝜕

𝜕𝑦 𝑓(𝑎, 𝑏)(𝑦 − 𝑏))

+1

2!(

𝜕2

𝜕𝑥2 𝑓(𝑎, 𝑏)(𝑥 − 𝑎)2 +

𝜕2

𝜕𝑦2 𝑓(𝑎, 𝑏)(𝑦 − 𝑏)2 +

2𝜕2

𝜕𝑥𝜕𝑦 𝑓(𝑎, 𝑏)(𝑥 − 𝑎)(𝑦 − 𝑏))

* Función escalar de variable vectorial

* Función real de variable vectorial

Page 23: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

23

+1

3!(

𝜕3

𝜕𝑥3 𝑓(𝑎, 𝑏)(𝑥 − 𝑎)3 +

𝜕3

𝜕𝑦3 𝑓(𝑎, 𝑏)(𝑦 − 𝑏)3 +

3𝜕3

𝜕𝑥2𝜕𝑦 𝑓(𝑎, 𝑏)(𝑥 − 𝑎)2(𝑦 − 𝑏)

+3𝜕3

𝜕𝑥𝜕𝑦2 𝑓(𝑎, 𝑏)(𝑥 − 𝑎)(𝑦 − 𝑏)2)+. . ..

Ejemplo:

Dada la función de:

𝑓:ℝ2 ℝ 𝑦

f(x, y) = sen(x)sen(y)

Encontrar el polinomio de Taylor de grado 3 asociado y evaluado 𝑓(0,1 ; 0,15): Programa de la serie de Taylor Código: % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) syms x; ingreso=char(inputdlg('ingrese funcion')); f=inline(ingreso); n=str2double(inputdlg('ingrese numero de expresiones para la serie')); ev=taylor(f(x),'order',n) fun=string(ev); set(handles.text1,'string',fun);

Imagen 1.1: Ejecución del programa

Teorema: Sea 𝑓 ∈ 𝐶𝑛[𝑎, 𝑏], 𝑡𝑎𝑙 𝑞𝑢𝑒 𝑓(𝑛+1) existe en [a,b] y c ∈ [a,b]. Entonces

para todo x ∈ [a,b], f(x) = 𝑝𝑛(𝑥) + 𝑅𝑛(𝑥), donde 𝑝𝑛(𝑥) es el polinomio de Taylor

Page 24: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

24

𝑅𝑛(𝑥) =𝑓(𝑛+1)(휀(𝑥))

(𝑛 + 1)!(𝑥 − 𝑐)𝑛+1

Es el residuo, con 휀(𝑥) entre c y x, el teorema no permite evaluar exactamente el residuo, pero si permite acotarlo.

|𝑅𝑛(𝑥)| ≤|x − c|𝑛+1

(𝑛 + 1)!max|𝑓(𝑛+1)(𝑡)|

t ∈ (x,c).

Ejemplo 5 Obtener el polinomio de Taylor de orden 2 de cos(x) alrededor de π, acotar el error para x=3 y calcular el error.

𝑝2(𝑥) = cos( π) − 𝑠𝑒𝑛( π)(x − π) −cos ( π)

2(𝑥 − π)2

𝑝2(𝑥) = −1+1

2( 𝑥 − π)2

|𝑒𝑟𝑟𝑜𝑟| ≤|3 − π|3

6𝑚𝑎𝑥|𝑠𝑒𝑛(𝑡)|; 𝑡 ∈ [3, π].

|𝑒𝑟𝑟𝑜𝑟| ≤ 0.0004731 𝑠𝑒𝑛(3)

|𝑒𝑟𝑟𝑜𝑟| ≤ 0.0004731 𝑥 0.1411 = 0.0000668

Observación:

Para calcular el valor de una función para x el valor de a, deberá estar alrededor

de x.

Ejercicios propuestos

Ejercicios de notación decimal

Escribir en notación decimal las siguientes cantidades:

1. 374=

2. 17350=

3. 1,0243=

Page 25: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

25

4. 745,36=

5. 1357, 924=

Transformar de notación binaria a notación decimal

1. 100110112 =

2. 100110012 =

3. 11001002 =

4. 100110012 =

5. 01012 =

Páginas web:

http://www.montereyinstitute.org/courses/DevelopmentalMath/U03L1T1_RESOUR

CE/U03_L1_T1_text_final_es.html

http://es.wikihow.com/convertir-binario-a-decimal

Series de Taylor

1. Calcular el polinomio de Taylor de la función 𝑓(𝑥) = 𝑒𝑥

2. Calcúlese la serie de Taylor de 𝑓(𝑥) = 𝑙𝑛(𝑥)

3. Encuentre una serie de Taylor para f(x)= cos(2x)

4. Encuentre la serie de Taylor para f(x) = x5

5. Encontrar la serie de Taylor para la función f(x)= log (cosx)

Series de Mc- Claurin

1. Hallar el polinomio de Maclaurin para f(x)=ex, para n=0, n=1, n=2, n=3, y el

polinomio general.

2. Encuentre una serie de Maclaurin para 𝑓(𝑥) = 𝑥2𝑒−𝑥

3. Encontrar la serie de Maclaurin para f(x) = ex+ e−x

2

4. Encontrar la serie de Maclaurin para f(x) = ex− e−x

2

5. Encontrar la serie de Maclaurin para f(x) = 1

1+x2

Páginas web:

Page 26: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

26

http://es.scribd.com/doc/102297219/Series-de-Taylor-Ejemplos-y-Problemas

http://www.wikimatematica.org/index.php?title=Series_de_Taylor_y_Maclaurin#Eje

mplo_.231

http://www4.ujaen.es/~cisneros/Documentos/Des_Taylor.pdf

CAPITULO 2: RESOLUCIÓN DE ECUACIONES NO LINEALES

2.1 Método de la bisección Descripción del método:

Dado el intervalo [a, b], la primera aproximación a la raíz es el punto medio del

intervalo se calcula como la suma de los dos puntos dividido para 2, encontrando

un nuevo punto c1, luego se verifica si 𝑓(𝑎) × 𝑓(𝑐1) < 0 implicaría que la nueva

raíz se encuentra en el intervalo [𝑎, 𝑐1] por lo tanto la nueva aproximación seria el

punto medio de dicho intervalo. Y seguiríamos verificando si el 𝑓(𝑎𝑘) × 𝑓(𝑐𝑘) < 0

o 𝑓(𝑐𝑘) × 𝑓(𝑏𝑘) < 0 , en el intervalo que cumpla las definiciones anteriores se

procederá otra vez a encontrar el punto medio que es la siguiente mejor

aproximación a la raíz, así sucesivamente hasta obtener una aproximación

deseada.

Figura 2.1: descripción grafica del método de la bisección.

Page 27: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

27

Las aproximaciones deseadas forman una sucesión que convergen a la raíz.

⇒ {xn } = {c, c1, c2, … . . , cn}

⇒ {xn } = converge a la raíz

Algoritmo de la bisección funcion=char(inputdlg('ingrese la funcion')); f=inline(funcion); x=-5:0.1:5; n=length(x); for i=1:n y(i)=f(x(i)); end plot(x,y); hold on; plot([-5 5],[0 0],'r'); grid on; plot([0 0],[-5 5],'r'); j=-5; for i=1:11 text(j,0,num2str(j)); j=j+1; end a=str2double(inputdlg('ingrese el valor de a')); b=str2double(inputdlg('ingrese el valor de b')); iteraciones=1; j=1; pmviejo=0; while iteraciones<5 pm=((a+b)/2); fa=f(a); fb=f(b); fpm=f(pm); aa(j)=a; bb(j)=b; ppm(j)=pm; errorf=abs(pm-pmviejo); err(j)=errorf; if fa*fpm<0 b=pm; end

Page 28: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

28

if fb*fpm<0 a=pm; end pmviejo=pm; j=j+1; iteraciones=iteraciones+1; end set(handles.uitable1,'data',[aa' ppm' bb' err']);

Figura 2.2 Ejecución del algoritmo de la bisección

1. Elija a y b de forma que la función cambie de signo, inicialmente el a y el b se podría escoger realizando el gráfico de la función.

2. La primera aproximación a la raíz es Ci y se obtiene

𝐶𝑖 =𝑎𝑖 + 𝑏𝑖

2

3. Realice las siguientes evaluaciones para determinar en que subintervalos cae la raíz.

Page 29: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

29

a) Si f(ai)f(Ci) < 0 , entonces la raíz se encuentra dentro del subintervalo, por lo tanto bi = Ci , ai = ai ; y continúe en el paso 2.

b) Si f(ai)f(Ci) > 0 , entonces la raíz se encuentra dentro del subintervalo superior, por lo tanto ai = Ci , bi = bi ; y continúe en el paso 2.

4. Si f(ai)f(Ci) = 0 , la raíz es igual a Ci , termina el cálculo.

2.1.2 Error Del Método de Bisección

𝐸𝑟 = |𝐂𝐢𝐧𝐮𝐞𝐯𝐨%

− 𝐂𝐢𝐚𝐧𝐭𝐞𝐫𝐢𝐨𝐫

𝐂𝐢𝐧𝐮𝐞𝐯𝐨

| × 𝟏𝟎𝟎

Ejemplo 1: Encontrar los ceros de la función y= -exp(x)tan(x)

Figura2.3: grafico del método de la Bisección

Cuadro de datos:

f(ai)f(Ci) > 0; ai = Ci , bi = bi

-100

-50

0

50

100

150

200

0 0,5 1 1,5 2 2,5 3 3,5

y= -exp(x)tan(x)

Page 30: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

30

Figura2.4: tabla de datos.

f(ai)f(Ci) < 0; bi = Ci , ai = ai

1.- Ingresamos una función a ser evaluada, utilizamos el comando char que

transforma lo que ingresamos mediante la función “inputdlg” en string.

2.- Ingresamos el intervalo en el cual deseamos encontrar una raíz así como la

tolerancia admisible para encontrar la raiz, además hacemos uso de la función

str2double que transforma un “string” a double o número.

3.- Creamos la función con “inline”-

4.- Usamos el comando “while” para definir las iteraciones que se van a realizar,

para este caso el número de iteraciones es menor que 10 y la tolerancia debe ser

menor al error.

5.- Aplicamos el algoritmo para obtener las raíces.

6.- y los resultados obtenidos enviamos a los objetos “uitable”, como se puede

observar en la ejecución del programa.

2.2 Método de la Falsa Posición

Page 31: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

31

Figura 2.5: grafica del método de la falsa posición.

Como en el método de la bisección, supongamos que f(a) y f (b) tienen distinto signo.

En el método de la bisección se usa el punto medio del intervalo [a, b] para llevar a

cabo, las iteraciones hasta obtener la raíz.

Con el método de la falsa posición, suele conseguirse una aproximación mejor

usando el punto (c, 0), en el que la recta secante L pasa por los puntos (a, f(a)), (b, f

(b)) y el eje x.

Para hallar la abscisa c, igualamos las dos fórmulas para la pendiente m de la recta

secante L.

Encontremos la expresión para el método de la falsa posición.

Sea los puntos (𝑎, 𝑓(𝑎)) 𝑦 (𝑏, 𝑓(𝑏))

𝑚𝐿𝑠𝑒𝑐𝑎𝑛𝑡𝑒=

𝑓(𝑏) − 𝑓(𝑎)

𝑏 − 𝑎 (1)

Sean los puntos (𝑐, 0) 𝑦 (𝑏, 𝑓(𝑏))

𝑚𝐿𝑠𝑒𝑐𝑎𝑛𝑡𝑒=

0 − 𝑓(𝑏)

𝑐 − 𝑏 (2)

Igualando las dos expresiones obtenemos

(r2,y2)

r2

(r2,y2)

C1

Page 32: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

32

𝑓(𝑏) − 𝑓(𝑎)

𝑏 − 𝑎=

−𝑓(𝑏)

𝑐 − 𝑏⇒ (𝑐 − 𝑏)(𝑓(𝑏) − 𝑓(𝑎)) = −𝑓(𝑏)(𝑏 − 𝑎)

𝑐 = −𝑓(𝑏)(𝑏 − 𝑎)

𝑓(𝑏) − 𝑓(𝑎)+ 𝑏 ⇒ 𝑐 = 𝑏 −

𝑓(𝑏)(𝑏 − 𝑎)

𝑓(𝑏) − 𝑓(𝑎)

Por lo tanto generalizando la expresión anterior tenemos:

𝐶𝑘 = 𝑏𝑘 −𝑓(𝑏𝑘)(𝑏𝑘 − 𝑎𝑘)

𝑓(𝑏𝑘) − 𝑓(𝑎𝑘) ∀𝑘 = 1,2,3, …

Donde 𝐶𝑘 forma una sucesión que converge a la raíz de la función.

Las 3 posibilidades son las mismas que en el caso anterior:

a) Si f(a) y f(c) tienen distintos signos, entonces hay un cero (raíz) en [a, c]. b) Si f(c) y f (b) tienen distinto signo, entonces hay un cero (raíz) en [c, b]. c) Si f(c)=0, entonces c es una raíz.

2.2.1 Convergencia del Método de Falsa Posición De la deducción anterior, tenemos que la aproximación 𝐶𝑘, es una sucesión de la forma {𝐶𝑘}𝑘=0

∞ la cual puede converger.

Sin embargo, aunque la longitud del intervalo bk − ak se hace más pequeño, es posible que no tiende a 0.

El criterio de parada usada en el método de la bisección no es útil por lo tanto se

utilizará aproximaciones sucesivas de |Ck − Ck−1|.

Ejemplo 3: Realizar la gráfica de la función tan(x)*cos(x)

Page 33: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

33

Figura 2.6: grafica ejercicio tan(x)*cos(x).

Si f(c) y f (b) tienen distinto signo, entonces hay un 0 en [c, b]; por lo tanto c=a y b=b. Cuadro del Método de la Falsa Posición

Figura 2.7: Cuadro de datos.

Ejemplo 4: f(x)=ln(x^3+2)*tan(x)

Gráfica de la función

-1,5

-1

-0,5

0

0,5

1

1,5

-4 -2 0 2 4 6 8

tan(x)*cos(x)

Page 34: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

34

Figura 2.8: grafica de la función f(x)=ln(x^3+2)*tan(x)

Si f(c) y f (b) tienen distinto signo, entonces hay un 0 en [c, b]; por lo tanto c=a y b=b.

Cuadro del Método de la Falsa Posición

Figura 2.11: Cuadro de Datos, Ejemplo 2

2.3 Interacción de Punto fijo

2.3.1 Idea Gráfica del Punto Fijo funcion1=char(get(handles.edit1,'string')); funcion2=char(get(handles.edit2,'string')); funcion3=char(get(handles.edit3,'string')); x=-5:0.1:5; f1=inline(funcion1); f2=inline(funcion2); f3=inline(funcion3); n=length(x); for i=1:n y1(i)=f1(x(i)); y2(i)=f2(x(i)); y3(i)=f3(x(i));

Page 35: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

35

end plot(handles.axes1,x,y1); hold(handles.axes1,'on'); plot(handles.axes1,[-7 7],[0 0],'r'); plot(handles.axes1,[0 0],[-15 15],'r'); plot(handles.axes2,x,y2); hold(handles.axes2,'on'); plot(handles.axes2,x,y3); plot(handles.axes2,[-7 7],[0 0],'r'); plot(handles.axes2,[0 0],[-15 15],'r'); grid on;

Figura 2.9: Respuestas del ejercicio

𝒈(𝒑) = 𝒑 Un punto fijo de una función g es un número p para el cual se cumple:

Sea 𝒈(𝒙) = 𝒙𝟐 − 𝟐𝒙 + 𝟐 y 𝒙 = 𝟏.

Demuestre que para x=1 es un punto fijo:

𝑔(1) = 12 − 2(1) + 2 = 1 − 2 + 2 = 1

⇒ 𝑔(1) = 1

Page 36: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

36

⇒ 𝒑 = 𝟏 ∴ 𝒈(𝒙) 𝒆𝒔 𝒖𝒏 𝒑𝒖𝒏𝒕𝒐 𝒇𝒊𝒋𝒐

Dado un problema de buscar una raíz f (p)=0, podemos definir una función g, con

un punto fijo p de diversas formas, por lo tanto sea g(x) = x − f(x) si la función g

tiene un punto fijo en p entonces, p es una raíz de f(x):

Despejando de la expresión anterior tenemos

𝒇(𝒙) = 𝒙 − 𝒈(𝒙), Y tiene un cero en p.

Verifiquemos que f(x) tiene un cero en p

⇒ 𝒇(𝒑) = 𝒑 − 𝒈(𝒑) = 𝒑 − 𝒑 = 𝟎, ya que p es punto fijo de g.

∴ p es raíz.

Ejemplo 5: encuentre la siguiente expresión.

La ecuación x3 + 4x2 − 10 = 0 tiene una raíz única en el intervalo de [1,2], encuentre una expresión x=g(x)

∎ 𝐷𝑎𝑑𝑜 𝑥3 + 4𝑥2 − 10 = 0

4𝑥2 = 10 − 𝑥3

√𝑥2 = √10 − 𝑥3

4|𝑥| = ±√

10 − 𝑥3

4

𝑥 = √10 − 𝑥3

4 (1)

𝑥 = 𝑔(𝑥)

𝑥(𝑥2 + 4𝑥) = 10

𝑥 =10

𝑥2 + 4𝑥 (2)

Page 37: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

37

𝑥 = 𝑔(𝑥) 𝑥3 = 10 − 4𝑥2

√𝑥33= √10 − 4𝑥23

𝑥 = √10 − 4𝑥23 (3)

𝑥 = g(x) Verificación de la ecuación (1) 𝑓(𝑥) = 𝑥 − 𝑔(𝑥)

𝑓(𝑥) = 𝑥 − √10 − 𝑥3

4

𝑓(𝑥) = 𝑥 −√10 − 𝑥3

2

𝑓(𝑥) =2𝑥 − √10 − 𝑥3

2

𝑓(𝑥) = 0

2𝑥 − √10 − 𝑥3

2= 0

2𝑥 − √10 − 𝑥3 = 0

(2𝑥)2 = (√10 − 𝑥3)2

4𝑥2 = 10 − 𝑥3

𝑥3 + 4𝑥2 − 10 = 0

Algoritmo de interacción del método de punto fijo:

𝑃𝑘+1 = 𝑔(𝑃𝑘) ; 𝑘 = 0,1,2,3… Donde se tendrá que inicializar el algoritmo con p0.

Page 38: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

38

El error a calcular será de la forma:

e = |xrnuevo− xranterior

|

Ejemplo 6: resuelto en Excel

𝒇(𝒙) = 𝒙𝟑 − 𝒙𝟐 + 𝟒𝒙 − 𝟕 Despejando x se obtienen 3 ecuaciones:

𝒙 = √𝒙𝟐 + 𝟒𝒙 − 𝟕 (𝟏)

𝒙 = √𝒙𝟐 − 𝟒𝒙 + 𝟕𝟑

(𝟐)

𝒙 =𝟕 − 𝒙𝟑 + 𝒙𝟐

𝟒 (𝟑)

Observación: El método de punto fijo es sensible al despeje de la función f(x) en x=g(x) Este algoritmo es sensible al despeje, en este caso el mejor despeje es el la ecuación (2).

F(x)= 𝐱 = √𝐱𝟐 − 𝟒𝐱 + 𝟕𝟑

Figura 1.10: grafica del método del punto fijo

-25

-20

-15

-10

-5

0

5

10

15

-4 -3 -2 -1 0 1 2 3 4 5

F(x)= 𝒙=√(𝟑&𝒙^𝟐−𝟒𝒙+𝟕)

Page 39: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

39

Gráfico de la ecuación (2) en la cual las rectas se intersectan y las funciones convergen.

k pk pk+1=g(pk) Pk pk+1=g(pk)

0 2 0,75 2 1,44224957

1 0,75 1,78515625 1,44224957 1,49047078

2 1,78515625 1,12446938 1,49047078 1,4827081

3 1,12446938 1,71065425 1,4827081 1,48391569

4 1,71065425 1,23009637 1,48391569 1,48372676

5 1,23009637 1,66295816 1,48372676 1,48375629

6 1,66295816 1,29165893 1,48375629 1,48375168

7 1,29165893 1,62835032 1,48375168 1,4837524

8 1,62835032 1,3334784 1,4837524 1,48375229

9 1,3334784 1,60175513 1,48375229 1,4837523

2.4 Método de Newton-Raphson Si 𝑓(𝑥), 𝑓′(𝑥), 𝑓′′(𝑥) son continuas cercas de una raíz p, esta información sobre la

naturaleza de f(x) puede usarse para desarrollar algoritmos que produzcan

sucesiones {pk} que converjan a p más rápidamente.

Sea 𝑦 = 𝑓(𝑥) los puntos (𝑥1,0) y (𝑥2, 𝑓(𝑥2)) entonces la pendiente es igual:

Figura 2.11: Grafica del método de newton Raphson

𝑚 =0 − 𝑓(𝑝𝑥)

𝑝1 − 𝑝0 (1) ; 𝑚 = 𝑓′(𝑝0) (2)

Igualando tenemos que:

Page 40: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

40

𝑓′(𝑝0) =0 − 𝑓(𝑝𝑥)

𝑝1 − 𝑝0

(𝑝1 − 𝑝0)𝑓′(𝑝0) = −𝑓(𝑝0)

𝑝1𝑓′(𝑝0) − 𝑝0𝑓

′(𝑝𝑜) = −𝑓(𝑝0)

𝑝1 = −𝑓(𝑝0) + 𝑝0𝑓

′(𝑝0)

𝑓′(𝑝0)

𝑝1 = 𝑝0 −𝑓(𝑝0)

𝑓′(𝑝0)

Este proceso puede repetirse para obtener la sucesión {pk} que converge ap.

TEOREMA: Supongamos que la función f ∈ C2 [a, b] , es decir la función f debe

ser continua e integrable en el intervalo [a, b] y debe existir un número p ∈ [a, b]

tal que f (p)=0

⇒ 𝑝𝑘 = 𝑔(𝑝𝑘−1) = 𝑝𝑘−1 −𝑓(𝑝𝑘−1)

𝑓′(𝑝𝑘−1)

; 𝑘 = 1,2, …

Ejemplo 7: Aplicar el método de Newton-Raphson para resolver la siguiente ecuación

𝒍𝒏 𝒙𝟐 = 𝟎. 𝟕

𝑙𝑛 𝑥2 − 0.7 = 0

⇒ 𝑓(𝑥) = 𝑙𝑛 𝑥2 − 0.7

Figura 2.12: Grafica Del Método De Newton Raphson

𝑓′(𝑥) =2

𝑥

-6

-5

-4

-3

-2

-1

0

1

2

3

-3 -2 -1 0 1 2 3 4 5 6

𝑓(𝑥)=ln〖𝑥^2 〗−0.7

Page 41: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

41

𝑝𝑘+1 = 𝑝𝑘 −𝑓(𝑝𝑘)

𝑓′(𝑝𝑘)

𝑝𝑘+1 = 2 −𝑙𝑛(22) − 0.7

22

⟹ 𝑝𝑘+1 = 1.3137

𝑝𝑘+1 = 𝑝𝑘 −𝑓(𝑝𝑘)

𝑓′(𝑝𝑘)

𝑝𝑘+1 = 1.3137 −𝑙𝑛(1.31372) − 0.7

21.3137

⟹ 𝑝𝑘+1 = 1.415

𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟|

𝐸𝑅𝑅𝑂𝑅 = |1.415 − 1.3137| ⇒ 0.101

𝑝𝑘+1 = 𝑝𝑘 −𝑓(𝑝𝑘)

𝑓′(𝑝𝑘)

𝑝𝑘+1 = 1.415 −𝑙𝑛(1.4152) − 0.7

21.415

⟹ 𝑝𝑘+1 = 1.419

𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟|

𝐸𝑅𝑅𝑂𝑅 = |1.419 − 1.415| ⇒ 0.004

𝑝𝑘+1 = 𝑝𝑘 −𝑓(𝑝𝑘)

𝑓′(𝑝𝑘)

𝑝𝑘+1 = 1.419 −𝑙𝑛(1.4192) − 0.7

21.419

⟹ 𝑝𝑘+1 = 1.419

𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟|

𝐸𝑅𝑅𝑂𝑅 = |1.419 − 1.419| ⇒ 0

Algoritmo del método de Newton Raphson Código: % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) syms x;

Page 42: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

42

funcion=char(inputdlg('ingrese la funcion')); po=str2double(inputdlg('ingrese valor inicial para calcular la raiz')); f=inline(funcion); df=diff(sym(funcion)); dff=inline(df); p(1)=po; for i=1:5 p(i+1)=p(i)-(f(p(i))/(dff(p(i)))); end x=[0:1:5]; set(handles.uitable1,'data',p'); plot(x,p);

Figura 2.13: Mascara De Interface

Figura 2.18: Ejecución del programa

Page 43: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

43

2.5 Raíces múltiples

Una raíz múltiple corresponde a un punto donde la función es tangencial al eje

x, en dicho punto.

𝒇(𝒙) = (𝒙 + 𝟑)(𝒙 − 𝟏)(𝒙 − 𝟏) 𝑓(𝑥) = (𝑥 + 3)(𝑥 − 1)2

= (𝑥 + 3)( 𝑥2 − 2𝑥 + 1)

= 𝑥3 − 2𝑥2 + 𝑥 + 3𝑥2 − 6𝑥 + 3 = 𝑥3 + 𝑥2 − 5𝑥 + 3 En general, la multiplicidad impar de raíces cruza el eje x, mientras que la

multiplicidad par no la cruza.

Dificultad del método de raíces múltiples

El hecho de que la función no cambie de signo en raíces múltiples pares

impide que converse en métodos cerrados.

Tanto f(x) como su derivada se aproxima a cero en la raíz, esto afecta a los

métodos de newton Rapshon y secante los cuales contienen derivada en el

numerador.

El método de Newton Rapshon y la secante convergen el punto lineal, en vez

de formar cuadrática cuando hay raíces múltiples.

Ejemplo 9: multiplicidad par.

Sea f(x)= (x − 2)2, como se puede apreciar en el gráfico el cero es un punto que

topa tangencialmente al eje de las x, por lo tanto esta función es de multiplicidad 2

0

5

10

15

20

25

30

-4 -2 0 2 4 6 8

f(x)=(x-2)^2

Page 44: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

44

Figura 2.19: Multiplicidad Par

Ejemplo 10: multiplicidad impar

Sea f(x)=(x-2) ^3, se puede apreciar en el gráfico que el cero topa y corta

tangencialmente al eje de las x.

Figura 2.20: Multiplicidad Impar

El método de Newton Raphson, tiene que ser modificado para ser utilizado en

raíces múltiples.

Sea 𝑢 =𝑓(𝑥)

𝑓′(𝑥) (1)

Y, 𝑥𝑖+1 = 𝑥𝑖 −𝑢(𝑥𝑖)

𝑢′(𝑥𝑖) (2)

𝑢′(𝑥𝑖) =𝑓′(𝑥𝑖) 𝑓

′(𝑥𝑖)−𝑓(𝑥)𝑓′′(𝑥𝑖)

(𝑓′(𝑥𝑖))2

Remplazando (1) en (2)

𝑥𝑖+1 = 𝑥𝑖 −

𝑓(𝑥)𝑓′(𝑥𝑖)

(𝑓′(𝑥𝑖))2 − 𝑓(𝑥𝑖)𝑓′′(𝑥𝑖))(𝑓′(𝑥𝑖))2

𝑥𝑖+1 = 𝑥𝑖 −𝑓(𝑥𝑖)(𝑓′(𝑥𝑖))

2

𝑓′(𝑥𝑖)[(𝑓′(𝑥𝑖))2 − 𝑓(𝑥𝑖)𝑓′′(𝑥𝑖))]

𝑥𝑖+1 = 𝑥𝑖 −𝑓(𝑥𝑖)𝑓′(𝑥𝑖)

(𝑓′(𝑥𝑖))2 − 𝑓(𝑥𝑖)𝑓′′(𝑥𝑖))

Ejemplo 11: encontrar los ceros de la siguiente función

-40

-30

-20

-10

0

10

20

-2 -1 0 1 2 3 4 5

f(x)=(x-2)^3

Page 45: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

45

Figura 2.21: Multiplicidad Impar

Cuadro del método de raíces múltiples

Figura 2.22: Raíces Múltiples

Ejercicio extra Ponemos los siguientes botones para realizar una gráfica varias funciones.

Figura 2.23: Grafica Varias Funciones

-60

-40

-20

0

20

40

-3 -2 -1 0 1 2 3 4 5 6

f(x)=(x-3)(x-1)^2

Page 46: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

46

Entonces utilizamos los siguientes códigos para la ejecución del programa function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) funcion=get(handles.edit1,'String'); f=inline(funcion); x=[-5:0.1:5]; [fx cx]=size(x); for i=1:cx; y(i)=f(x(i)); end plot(x,y); hold on; grid on; plot([-7 7],[0 0],'r-'); plot([0 0],[min(y) max(y)],'r'); title(get(handles.edit1,'String')); xlabel('x'); ylabel('y'); x1=str2double(get(handles.edit2,'String')); y1=str2double(get(handles.edit3,'String')); text(x1,y1,'x');

1. Declaramos función la cogemos y enviamos, agregando texto al edit 1.

2. Creamos una función f con inline que nos convierte en un carácter la

función simbólica, y este carácter lo vamos a convertir a una función que se

pueda evaluar con inline.

3. Editamos el rango del gráfico y damos las filas y columnas.

4. Con plot dibujamos un gráfico en (x, y); con hold on y grid on lo

graficamos con rejilla y mantenemos encendido.

5. Con title agregamos un título al gráfico actual.

6. Con xlabel/ylabel Agrega una identificación al eje horizontal/vertical del

gráfico actual,

7. Finalmente con cogemos nuestros x1 y y1, y le enviamos al edit2 y 3

respectivamente.

Page 47: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

47

Ejecutando el programa tenemos:

Figura 2.25: Grafica Ejercicio Extra

Ejercicios resueltos y propuestos Método de la bisección

1.- Use el método de la bisección para resolver la siguiente función 𝑓(x) = x −cos(x) con una tolerancia de 0,001.

-2

-1

0

1

2

3

4

5

-3 -2 -1 0 1 2 3 4 5

METODO DE LA BISECCION

Page 48: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

48

Ejercicios propuestos

1. Determine las raíces reales de f(x) = −2 + 7x − 5x2 + 16x3

a) Gráficamente.

b) Usando el método de la bisección para localizar la raíz más pequeña.

Empleando los valores iniciales de xl = 0 y xu = 1 hasta que el error

estumado εa se encuentre debajo de εs=10%

Solución: xr=0,34375

2. Determine las raíces reales de la siguiente función:

f(x) = −26 + 82,3x − 88x2 + 45,4x3 − 9x4 + 0,65x5 a) Gráficamente.

b) Usando el método de la bisección para localizar la raíz más grande con

εs = 10%, empleando los valores iniciales de xl = 0,5 y xu = 1

Solución: xr=0,59375

Falsa posición Ejercicios resueltos: 1.- Planteamiento del problema. Con el método de la falsa posición determine la raíz:

f(c) =9.8(68.1)

c(1 − e−(

c

68.1)10) − 40

Solución. Se empieza el cálculo con los valores iniciales xl = 12 y xu = 16. Primera iteración:

xl = 12 f(xl) = 6.0699 xu = 16 f(xu) = – 2.2688

xr = 16 −−2.2688(12 − 16)

6.0669 − (−2.2688)= 14.9113

Que tiene un error relativo verdadero de 0.89 por ciento. Segunda iteración:

f(xl) f(xr) = – 1.5426

Page 49: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

49

Por lo tanto, la raíz se encuentra en el primer subintervalo y xr se vuelve ahora el límite superior para la siguiente iteración, xu = 14.9113

xl = 12 f(xl) = 6.0699 xu = 14.9113 f(xu) = – 0.2543

xr = 14.9113 −−0.2543(12 − 14.9113)

6.0669 − (−0.2543)= 14.7942

El cual tiene errores relativos verdaderos y aproximados de 0.09 y 0.79 por ciento. Es posible realizar iteraciones adicionales para hacer una mejor aproximación de las raíces. 2.- Mediante el método de la falsa posición encontrar la raíz de f(x) = sen 10x + cos 3x con una toleracia de 0,001

Ejercicios propuestos

1. Determine la raíz real de:

f(x) = (0.8 – 0.3x)

x

Empleando tres iteraciones en el método de la falsa posición, con valores

iniciales de xa = 1 a xu = 3. Calcule el error aproximado εa y el error

verdadero εt en cada iteración. Solución:

xr = 2,378601 εa = 4,3 εt = 5,7

-2,5

-2

-1,5

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1 0 1 2 3 4 5

Page 50: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

50

2. Calcule la raíz cuadrada positiva de f(x) = x2 − 15 usando el método de la

falsa posición con εs = 0.5%. Emplee como valores iníciales xl = 4 y xu =

5.

Solución:

xr = 3,872979 Método de la Falsa Posición.- Como en el método de la bisección, supongamos que f(a) y f(b) tienen distinto signo. En el método de la bisección se usa el punto medio del intervalo [a,b] para llevar a cabo el siguiente paso. Suele conseguirse una aproximación mejor usando el punto (c,0) en elque la recta secante L pasa por los puntos (a,f(a)) y (b,f(b)) y el eje x.

Para hallar el punto c, igualamos dos fórmulas para la pendiente m de la recta secante L.

a) (𝑎, 𝑓(𝑎)) 𝑦 (𝑏, 𝑓(𝑏))

𝑚𝐿𝑠𝑒𝑐𝑎𝑛𝑡𝑒=

𝑓(𝑏) − 𝑓(𝑎)

𝑏 − 𝑎 (1)

b) (𝑐, 0) 𝑦 (𝑏, 𝑓(𝑏))

𝑚𝐿𝑠𝑒𝑐𝑎𝑛𝑡𝑒=

0 − 𝑓(𝑏)

𝑐 − 𝑏 (2)

(1)=(2) 𝑓(𝑏) − 𝑓(𝑎)

𝑏 − 𝑎=

−𝑓(𝑏)

𝑐 − 𝑏⇒ (𝑐 − 𝑏)(𝑓(𝑏) − 𝑓(𝑎)) = −𝑓(𝑏)(𝑏 − 𝑎)

𝑐 = −𝑓(𝑏)(𝑏 − 𝑎)

𝑓(𝑏) − 𝑓(𝑎)+ 𝑏 ⇒ 𝑐 = 𝑏 −

𝑓(𝑏)(𝑏 − 𝑎)

𝑓(𝑏) − 𝑓(𝑎)Por lo tanto generalizando tenemos:

𝐶𝑛 = 𝑏𝑛 −𝑓(𝑏𝑛)(𝑏𝑛 − 𝑎𝑛)

𝑓(𝑏𝑛) − 𝑓(𝑎𝑛) ∀𝑛 = 1,2,3, …….

Las 3 posibilidades son las mismas que en el caso anterior:

d) Si f(a) y f(c) tienen distintos signos, entonces hay un 0 en [a,c].

e) Si f(c) y f(b) tienen distinto signo, entonces hay un 0 en [c,b].

f) Si f(c)=0, entonces c es un 0(f).

secante L

(c,0)

Page 51: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

51

Convergencia del Método de Falsa Posición

De la deducción anterior, tenemos que la aproximación 𝐶𝑛, es una sucesión de la forma {𝐶𝑛}𝑛=0

∞ la cual puede converger.

Sin embargo, aunque la anchura del intervalo 𝑏𝑛 − 𝑎𝑛 se hace más pequeño, es posible que no tiende a 0; si la curva 𝑦 = 𝑓(𝑥) es convexa cerca de (r,0), entonces

uno de los extremos 𝑎𝑛 o 𝑏𝑛 permanecen estacionarios y el otro tiende a la solución.

El criterio de parada usada en el método de la bisección no es útil por lo tanto se

utilizará aproximaciones sucesivas de |𝐶𝑛 − 𝐶𝑛−1|.

Ejemplo Excel:

Tabla de valores para la función entre [0.1; 0.7] en pasos de 0.2

Gráfica de la función

Si f(c) y f(b) tienen distinto signo, entonces hay un 0 en [c,b]; por lo tanto c=a y b=b.

Page 52: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

52

Cuadro del Método de la Falsa Posición

Interación de Punto Fijo.- Un punto fijo de una función g es un número p para el cual se cumple:

𝒈(𝒑) = 𝒑

EJEMPLO 1: Sea 𝒈(𝒙) = 𝒙𝟐 − 𝟐𝒙 + 𝟐 y x=1. Demuestre que para x=1 es un punto fijo:

𝑔(1) = 12 − 2(1) + 2 = 1 − 2 + 2 = 1

⇒ 𝑔(1) = 1 ⇒ 𝒑 = 𝟏 ∴ 𝒈(𝒙) 𝒆𝒔 𝒖𝒏 𝒑𝒖𝒏𝒕𝒐 𝒇𝒊𝒋𝒐

Dado un problema de buscar una raíz f(p)=0, podemos definir una función g, con

un punto fijo p de diversas formas, por lo tanto sea 𝑔(𝑥) = 𝑥 − 𝑓(𝑥) si la función g

tiene un punto fijo en p entonces la función definida es:

𝒇(𝒙) = 𝒙 − 𝒈(𝒙), 𝒕𝒊𝒆𝒏𝒆 𝒖𝒏 𝒄𝒆𝒓𝒐 𝒆𝒏 𝒑

Verifiquemos que f(x) tiene un cero en p Si x=p es punto fijo g(p)=p

⇒ 𝒇(𝒑) = 𝒑 − 𝒈(𝒑) = 𝒑 − 𝒑 = 𝟎 ∴ 𝒑 𝒆𝒔 𝒓𝒂í𝒛

Ejemplo 2: La ecuación 𝑥3 + 4𝑥2 − 10 = 0 tiene una raíz única en el intervalo de [1,2], encuentre una expresión x=g(x)

∎ 𝐷𝑎𝑑𝑜 𝑥3 + 4𝑥2 − 10 = 0

Page 53: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

53

4𝑥2 = 10 − 𝑥3

√𝑥2 = √10 − 𝑥3

4

|𝑥| = ±√10 − 𝑥3

4

𝑥 = √10−𝑥3

4 (1)

𝑥 = 𝑔(𝑥)

𝑥(𝑥2 + 4𝑥) = 10

𝑥 =10

𝑥2 + 4𝑥 (2)

𝑥 = 𝑔(𝑥)

𝑥3 = 10 − 4𝑥2

√𝑥33= √10 − 4𝑥23

𝑥 = √10 − 4𝑥23 (3)

𝑥 = 𝑔(𝑥)

VERIFICACIÓN DE LA ECUACIÓN (1):

𝑓(𝑥) = 𝑥 − 𝑔(𝑥)

𝑓(𝑥) = 𝑥 − √10 − 𝑥3

4

𝑓(𝑥) = 𝑥 −√10 − 𝑥3

2

𝑓(𝑥) =2𝑥 − √10 − 𝑥3

2

𝑓(𝑥) = 0

2𝑥 − √10 − 𝑥3

2= 0

2𝑥 − √10 − 𝑥3 = 0

(2𝑥)2 = (√10 − 𝑥3)2

4𝑥2 = 10 − 𝑥3

𝑥3 + 4𝑥2 − 10 = 0

Algoritmo de interación del método de punto fijo:

𝑷𝒌+𝟏 = 𝒈(𝑷𝒌) ; 𝒌 = 𝟎, 𝟏, 𝟐, 𝟑…

Donde se tendrá que inicializar el algoritmo con 𝑝0. El error a calcular será de la forma:

𝑒 = |𝑥𝑟𝑛𝑢𝑒𝑣𝑜− 𝑥𝑟𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟

|

Ejemplo Excel:

Page 54: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

54

𝒇(𝒙) = 𝒙𝟑 − 𝒙𝟐 + 𝟒𝒙 − 𝟕 Despejando x se obtienen 3 ecuaciones:

𝒙 = √𝒙𝟐 + 𝟏𝟏𝒙 − 𝟕 (𝟏)

𝒙 = √𝒙𝟐 − 𝟏𝟏𝒙 + 𝟕𝟑

(𝟐)

𝒙 =𝟕 − 𝒙𝟑 + 𝒙𝟐

𝟏𝟏 (𝟑)

Tabla de valores para varias f(x)=g(x).

A continuación se explicará que función

utilizar.

Gráfico de la función original para valores

[-3,3] en pasos de 0.3

Gráfico para los valores de la ecuación (1), pero no se toma estos valores porque no se intersectan las

rectas

Page 55: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

55

Gráfico para la ecuación (2), pero aunque las rectas se

intersecten, no convergen por lo que no se utiliza esta

función. Esto se demuestra en el cuadro siguiente.

Gráfico de la ecuación (3) en

la cual las rectas se intersectan y las funciones

convergen.

Cuadro del Método de Punto Fijo

Page 56: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

56

Implementación del Código en Matlab

Script (Código de Programación)

Ejecución del Programa

Page 57: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

57

Método de Newton-Raphson.- Si f(x), f´(x) y f´´(x) son continuas cercas de una raíz p, esta información sobre la naturaleza de f(x) puede usarse para desarrollar algoritmos que produzcan

sucesiones {𝑝𝑘} que converjan a p más rápidamente.

Sea y=f(x) los puntos (𝑥1,0) y (𝑥2, 𝑓(𝑥2)) entonces la pendiente es igual:

𝑚 =0 − 𝑓(𝑝𝑥)

𝑝1 − 𝑝0 (1) ; 𝑚 = 𝑓′(𝑝0) (2)

Igualando tenemos que:

𝑓′(𝑝0) =0 − 𝑓(𝑝𝑥)

𝑝1 − 𝑝0

(𝑝1 − 𝑝0)𝑓′(𝑝0) = −𝑓(𝑝0)

𝑝1𝑓′(𝑝0) − 𝑝0𝑓

′(𝑝𝑜) = −𝑓(𝑝0)

𝑝1 = −𝑓(𝑝0) + 𝑝0𝑓

′(𝑝0)

𝑓′(𝑝0)

𝑝1 = 𝑝0 −𝑓(𝑝0)

𝑓′(𝑝0)

Este proceso puede repetirse para obtener la sucesión {𝑝𝑘} que converge ap.

FORMULA DEL METODO DE NEWTON RAPSHON MODIFICADO ES:

Xi+1 = Xi −𝜇(𝑥𝑖)

𝜇′(𝑥𝑖)

TEOREMA: Supongamos que la función

𝑓 ∈ 𝐶2 [𝑎, 𝑏] Esto quiere decir, f elementos de las continuas e integrables en el intervalo [a, b] y que

exista un número 𝑝 ∈ [𝑎, 𝑏] tal que f(p)=0

⇒ 𝑝𝑘 = 𝑔(𝑝𝑘−1) = 𝑝𝑘−1 −𝑓(𝑝𝑘−1)

𝑓′(𝑝𝑘−1) ; 𝑘 = 1,2, …

Page 58: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

58

Ejemplo: Aplicar el método de Newton-Raphson para resolver la siguiente ecuación:

𝐥𝐧 𝒙𝟐 = 𝟎. 𝟕 ln 𝑥2 − 0.7 = 0

⇒ 𝑓(𝑥) = ln 𝑥2 − 0.7

𝑓′(𝑥) =2

𝑥

𝑝𝑘+1 = 𝑝𝑘 −𝑓(𝑝𝑘)

𝑓′(𝑝𝑘)

𝑝𝑘+1 = 2 −𝑙𝑛(22) − 0.7

22

⟹ 𝑝𝑘+1 = 1.3137

𝑝𝑘+1 = 𝑝𝑘 −𝑓(𝑝𝑘)

𝑓′(𝑝𝑘)

𝑝𝑘+1 = 1.3137 −𝑙𝑛(1.31372) − 0.7

21.3137

⟹ 𝑝𝑘+1 = 1.415

𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟|

𝐸𝑅𝑅𝑂𝑅 = |1.415 − 1.3137| ⇒ 0.101

𝑝𝑘+1 = 𝑝𝑘 −𝑓(𝑝𝑘)

𝑓′(𝑝𝑘)

Page 59: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

59

𝑝𝑘+1 = 1.415 −𝑙𝑛(1.4152) − 0.7

21.415

⟹ 𝑝𝑘+1 = 1.419

𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟|

𝐸𝑅𝑅𝑂𝑅 = |1.419 − 1.415| ⇒ 0.004

𝑝𝑘+1 = 𝑝𝑘 −𝑓(𝑝𝑘)

𝑓′(𝑝𝑘)

𝑝𝑘+1 = 1.419 −𝑙𝑛(1.4192) − 0.7

21.419

⟹ 𝑝𝑘+1 = 1.419

𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟|

𝐸𝑅𝑅𝑂𝑅 = |1.419 − 1.419| ⇒ 0

Page 60: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

60

Ejemplo: 𝒚 = (𝒙 − 𝟏)(𝒙 + 𝟑)

𝑦 = 𝑥2 + 3𝑥 − 𝑥 − 3

𝑦 = 𝑥2 + 2𝑥 − 3

𝑿𝒎𝒊𝒏 =−𝑏

2𝑎=

−2

2(1)= −1

𝒀𝒎𝒊𝒏 = (−1)2 + 2(−1) − 3 -1-2-3 = -4. 5 -3 -1 1 2 -4 SI x=2 F(3)= 4+4-3 =5 (2 , 5) Encontramos la recta en x=2 m f(2)=2x+2 2(2)+2=6 y – 5 = 6 ( x – 2 ) y – 5 = 6 x – 12

1) y = 6x – 7

x y 0 -7

1 1

Page 61: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

61

1) En y = 0

0 =6x – 7 7= 6x X=7/6 Ahora encuentro la recta tg en x= 7/6. (7/6 , f(7/6))

𝑓(7 6⁄ ) = (7 6⁄ )2+ 2(7 6⁄ ) − 3

49/36 + 7/3 -3

=49 + 84 − 108

36

=𝟐𝟓

𝟑𝟔

𝑚(7 6⁄ ) = 2(7 6⁄ ) + 2

=7

3+ 2 =

7 + 6

3=

𝟏𝟑

𝟑

𝒚 −𝟐𝟓

𝟔=

𝟏𝟑

𝟑(𝒙 −

𝟕

𝟔)

𝑦 =13

3−

13(7)

18+

25

36

𝟐) 𝒚 =𝟏𝟑

𝟑𝒙 −

𝟏𝟓𝟕

𝟑𝟔

Si y = 0 en 2

0 =13

3𝑥 −

157

36

157

36=

13

3𝑥

𝒙 =𝟏𝟓𝟕

𝟏𝟓𝟔= 𝟏. 𝟎𝟎𝟔

Page 62: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

62

CAPITULO III

SISTEMAS DE ECUACIONES LINEALES

INTRODUCCIÓN Matriz escalonada Para precisar las ideas sobre la forma especial de los sistemas que pueden resolverse por

el método de sustitución hacia atrás, se utiliza el concepto de matriz escalonada. Así se

diría que un sistema con esta forma especial tiene como matriz aumentada una matriz en la

forma escalonada.

Definición (Matriz escalonada) Sea A una matriz n×m. A es escalonada si es nula o si satisface las tres condiciones

siguientes:

i. El primer elemento no nulo de cada fila, si existe, es un 1.

ii. El primer 1 de la segunda fila y sucesivas está a la derecha del primer 1 de la fila

anterior.

iii. Bajo del elemento 1 hay ceros.

iv. Si tiene filas nulas —compuestas sólo de ceros— estas aparecen en la parte inferior de

la matriz, abajo de las filas no nulas.

Definición (Matriz escalonada reducida) Una matriz A, n × m, es escalonada reducida si es escalonada y además todo elemento en

una columna, arriba del primer uno de cualquier fila, es cero.

Es decir, la forma escalonada reducida se obtiene de una forma escalonada, haciendo cero

los elementos de la matriz arriba de los primeros unos de cada fila.

Definición (Sistemas equivalentes) Dos sistemas de ecuaciones lineales con m incógnitas son equivalentes si tienen el mismo

conjunto solución.

Page 63: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

63

De esta definición se tiene que si un sistema de ecuaciones lineales es el resultado de

aplicarle operaciones elementales a otro, ambos sistemas son equivalentes.

El método de reducción gaussiana permite resolver sistemas de ecuaciones lineales,

explotando la idea de equivalencia. Es decir, transformando el sistema mediante

operaciones elementales, hasta obtener uno cuya forma permite resolverlo mediante

“sustitución hacia atrás”.

Matrices equivalentes y rango Para caracterizar los sistemas de ecuaciones lineales que tienen solución y aquellos que

no la tienen se introduciría la noción de rango de una matriz, lo cual requeriría ampliar un

poco la notación de sistemas.

Todo sistema de ecuaciones lineales se puede notar AX = b, b es el vector de constantes

en las ecuaciones a la derecha y X es el vector de incógnitas del sistema, esta forma de

escritura Ax = b se conocerá como escritura matricial del sistema. Y en ella cada ecuación i

del sistema se representa como: el producto del vector fila i de la matriz A multiplicado por

el vector columna x igual a la componente i del vector b.

Definición (Matrices equivalentes)

Sean A, B matrices n×m, se dice que la matriz A es equivalente por filas a B (o

simplemente equivalente), si B se obtiene de A por aplicación de operaciones elementales

de renglón. Se escribe A -> B.

Aunque la idea de equivalencia en matrices es la misma que en sistemas, presenta una

pequeña diferencia. Dos sistemas de ecuaciones lineales en m variables pueden ser

equivalentes, aún cuando tengan distinta cantidad de ecuaciones. Sin embargo, dos

matrices aumentadas no son equivalentes si tienen un número de filas (ecuaciones)

distinto, aún cuando representen sistemas equivalentes.

Page 64: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

64

Aunque es claro, en este caso, que agregando filas nulas a la que tenga menos filas, se

pueden transformar en matrices equivalentes.

Teorema Si A es una matriz m×n entonces existe una única matriz B con la forma

escalonada reducida que es equivalente a A.

Definición (Rango de A) Sea A una matriz n×m, se llama rango de A y se denota Rng (A) al número de filas no

nulas de la matriz en la forma escalonada reducida equivalente a A.

Así para determinar el rango de una matriz A es necesario calcular su forma escalonada

reducida, sin embargo, observe que cualquier matriz escalonada equivalente a A tiene el

mismo número de filas no nulas que la escalonada reducida. Esto porque la escalonada

reducida se obtiene de la escalonada aplicando más operaciones, las cuales no modifican

el número de filas no nulas.

Caracterización de los sistemas, por su solución 1.- Sistemas que no tienen solución El problema de decidir si un sistema de ecuaciones lineales tiene solución o no, es el

problema de reconocer si tiene ecuaciones inconsistentes o no. Y esto se reconoce

fácilmente cuando el sistema tiene la forma escalonada y se observa al menos una

ecuación de la forma:

0x1 + 0x2 + · · · + 0xn = 1

También resulta fácil de reconocer que hay ecuaciones inconsistentes, en un sistema en su

forma inicial, cuando dos de ellas tienen iguales coeficientes asociados a las mismas

variables y la constante a la derecha es distinta.

Además Un sistema de ecuaciones puede contener ecuaciones superfluas o redundantes,

en el sentido de que las restricciones que establecen ya están contempladas en las otras

ecuaciones.

Y en general podemos reconocer que: Rng (A) < Rng (A|b) <-> Ax = b tiene ecuaciones inconsistentes.

Page 65: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

65

2.- Sistemas con solución Un sistema Ax = b con solución se dice que es consistente y, naturalmente, es un sistema

que no tiene ecuaciones inconsistentes.

La ausencia de ecuaciones inconsistentes se refleja en que:

la forma escalonada de la matriz del sistema A y la forma escalonada de la matriz

aumentada (A|b) tienen el mismo número de filas no nulas.

Y esto es equivalente a establecer que: Rng (A) = Rng (A|b) Sistemas con solución única Un sistema n × m, Ax = b, tiene solución única, si además de la condición anterior, el

sistema en la forma escalonada tiene tantas ecuaciones no superfluas, como variables. O

lo que es lo mismo:

• En cada columna de la forma escalonada de la matriz del sistema, hay un primer uno de

alguna fila.

• O, el número de filas no nulas en la matriz del sistema en su forma escalonada es igual a

m, el número de variables del sistema.

• O, Rng (A) = Rng (A|b) = m.

Sistemas con infinito número de soluciones Finalmente, un sistema n×m, Ax = b, tiene un número infinito de soluciones si además de

tener solución, el número de filas no nulas de la forma escalonada de la matriz del sistema

es menor que m, el número de variables (o columnas de la matriz del sistema). Lo que es

equivalente a establecer que:

Rng (A) = Rng (A|b) < m.

Esto significa que hay columnas, en la forma escalonada de la matriz del sistema, que no

contienen algún primer uno. El número de estas columnas corresponde al número de

parámetros con que se describe el conjunto solución del sistema y es igual a m− Rng (A).

Sistemas homogéneos

Page 66: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

66

Si las constantes a la derecha del igual en todas las ecuaciones son cero, se dice que el

sistema es homogéneo, es decir, Ax = b se llama homogéneo si b = 0 es el vector columna

de ceros. En este caso, se tiene que Rng (A) = RngA|0)

Porque ninguna operación elemental sobre las filas de (A|0), puede cambiar los ceros que

forman la última columna de (A|0). Así, en un sistema homogéneo no pueden existir

ecuaciones inconsistentes.

Además se reconoce fácilmente que x1 = x2 = . . . xm = 0, es una solución, por lo tanto los

sistema homogéneos siempre tienen solución.

Teorema: Todo sistema homogéneo Ax = 0, n×m, es consistente: a) x = 0m, el vector columna de m ceros, es una solución del sistema.

b) Si Rng (A) = m entonces el sistema tiene como única solución al vector nulo: x = 0m.

c) Si Rng (A) < m entonces el sistema tiene infinitas soluciones que dependen de m − Rng

(A) parámetros.

Interpretación del rango de una matriz

Consideremos una matriz A cualquiera n × m, y el sistema homogéneo Ax = 0.

Observemos que:

1. Cada ecuación que produzca un primer uno, en la forma escalonada de la matriz del

sistema, es una ecuación que aporta información para resolver el sistema Ax = 0,

que no está contemplada en las otras ecuaciones.

2. En tanto que una ecuación que termine como una fila de ceros en la escalonada

reducida equivalente a A, es una ecuación que puede omitirse del sistema Ax = 0 sin

que se pierda nada, es una ecuación redundante o superflua.

3. Por otra parte Rng (A) es el número de filas no nulas de la escalonada reducida

equivalente a A, o sea, el número de primeros 1 de cualquier matriz escalonada

equivalente A.

Así, el Rng (A) informa del número de ecuaciones que realmente aportan información para

resolver el sistema homogéneo Ax = 0, o en otros términos, El Rng (A) es:

Page 67: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

67

• El máximo número de ecuaciones del sistema Ax = 0 que no incluyen ecuaciones

redundantes.

• Y el mínimo número de ecuaciones que se deben preservar en el sistema Ax = 0 para

obtener un sistema equivalente.

Teorema Si A es una matriz n × n, las siguientes proposiciones son equivalentes. i) Rng (A) = n. ii) A es equivalente a la identidad. iii) Ax = 0 tiene solución única. iv) Ax = b tiene solución única para todo b elemento de Rn. Operaciones Elementales de Fila

1) 𝐹𝑖 ← 𝑘𝐹𝑖; 𝑘 𝑒𝑠 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒.

2) 𝐹𝑖 ← 𝐹𝑖 ± 𝐹𝑗

3) 𝐹𝑖 ← 𝑘1𝐹𝑖 ± 𝑘2𝐹𝑗

Cálculo de la matriz inversa Algoritmo

[𝐴𝑛 ⋮ 𝐼𝑛] ≈ [𝐴𝑝 ⋮ 𝑅𝑝] ≈ [𝐴𝑝+1 ⋮ 𝑅𝑝+1] ≈ ⋯ ≈ [𝐼𝑛 ⋮ 𝐴𝑛]

𝑨−𝟏 =[𝑨𝒅𝒋(𝑨)]𝒕

|𝑨|, 𝒅𝒐𝒏𝒅𝒆 |𝑨| ≠ 𝟎

Ejemplo: Calcular la matriz inversa:

𝐴 = [1 −1 32 1 4

−1 2 1] ⟹ |𝐴| = (1 + 12 + 4) − (−3 + 8 − 2) ⇒ |𝐴| = 17 − 3 = 14 ⇒ |𝐴| ≠ 0

Page 68: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

68

[1 −1 32 1 4

−1 2 1|1 0 00 1 00 0 1

]𝐹2 ← 𝐹2 − 2𝐹1

𝐹3 ← 𝐹3 − 2𝐹1

⇒ [1 −1 30 3 −20 1 4

|1 0 0

−2 1 01 0 1

] 𝐹2 ←1

3𝐹2

⇒ [

1 −1 3

0 1 −2

30 1 4

|

1 0 0

−2

3

1

30

1 0 1

]

𝐹1 ← 𝐹1 + 𝐹2

𝐹3 ← 𝐹3 − 𝐹2

[ 1 0

7

3

0 1 −2

3

0 014

3

|

|

1

3

1

30

−2

3

1

30

5

3−

1

31]

𝐹3 ← 𝐹3 (3

14)

[ 1 0

7

3

0 1 −2

30 0 1

||

−1

2

1

30

−2

3

1

30

5

14−

1

14

3

14] 𝐹1 ← 𝐹1 −

7

3𝐹3

𝐹2 ← 𝐹2 +2

3𝐹3

[ 1 0 00 1 00 0 1

|

−1

2

1

2−

1

2

−3

7

2

7

1

75

14−

1

14

3

14 ]

Verificación:

𝐴 ∙ 𝐴−1 = [1 −1 32 1 4

−1 2 1] ∙

[ −

1

2

1

2−

1

2

−3

7

2

7

1

75

14−

1

14

3

14 ]

⇒ [1 0 00 1 00 0 1

]

RANGO DE UNA MATRIZ x – 9y + 5z = 33 x + 3y – z = -9 x – y + z = 5

(1 −9 51 3 −11 −1 1

) 𝑓2 − 𝑓3𝑓3 − 𝑓1

(1 −9 50 4 20 8 −4

) 𝑓2/2𝑓3/4

(1 −9 50 2 −10 −2 1

) 𝑓3 + 𝑓2

(1 −9 50 2 −10 0 0

) 𝑅𝐴𝑁𝐺𝑂 (𝐴) = 2

𝑀𝐴𝑇𝑅𝐼𝑍 𝐴𝑈𝑀𝐸𝑁𝑇𝐴𝐷𝐴

Page 69: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

69

(1 −9 51 3 −11 −1 1

|33−95

)𝑓2 − 𝑓1(1 −9 51 12 −61 −1 1

|33

−425

)𝑓2/6

(1 −9 50 2 −11 −1 1

|33−75

)𝑓3 + 𝑓2

(1 −9 50 2 −11 1 0

|33−7−2

)𝑓3 − 𝑓1

(1 −9 50 2 −11 10 −5

|33−7−35

)𝑓3/5

(1 −9 50 2 −10 2 −1

|33−7−7

)𝑓3 − 𝑓2

(1 −9 50 2 −10 0 0

|33−70

)𝑅𝐴𝑁𝐺𝑂 (𝑀𝐴𝑃) = 2 < 𝑚,𝑑𝑜𝑛𝑑𝑒 𝑚, 𝑒𝑠 𝑒𝑙 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑒 𝑓𝑖𝑙𝑎𝑠

=> ∃ 𝑖𝑛𝑓𝑖𝑛𝑖𝑡𝑎𝑠 𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛𝑒𝑠 2𝑦 − 1 = 7 x = 33 + 9y – 5z

X – 9y 5 z = 33 𝑥 = 33 + 9 (7+𝑧

2) − 5𝑧

Donde 𝑥 = 33 +63

2+

9

2𝑧 − 5𝑧

2y = 7 + z 𝑥 = 33 +63

2−

1

2𝑧

𝒚 =𝟕+𝒛

𝟐 𝒙 =

𝟏𝟐𝟗

𝟐−

𝟏

𝟐𝒛

Sea z = t

𝑡 {

𝑥 =129

2−

1

2𝑡

𝑦 =7+𝑡

2

𝑧 = 𝑡

, 𝑇𝐸𝑁𝐸𝑅 𝐸𝑁 𝐶𝑈𝐸𝑁𝑇𝐴 𝑄𝑈𝐸 𝑃𝐴𝑅𝐴 𝑈𝑁𝐴 𝑀𝐴𝑇𝑅𝐼𝑍 𝐼𝑁𝑉𝐸𝑅𝑆𝐴 𝐷𝐸𝐵𝐸:

Implementación del Código en Matlab

Script (Código del Programa)

Page 70: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

70

Ejecución del Programa

Todo sistema de ecuaciones se puede escribir de la forma:

𝐴𝑥 = 𝐵

Ejemplo:

Page 71: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

71

𝐴 = [3 2 1

−1 1 −1−1 3 1

] ; 𝑏 = [12

−1]

𝐴𝑥 = 𝑏

[3 2 1

−1 1 −1−1 3 1

] [𝑋1

𝑋2

𝑋3

] = [12

−1] ⇒ [

3𝑋1 + 2𝑋2 + 𝑋3

−𝑋1 + 𝑋2 − 𝑋3

−𝑋1 + 3𝑋2 + 𝑋3

] = [12

−1]

{

3𝑋1 + 2𝑋2 + 𝑋3 = 1−𝑋1 + 𝑋2 − 𝑋3 = 2

−𝑋1 + 3𝑋2 + 𝑋3 = −1

DEFINICIÓN: Se dice que una matriz 𝐴 = [𝑎𝑖𝑗]𝑛 triangular superior cuando sus elementos

verifican 𝑎𝑖𝑗 = 0, para ∀ 𝑖 > 𝑗

Se dice que una matriz 𝐴 = [𝑎𝑖𝑗]𝑛, es triangular inferior cuando sus elementos verifican

𝑎𝑖𝑗 = 0, para ∀ 𝑖 < 𝑗.

Ejemplo:

𝐴 = [

𝑎11 𝑎12 𝑎13

𝑎21 𝑎22 𝑎23

𝑎31 𝑎32 𝑎33

]

MATRIZ TRIANGULAR SUPERIOR

𝐴 = [1 2 10 2 −10 0 1

]

MATRIZ TRIANGULAR INFERIOR

𝑎𝑖𝑗 ⇒ 𝑖 < 𝑗

𝑎𝑖𝑗 ⇒ 𝑖 = 𝑗

𝑎𝑖𝑗 ⇒ 𝑖 > 𝑗

[𝑎𝑖𝑗] = 0 ⇒ ∀𝑖 > 𝑗

Page 72: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

72

𝐴 = [1 0 02 −1 03 −2 4

]

Si A es una matriz triangular superior entonces se dice que el sistema 𝐴𝑥 = 𝑏 es un sistema triangular superior de ecuaciones lineales:

𝑎11𝑥1 + 𝑎12𝑥2 + 𝑎13𝑥3 + ⋯+ 𝑎1𝑛𝑥𝑛 = 𝑏1 𝑎22𝑥2 + 𝑎23𝑥3 + ⋯+ 𝑎2𝑛𝑥𝑛 = 𝑏2 ⋱ ⋮ ⋱ ⋮

𝑎𝑛−2,𝑛−2𝑥𝑛−2 + 𝑎𝑛−2,𝑛−1𝑥𝑛−1 + 𝑎𝑛−2,𝑛𝑥𝑛 = 𝑏𝑛−2

𝑎𝑛−1,𝑛−1𝑥𝑛−1 + 𝑎𝑛−1,𝑛𝑥𝑛 = 𝑏𝑛−1

𝑎𝑛𝑛𝑥𝑛 = 𝑏𝑛 Teorema de Sustitución Regresiva

Supongamos que tenemos el sistema Ax=b, un sistema triangular superior como en (1). Si

𝑎𝑘𝑘 ≠ 0 ; ∀ 𝑘 = 1,2, … , 𝑛; entonces existe una solución única de (1).

∎ 𝐷𝑒𝑚𝑜𝑠𝑡𝑟𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑓𝑜𝑟𝑚𝑎 𝑐𝑜𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑣𝑎

La solución es fácil, la última ecuación solo contiene la incógnita 𝑋𝑛, es decir:

𝑋𝑛 =𝑏𝑛

𝑎𝑛𝑛; 𝑎𝑛𝑛 ≠ 0

Conocido 𝑋𝑛, podemos utilizarla para encontrar 𝑋𝑛−1

𝑋𝑛−1 =𝑏𝑛−1 − 𝑎𝑛−1,𝑛𝑋𝑛

𝑎𝑛−1,𝑛−1

Así:

𝑋𝑛−2 =𝑏𝑛−2 − 𝑎𝑛−2,𝑛−1𝑋𝑛−1 − 𝑎𝑛−2,𝑛𝑋𝑛

𝑎𝑛−2,𝑛−2

𝑋𝑛−3 =𝑏𝑛−3 − 𝑎𝑛−2,𝑛−2𝑋𝑛−2 − 𝑎𝑛−3,𝑛−1𝑋𝑛−1 − 𝑎𝑛−3,𝑛𝑋𝑛

𝑎𝑛−3,𝑛−3

Generalizando tenemos:

𝑋𝑘 =𝑏𝑘 − ∑ 𝑎𝑘𝑗𝑋𝑗

𝑛𝑗=𝑘+1

𝑎𝑘𝑘

Ejemplo Aplicando el método de sustitución hacia atrás de una matriz 4X4

[𝑎𝑖𝑗] = 0 ⇒ ∀𝑖 < 𝑗

(1)

Page 73: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

73

𝑎11𝑥1 + 𝑎12𝑥2 + 𝑎13𝑥3 + 𝑎14𝑥4 = 𝑏1 0 + 𝑎22𝑥2 + 𝑎23𝑥3 + 𝑎24𝑥4 = 𝑏2 0 + 0 + 𝑎33𝑥3 + 𝑎34𝑥4 = 𝑏3 0 + 0 + 𝑎43𝑥3 + 𝑎44𝑥4 = 𝑏4

𝑋4 =𝑏4

𝑎44 (Constante y conocido)

𝑋3 =𝑏3 − 𝑎34𝑋4

𝑎33

𝑋2 =𝑏2 − 𝑎23𝑋3 − 𝑎24𝑋4

𝑎22=

𝑏2 − (𝑎23𝑋3 + 𝑎24𝑋4)

𝑎22

𝑋1 =𝑏1 − 𝑎12𝑋2 − 𝑎13𝑋3 − 𝑎14𝑋4

𝑎11=

𝑏1 − (𝑎12𝑋2 + 𝑎13𝑋3+)

𝑎22

Implementación del Código en Matlab del método de sustitución regresiva de una matriz de 4x4

Script (Código del Programa)

Ejecución del Programa

Page 74: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

74

Implementación del Código en Matlab

Script (Código del Programa)

Page 75: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

75

Ejecución del Programa

TEOREMA: Un sistema lineal 𝐴𝑥 = 𝐵, siendo 𝐴𝑛 tiene solución ínica si y solo si det (𝐴) ≠ 0.

TEOREMA: Si una matriz 𝐴𝑛 es triangular superior o inferior, entonces el det(𝐴) = ∏ 𝑎𝑖𝑖𝑛𝑖=1

ELIMINACIÓN GAUSSIANA Y PIVOTEO

Necesitamos resolver el sistema 𝐴𝑥 = 𝐵 con n ecuaciones y n incógnitas. El objetivo es

construir un sistema triangular equivalente 𝑈𝑥 = 𝑌 que podamos resolver usando el método

de sustitución regresiva.

OBSERVACIÓN: Se dice que 2 sistemas de orden n son equivalentes cuando tienen el

mismo conjunto de soluciones (es decir se realizaron operaciones de fila o columna en la

matriz original)

TEOREMA: OPERACIONES ELEMENTALES CON LAS FILAS Cualquiera de las

operaciones elementales con las filas aplicada a la matriz ampliada produce un sistema

lineal equivalente.

[𝐴|𝑏] = [

𝑎11 𝑎12 … 𝑎1𝑛

𝑎21 𝑎22 … 𝑎2𝑛

𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛

|

𝑏1

𝑏2

𝑏𝑛

]

Page 76: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

76

Multiplicador Pivote Multiplicador Fila Pivote

DEFINICIÓN: PIVOTEO Y MULTIPLICADORES

Resolver el siguiente sistema de ecuaciones mediante pivoteo y multiplicadores:

𝑋1 + 2𝑋2 + 𝑋3 + 4𝑋4 = 13

2𝑋1 + 0𝑋2 + 4𝑋3 + 3𝑋4 = 28 4𝑋1 + 2𝑋2 + 2𝑋3 + 𝑋4 = 20 −3𝑋1 + 𝑋2 + 3𝑋3 + 2𝑋4 = 6

Dado el siguiente multiplicador (columna)

𝒎𝒌𝟏 =𝒂𝒌𝟏

𝒂𝟏𝟏 , 𝒌 = 𝟐, 𝟑, 𝟒, … 𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌,𝟏𝑭𝟏

[

1 2 1 42 0 4 34

−321

2 13 2

|

1328206

]

𝑆𝑖 𝑘 = 2 ⇒ 𝑚21 =𝑎21

𝑎11=

2

1= 2 ; 𝐹2 ← 𝐹2 − 𝑚21𝐹1

[

1 2 1 40 −4 2 −54

−321

2 13 2

|

132206

]

𝑆𝑖 𝑘 = 3 ⇒ 𝑚31 =𝑎31

𝑎11=

4

1= 4 ; 𝐹3 ← 𝐹3 − 𝑚31𝐹1

[

1 2 1 40 −4 2 −50

−3−61

−2 −153 2

|

132

−326

]

𝑆𝑖 𝑘 = 4 ⇒ 𝑚41 =𝑎41

𝑎11=

−3

1= −3 ; 𝐹4 ← 𝐹4 − 𝑚41𝐹1

Page 77: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

77

[

1 2 1 40 −4 2 −500

−67

−2 −156 14

|

132

−3245

]

Segunda columna

𝒎𝒌𝟐 =𝒂𝒌𝟐

𝒂𝟐𝟐 , 𝒌 = 𝟑, 𝟒, … 𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌𝟐𝑭𝟐

𝑆𝑖 𝑘 = 3 ⇒ 𝑚32 =𝑎32

𝑎22=

−6

−4=

3

2 ; 𝐹3 ← 𝐹3 − 𝑚32𝐹2

[

1 2 1 40 −4 2 −500

07

−5 −15 2⁄

6 14

|

132

−3545

]

𝑆𝑖 𝑘 = 4 ⇒ 𝑚42 =𝑎42

𝑎22=

7

−4= −

7

4 ; 𝐹4 ← 𝐹4 − 𝑚42𝐹2

[

1 2 1 40 −4 2 −500

00

−5 −15 2⁄

19 2⁄ 21 4⁄

|

132

−3597 2⁄

]

Tercera columna

𝒎𝒌𝟑 =𝒂𝒌𝟑

𝒂𝟑𝟑 , 𝒌 = 𝟒,… 𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌𝟑𝑭𝟑

𝑆𝑖 𝑘 = 4 ⇒ 𝑚43 =𝑎43

𝑎33=

192

−5= −

19

10 ; 𝐹4 ← 𝐹4 − 𝑚43𝐹3

[

1 2 1 40 −4 2 −500

00

−5 −15 2⁄

0 9

|

132

−35−18

]

−9𝑋4 = −18 ⇒ 𝑿𝟒 = 𝟐

−5𝑋3 −15

2𝑋4 = −35 ⇒ −5𝑋3 −

15

2(2) = −35 ⇒ 𝑿𝟑 = 𝟒

−4𝑋2 + 2𝑋3 − 5𝑋4 = 2 ⇒ −4𝑋2 + 2(4) − 5(2) = 2 ⇒ 𝑿𝟐 = −𝟏 𝑋1 + 2𝑋2 + 𝑋3 + 4𝑋4 = 13 ⇒ 𝑋1 + 2(−1) + 4 + 4(2) = 13 ⇒ 𝑿𝟏 = 𝟑 Ejemplo2

Page 78: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

78

Resolver el siguiente sistema de ecuaciones mediante pivoteo y multiplicadores:

3𝑥 − 2𝑦 + 𝑧 = 2 𝑥 + 𝑦 − 𝑧 = −1

−𝑥 + 2𝑦 + 3𝑧 = 1

𝒎𝒌𝟏 =𝒂𝒌𝟏

𝒂𝟏𝟏 , 𝒌 = 𝟐, 𝟑… 𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌,𝟏𝑭𝟏

Calculemos el rango

[3 −2 11 1 −1

−1 2 3]

Primera columna

𝑆𝑖 𝑘 = 2 ⇒ 𝑚21 =𝑎21

𝑎11=

1

3=

1

3 ; 𝐹2 ← 𝐹2 − 𝑚21𝐹1

[

3 −2 1

05

3−

4

3−1 2 3

]

𝑆𝑖 𝑘 = 3 ⇒ 𝑚31 =𝑎31

𝑎11=

−1

3= −

1

3 ; 𝐹3 ← 𝐹3 − 𝑚31𝐹1

[ 3 −2 1

05

3−

4

3

04

3

10

3 ]

Segunda columna

𝒎𝒌𝟐 =𝒂𝒌𝟐

𝒂𝟐𝟐 , 𝒌 = 𝟑 𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌𝟐𝑭𝟐

𝑆𝑖 𝑘 = 3 ⇒ 𝑚32 =𝑎32

𝑎22=

−6

−4=

3

2 ; 𝐹3 ← 𝐹3 − 𝑚32𝐹2

[ 3 −2 1

05

3−

4

3

0 022

5 ]

Calculemos el rango de la matriz ampliada

Page 79: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

79

[3 −2 11 1 −1

−1 2 3|

2−11

]

𝒎𝒌𝟏 =𝒂𝒌𝟏

𝒂𝟏𝟏 , 𝒌 = 𝟐, 𝟑… 𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌,𝟏𝑭𝟏

Primera columna

𝑆𝑖 𝑘 = 2 ⇒ 𝑚21 =𝑎21

𝑎11=

1

3=

1

3 ; 𝐹2 ← 𝐹2 − 𝑚21𝐹1

[3 −2 10 5/3 −4/3

−1 2 3|

2−5/35/3

]

𝑆𝑖 𝑘 = 3 ⇒ 𝑚31 =𝑎31

𝑎11=

−1

3= −

1

3 ; 𝐹3 ← 𝐹3 − 𝑚31𝐹1

[3 −2 10 5/3 −4/30 4/3 10/3

|2

−5/35/3

]

Segunda columna

𝒎𝒌𝟐 =𝒂𝒌𝟐

𝒂𝟐𝟐 , 𝒌 = 𝟑 𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌𝟐𝑭𝟐

𝑆𝑖 𝑘 = 3 ⇒ 𝑚32 =𝑎32

𝑎22=

−6

−4=

3

2 ; 𝐹3 ← 𝐹3 − 𝑚32𝐹2

[3 −2 10 5/3 −4/30 0 22/5

|2

−5/31/3

]

El rango de A

Ran(A)=3 Ran(A|b)=3

m=3

∴ 𝒆𝒍 𝒔𝒊𝒔𝒕𝒆𝒎𝒂 𝒕𝒊𝒆𝒏𝒆 𝒖𝒏𝒂 𝒖𝒏𝒊𝒄𝒂 𝒔𝒐𝒍𝒖𝒄𝒊ó𝒏 ELIMINACIÓN DE GAUSS-JORDAN

DEFINICIÓN: es un algoritmo del álgebra lineal para determinar las soluciones de un

sistema de ecuaciones lineales, encontrar matrices e inversas. Un sistema de ecuaciones

se resuelve por el método de Gauss cuando se obtienen sus soluciones mediante la

reducción del sistema dado a otro equivalente en el que cada ecuación tiene una incógnita

Page 80: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

80

menos que la anterior. El método de Gauss transforma la matriz de coeficientes en una

matriz triangular superior. El método de Gauss-Jordan continúa el proceso de

transformación hasta obtener una matriz diagonal.

ALGORITMO:

1. Ir a la columna no cero extrema izquierda

2. Si el primer renglón tiene un cero en esta columna, intercambiarlo con otro que no lo

tenga

3. Luego, obtener ceros debajo de este elemento delantero, sumando múltiplos

adecuados del renglón superior a los renglones debajo de él

4. Cubrir el renglón superior y repetir el proceso anterior con la submatriz restante.

Repetir con el resto de los renglones (en este punto la matriz se encuentra en la

forma de escalón)

5. Comenzando con el último renglón no cero, avanzar hacia arriba: para cada renglón

obtener un 1 delantero e introducir ceros arriba de éste sumando múltiplos

correspondientes a los renglones correspondientes

Una variante interesante de la eliminación de Gauss es la que llamamos eliminación de

Gauss-Jordan, esta consiste en ir obteniendo los 1 delanteros durante los pasos uno al

cuatro así para cuando estos finalicen ya se obtendrá la matriz en forma escalonada

reducida

EJERCICIOS:

1. Resolver el siguiente sistema mediante Gauss-Jordan

𝟐𝒙 + 𝟑𝒚 + 𝒛 = 𝟏

𝟑𝒙 − 𝟐𝒚 − 𝟒𝒛 = −𝟑 𝟓𝒙 − 𝒚 − 𝒛 = 𝟒

[2 3 13 −2 −45 −1 −1

|1

−34

] 𝐹1

2 [

13

2

1

23 −2 −45 −1 −1

|

1

2−34

] 𝐹2 ← 𝐹2 − 3𝐹1

𝐹3 ← 𝐹3 − 5𝐹1

[ 1

3

2

1

2

0 −13

2−

11

2

0 −17

2−

7

2

|

|

1

2

−9

23

2 ]

𝐹2 ← 𝐹2 (−2

13)

Page 81: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

81

[ 1

3

2

1

2

0 1 −11

13

0 −17

2−

7

2

|

|

1

2

−9

133

2 ]

𝐹1 ← 𝐹1 −

3

2𝐹2

𝐹3 ← 𝐹3 +17

2𝐹2

[ 1 0 −

10

13

0 1 −11

13

0 048

13

|

|−

7

13

−9

1396

13 ]

𝐹3 ← 𝐹3 (13

48)

[ 1 0 −

10

13

0 1 −11

130 0 1

||−

7

13

−9

132 ]

𝐹1 ← 𝐹1 +10

13𝐹3

𝐹2 ← 𝐹2 −11

13𝐹3

[1 0 00 1 00 0 1

|1

−12

] ⇒ 𝒙 = 𝟏

𝒚 = −𝟏 𝒛 = 𝟐

2. Resolver el siguiente sistema mediante Gauss-Jordan

𝟑𝒙 − 𝟐𝒚 + 𝟑𝒛 = 𝟓𝟐𝒙 + 𝟒𝒚 − 𝒛 = 𝟐

[3 −2 32 4 −1

|52] 𝐹1 ←

𝐹1

3[1 −

2

31

2 4 −1

|5

32

] 𝐹2 ← 𝐹2 − 2𝐹1 [1 −

2

31

016

3−3

|

5

3

−4

3

]

𝐹2 ← 𝐹2 (3

16) [

1 −2

31

0 1 −9

16

|

5

3

−1

4

] 𝐹1 ← 𝐹1 +2

3𝐹2 [

1 05

8

0 1 −9

16

|

3

2

−1

4

]

𝑥 +5

8𝑧 =

3

2⇒ 𝑥 =

3

2−

5

8𝑧

𝑦 −9

16𝑧 = −

1

4⇒ 𝑦 =

9

16𝑧 −

1

4𝑧 = 𝑡

𝒙 =𝟑

𝟐−

𝟓

𝟖𝒕

𝒚 =𝟗

𝟏𝟔𝒕 −

𝟏

𝟒𝒛 = 𝒕

∴ 𝑬𝒍 𝒔𝒊𝒔𝒕𝒆𝒎𝒂 𝒕𝒊𝒆𝒏𝒆 𝒊𝒏𝒇𝒊𝒏𝒊𝒕𝒂𝒔 𝒔𝒐𝒍𝒖𝒄𝒊𝒐𝒏𝒆𝒔

3. Obtener λ para que el sistema de ecuaciones tenga: a) Solución única b) Infinitas soluciones c) No tenga solución

𝟐𝒙 + 𝒚 = 𝟔𝒙 + 𝛌𝐲 = 𝟒

Page 82: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

82

[2 11 λ

|64] 𝐹1 ←

𝐹1

2 [1

1

21 λ

|34] 𝐹2 ← 𝐹2 − 𝐹1 [

11

2

0 λ −1

2

|31] 𝐹2 ←

𝐹2

λ −12

[11

20 1

|32

2λ − 1

]𝐹1

← 𝐹1 −1

2𝐹2

[ 1 00 1

|3 −

2

2(λ − 1)2

2λ − 1 ] ⇒ 2λ − 1 ≠ 0 ⇒ λ ≠

1

2

𝑆𝑖 λ =1

2 ⇒ 𝑛𝑜 𝑒𝑥𝑖𝑠𝑡𝑒 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛

𝑆𝑖 λ ≠1

2 ⇒ 𝑒𝑥𝑖𝑠𝑡𝑒 ú𝑛𝑖𝑐𝑎 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛

𝑁𝑜 𝑒𝑥𝑖𝑠𝑡𝑒 𝑖𝑛𝑓𝑖𝑛𝑖𝑡𝑎𝑠 𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛𝑒𝑠

4. Obtener λ para que el sistema de ecuaciones tenga: d) Solución única e) Infinitas soluciones f) No tenga solución

𝟐𝒙 + 𝛌𝐲 = 𝟏𝛌𝐱 + 𝟐𝐲 = 𝟏

[2 λλ 2

|11] 𝐹1 ←

𝐹1

2[1

λ

2λ 2

|1

21

] 𝐹2 ← 𝐹2 − λ𝐹1 [1

λ

2

04 − λ2

2

|

1

22 − λ

2

] 𝐹2 ← 𝐹2 (2

4 − λ2)

[1λ

20 1

|

1

21

2 + λ

] 𝐹1 ← 𝐹1 −λ

2𝐹2 [

1 00 1

|

1

2 + λ1

2 + λ

]

⇒ 4 − λ2 ≠ 0 ⇒ 4 ≠ λ2 ⇒ √λ2 ≠ √4 ⇒ λ ≠ 2

|𝒙| = 𝟐 i. 𝑆𝑖 λ ≥ 0 ⇒ |λ| = λ ⇒ |λ| = 2 ⇒ λ = 2

ii. 𝑆𝑖 λ < 0 ⇒ |λ| = −λ ⇒ |λ| = 2 ⇒ λ = −2

𝑆𝑖 λ = −2 ⇒ 𝑛𝑜 𝑒𝑥𝑖𝑠𝑡𝑒 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛

[1 00 0

| 1 2⁄2

] ⇒ 0 ≠ 2

𝑆𝑖 λ ≠ ±2 ⇒ 𝑒𝑥𝑖𝑠𝑡𝑒 ú𝑛𝑖𝑐𝑎 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛

𝑆𝑖 λ = 2 ⇒ 𝑒𝑥𝑖𝑠𝑡𝑒 𝑖𝑛𝑓𝑖𝑛𝑖𝑡𝑎𝑠 𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛𝑒𝑠

[1 10 0

|1 2⁄0

]

Algoritmo del método de Gauss-Jordan

Page 83: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

83

function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) mensaje=str2double(inputdlg('Usted va ingresar en la ultima columna los valores de la mtriz B, si esta de acuerdo ingrese 1 caso contrario 0')); if mensaje==1 n=str2double(inputdlg('Ingrese el orden n de la matriz A')); %Ingresamos la matriz ampliada con los coeficientes en la ultima columna for i=1:n for j=1:n+1 etiqueta=['ingrese la matriz A(' num2str(i) ',' num2str(j) '):']; A(i,j)=str2double(inputdlg(etiqueta)); end end %creamos una nueva variable igualada a la matriz ampliada para trabajarla AM=A; %Resolvemos la matriz ampliada mediante eliminacion gaussiana y pivoteo %para la triangular inferior for k=1:n AM(k,k:n+1)=AM(k,k:n+1)/AM(k,k); %dejando a AM(1,1)=1 for i=k+1:n pivote=AM(i,k)/AM(k,k); %calculo del pivote AM(i,k:n+1)=AM(i,k:n+1)-pivote*AM(k,k:n+1);%aplicando pivote a las filas end end %para la trinagular superior for k=1:n for i=k+1:n pivote=AM(k,i)/AM(i,i); AM(k,i:n+1)=AM(k,i:n+1)-pivote*AM(i,i:n+1); end end %separamos las saoluciones tomando la ultima comulna de AM for i=1:n X(i)=AM(i,n+1); end %enviamos a imprimir set(handles.uitable1,'Data',AM); set(handles.uitable2,'Data',A); set(handles.uitable3,'Data',X); end

Page 84: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

84

Figura 3.4:Resultado Del Programa

DESCOMPOSICIÓN L.U- FACTORIZACIÓN TRIANGULAR

𝑈 = [

𝑈11 𝑈12 𝑈13

0 𝑈22 𝑈23

0 0 𝑈33

] 𝐿 = [

𝐿11 0 0𝐿21 𝐿22 0𝐿31 𝐿32 𝐿33

]

𝑨𝒙 = 𝒃

𝑳𝑼𝒙 = 𝒃 𝑨 = 𝑳𝑼

𝑳𝒚 = 𝒃 𝑼𝒙 = 𝒚

𝐿𝑈𝑥 = 𝑏 𝐿𝑦 = 𝑏 𝑦 = 𝑈𝑥

𝐿𝑦 = 𝑏 ⇒ [𝐿 ⋮ 𝑏] ⇒ 𝑦 (2) 𝑈𝑥 = 𝑦 ⇒ [𝑈 ⋮ 𝑦] ⇒ 𝑥 (1)

(𝟐) 𝒆𝒏 (𝟏) 𝑈𝑥 = 𝑦

[𝑈 ⋮ 𝑦] ⇒ 𝑥 Algoritmo código método LU function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) mensaje=str2double(inputdlg('Usted va ingresar en la ultima columna los valores de la mtriz B, si esta de acuerdo ingrese 1 caso contrario 0')); if mensaje==1; n=str2double(inputdlg('Ingrese el orden n de la matriz A')); for i=1:n for j=1:n+1 etiqueta=['ingrese la matriz A(' num2str(i) ',' num2str(j) '):']; A(i,j)=str2double(inputdlg(etiqueta));

Page 85: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

85

end end for i=1:n B(i)=A(i,n+1); end U=zeros(n);%triangular superior L=zeros(n);%triangular inferior for j=1:n L(j,j)=1; end for j=1:n U(1,j)=A(1,j); end for i=2:n for j=1:n for k=1:i-1 s1=0; if k==1 s1=0; else for p=1:k-1 s1=s1+L(i,p)*U(p,k); end end L(i,k)=(A(i,k)-s1)/U(k,k); end for k=i:n s2=0; for p=1:i-1 s2=s2+L(i,p)*U(p,k); end U(i,k)=A(i,k)-s2; end end end Laux=L; for i=1:n Laux(i,n+1)=B(i); end for i=1:n Sumatoria=0; for p=1:i-1 Sumatoria=Sumatoria+Laux(i,p)*z(p); end z(i)=(Laux(i,n+1)-Sumatoria)/Laux(i,i); end Uaux=U; for i=1:n Uaux(i,n+1)=z(i); end

Page 86: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

86

for i=n:-1:1 sumat=0; for j=i+1:n sumat=sumat+Uaux(i,j)*x(j); end x(i)=(Uaux(i,n+1)-sumat)/Uaux(i,i); end set(handles.uitable1,'Data',A); set(handles.uitable2,'Data',L); set(handles.uitable3,'Data',U); set(handles.uitable4,'Data',x); end

MÉTODO DOOLITTLE`S

𝑨𝒙 = 𝒃

Page 87: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

87

𝑨 = [𝟖 −𝟔 𝟐

−𝟒 𝟏𝟏 −𝟕𝟒 −𝟕 𝟔

] 𝒃 = [𝟐𝟖

−𝟒𝟎𝟑𝟑

]

𝑨 = [𝟖 −𝟔 𝟐

−𝟒 𝟏𝟏 −𝟕𝟒 −𝟕 𝟔

] = [𝐿11 0 0𝐿21 𝐿22 0𝐿31 𝐿32 𝐿33

] [

𝑈11 𝑈12 𝑈13

0 𝑈22 𝑈23

0 0 𝑈33

]

𝑺𝒆 𝒔𝒂𝒃𝒆 𝒒𝒖𝒆 𝑳𝒊𝒊 = 𝟏

𝐿11𝑈11 = 8 ⇒ 𝑼𝟏𝟏 = 𝟖

𝐿11𝑈12 = −6 ⇒ 𝑼𝟏𝟐 = −𝟔

𝐿11𝑈13 = 2 ⇒ 𝑼𝟏𝟑 = 𝟐

𝐿21𝑈11 = −4 ⇒ 𝑳𝟐𝟏 = −𝟏

𝟐

𝐿21𝑈12+𝐿22𝑈22 = 11 ⇒ 𝑼𝟐𝟐 = 𝟖

𝐿21𝑈13+𝐿22𝑈23 = −7 ⇒ 𝑼𝟐𝟑 = −𝟔

𝐿31𝑈11 = 4 ⇒ 𝑳𝟑𝟏 =𝟏

𝟐

𝐿31𝑈12+𝐿32𝑈22 = −7 ⇒ 𝑳𝟑𝟐 = −𝟏

𝟐

𝐿31𝑈13+𝐿32𝑈23 + 𝐿33𝑈33 = 6 ⇒ 𝑼𝟑𝟑 = 𝟐

[

1 0 0

−1

21 0

1

2−

1

21]

[8 −6 20 8 −60 0 2

]

𝑨𝒙 = 𝒃 𝑳𝑼𝒙 = 𝒃 𝑼𝒙 = 𝒚 (𝟐) 𝑳𝒚 = 𝒃 (𝟏) Resolviendo (1)

[

1 0 0

−1

21 0

1

2−

1

21

||

28−406

]

𝒚𝟏 = 𝟐𝟖

−1

2𝑦1 + 𝑦2 = −40 ⇒ −14 + 𝑦2 = −40 ⇒

𝒚𝟐 = −𝟐𝟔

1

2𝑦1 −

1

2𝑦2 + 𝑦3 = 33 ⇒ 14 + 13 + 𝑦3 = 33 ⇒

𝒚𝟑 = 𝟔

Resolviendo (2)

Page 88: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

88

[8 −6 20 8 −60 0 2

|28

−406

]

2𝑥3 = 6 ⇒ 𝒙𝟑 = 𝟑

8𝑥2 − 6𝑥3 = −26 ⇒ 8𝑥2 − 6(3) = −26 ⇒𝒙𝟐 = −𝟏

8𝑥1 − 6𝑥2 + 2𝑥3 = 28 ⇒ 8𝑥1 = 6(−1) −2(3) + 28 ⇒ 𝒙𝟏 = 𝟐

𝑨𝒙 = 𝒃

[𝟖 −𝟔 𝟐

−𝟒 𝟏𝟏 −𝟕𝟒 −𝟕 𝟔

] [

𝒙𝟏

𝒙𝟐

𝒙𝟑

] = [𝟐𝟖

−𝟒𝟎𝟑𝟑

]

𝟖𝒙𝟏 − 𝟔𝒙𝟐 + 𝟐𝒙𝟑 = 𝟐𝟖 ⇒ 𝟖(𝟐) − 𝟔(−𝟏) + 𝟐(𝟑) = 𝟐𝟖 ⇒ 𝟐𝟖 = 𝟐𝟖

Ejercicios Propuestos Método de la Matriz inversa

Calcule las siguientes matrices por el método de la matriz inversa.

1) Calcular por el método de Gauss la matriz inversa de:

2) Calcular por el método de Gauss la matriz inversa de:

3) Hallar por determinantes la matriz inversa de:

4) ¿Para qué valores de x la matriz no admite matriz inversa?

5) ¿Para qué valores de x la matriz no admite matriz inversa?

Page 89: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

89

Método de Gauss

Resuelva las siguientes ecuaciones por el método de Gauss

1)

2)

3)

4)

5)

Método De Sustitución

1) 2)

3)

4)

5)

Página web: http://www.vitutor.com/algebra/sistemas%20I/g_e.html

Page 91: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

91

CAPITULO 4: AJUSTE DE CURVAS

4.1 Ajuste de Curvas

Introducción.

El ajuste de curvas consiste en encontrar una curva que contenga una serie de puntos y

que posiblemente cumpla una serie de restricciones adicionales (cuando se permite una

aproximación de la curva que describa al conjunto de datos por analizar).

Ejemplo 1:

𝑦 = 𝛽0 + 𝛽1𝑥 y = 5 + 3x ; x = 7 y = 5 + 3 ( 7 ) y = 26.

1) Desconocidos 𝜷𝟎 𝒚 𝜷𝟏

𝑦 = 𝛽0 + 𝛽1𝑥 + 2𝑥2

Se ajusta a una parábola recta

Page 92: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

92

2) El modelo de ajuste es aquel que:

𝑆𝑒 𝑑𝑒𝑏𝑒 𝑀𝑖𝑛 ∑ 𝑒𝑖2

𝑛=1

𝑖=1

𝑠𝑢𝑗𝑒𝑡𝑜 𝑎 𝑙𝑎𝑠 𝑟𝑒𝑠𝑡𝑟𝑖𝑐𝑐𝑖𝑜𝑛𝑒𝑠 ∶

�̂�𝒐 , 𝜷𝟏

Page 93: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

93

3) El modelo de ajuste indica

𝑦 = 𝛽0 + 𝛽1𝑥

𝒙𝑥1𝑥2

.𝑥𝑛

𝒚 𝑦1

𝑦2

.𝑦𝑛

Entonces,

�̂� = �̂�0 + �̂�1𝑥 �̂�0

�̂�1

𝑑𝑜𝑛𝑑𝑒

𝐸(�̂�0) = 𝛽0

𝐸(�̂�1) = 𝛽1

EL METODO DE LOS MINIMOS CUADRADOS

1) 𝑀𝑖𝑛 ∑ 𝒆𝒊𝟐, 𝑆𝑢𝑗𝑒𝑡𝑜 𝑎 𝑙𝑎𝑠 𝑟𝑒𝑠𝑡𝑟𝑖𝑐𝑐𝑖𝑜𝑛𝑒𝑠 𝛽0 , 𝛽1

𝒏=𝟏

𝒊=𝟏

Sea:

𝑦�̂� = 𝑦�̂� + 𝑒𝑖

=> 𝑒𝑖 = 𝑦𝑖 − 𝑦�̂�

𝑒𝑖 = 𝑦𝑖 − (�̂�0 + �̂�1𝑥𝑖)2

∑𝑒𝑖2 = ∑(𝑦𝑖 − �̂�0 + �̂�1𝑥𝑖)

2

𝑛

𝑖=1

𝑛

𝑖=1

= ∑[𝑦𝑖2 − 2𝑦𝑖( 𝛽0̂ + 𝛽1̂𝑥𝑖) + (𝛽0̂ + 𝛽1̂𝑥𝑖)

2]

= ∑[𝑦𝑖2 − 2𝑦𝑖𝛽0̂ − 2𝑦𝑖𝛽1̂𝑥𝑖 + 𝛽0̂

2+ 2𝛽0̂𝛽1̂𝑥𝑖 + 𝛽1̂𝑥𝑖

2

] 𝝏 𝑺𝑪𝑬

𝝏𝜷𝒐, 𝜷�̂�̂

= 𝟎

Monotonía.-intervalos donde la función es creciente y decreciente (𝛿 > 0 ↑; 𝛿 < 0 ↓)

Segunda derivada es para sacar los puntos de inflexión.

Máximos.- cuando la segunda derivada evaluada en el punto es negativo

Page 94: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

94

Mínimos.- cuando la segunda derivada evaluada en el punto es positiva

Ejemplo 2: Realice el siguiente ajuste de curvas

El gerente de una tienda de televisores observa las siguientes ventas en 10 días diferentes,

donde:

a) Y=Número de televisores vendidos.

b) X= Representantes de ventas

Y 3 6 10 5 10 12 5 10 10 8

X 1 1 1 2 2 2 3 3 3 2

Interpretación 1

Interpretación:

La interpretación para generar un modelo de ajuste de los datos de la tabla anterior, el

técnico deberá definir inicialmente que variable lo va a tomar como independiente o

dependiente para el caso que estamos analizando, a los vendedores se los toma como

variable independiente y a los televisores vendidos como variable dependiente.

Televisores vendidos= f(vendedores)

Asumiendo que una posible ecuación resultante sea la siguiente, demos la respectiva

interpretación

𝒕𝒆𝒍𝒆𝒗𝒊𝒔𝒐𝒓𝒆𝒔 𝒗𝒆𝒏𝒅𝒊𝒅𝒐𝒔 = 𝒇(𝒗𝒆𝒏𝒅𝒆𝒅𝒐𝒓𝒆𝒔)

𝐲 = 𝟓. 𝟗 + 𝟏. 𝟓𝐱

Se interpreta que por cada vendedor que se aumente, las ventas aumentaran en 1.5

unidades.

𝒚 = 𝟓. 𝟗 + 𝒙

Por cada vendedor que se aumente las ventas aumentaran en una unidad.

Verificación

𝐲 = 𝟓. 𝟗 + 𝟏. 𝟓𝐱 Si x = 2 ⇒ y = 8.9 Si x = 3 ⇒ y = 10.4

Page 95: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

95

Por lo tanto la diferencia es 10.4 – 8.9=1.5, lo cual comprueba que por el aumento de un

vendedor las ventas aumentan en 1.5 artículos.

Para comprobar si el modelo es adecuado o no, se debería calcular el coeficiente de

determinación 𝐑𝟐.

El cual nos indica que cantidad de la variabilidad del modelo está justificada, para el caso

R2 = 0.076 ⇒ R2 = 7.6%, lo cual nos indica que es un porcentaje muy bajo de la

justificación de su variabilidad por ende es un modelo no adecuado.

Como solo el 7.6% de la variabilidad está justificado, no se considera buen modelo.

Un modelo adecuado, para ser considerado en el análisis debería tener al menos un 70%

del coeficiente de variabilidad (𝐑𝟐), el valor anterior se deduce de la experiencia en la

elaboración de diferentes modelos.

Verificación

𝒚 = 𝟓. 𝟗 + 𝒙

𝑆𝑖 𝑥 = 2 ⇒ 𝑦 = 7.9

𝑆𝑖 𝑥 = 3 ⇒ 𝑦 = 8.9 8.9 − 7.9 = 1

Para cada aumento de vendedores las ventas aumentaran en 1, es decir, que si disminuyo

vendedores, las ventas también disminuirán en unidad, esto es de acuerdo a la función

encontrada.

𝑹𝟐 = 𝒄𝒐𝒆𝒇𝒊𝒄𝒊𝒆𝒏𝒕𝒆 𝒅𝒆 𝒅𝒆𝒕𝒆𝒓𝒎𝒊𝒏𝒂𝒄𝒊ó𝒏

El 𝑹𝟐 indica cuan bueno es el modelo lineal.

𝑅2 = 0.076 ⇒ 𝑅2 = 7.6%

Indica el porcentaje de la variabilidad que está justificado en el modelo lineal.

Page 96: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

96

Interpretación 2

Como solo el 7.6% de la variabilidad está justificado, no se considera buen modelo. Un buen modelo es el que está entre el 70%.

Cálculos en Excel

x y xy x^2

1 3 3 1

1 6 6 1

1 10 10 1

2 5 10 4

2 10 20 4

2 12 24 4

3 5 15 9

3 10 30 9

3 10 30 9

2 8 16 4

Suma 20 79 164 46

Promedio 2 7,9

B1= 1

B0= 5,9

NOTA: El valor de 𝛽1 es el acompañante de 𝑥 y el valor de 𝛽0 es la constante.

y = x + 5,9

R² = 0,076

0

2

4

6

8

10

12

14

0 1 2 3 4

Tel

evis

ore

s

Vendedores

Vendedores Vs televisores

Page 97: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

97

4.2 Supuestos o Hipótesis del Modelo de Regresión Lineal

𝐄(𝐞𝐢) = 𝟎, donde 𝐞𝐢 = 𝐲𝐢 − �̂�𝐢; ∀𝐢 donde 𝐲𝐢 = �̂�𝐢 + 𝐞𝐢

Figura 4.1 Representación Gráfica

La esperanza matemática de los errores se esperara que sea 0

𝐕𝐚𝐫(𝐞𝐢) = 𝐄(𝐞𝐢 − 𝐄(𝐞𝐢))𝟐 = 𝛔𝟐; ∀𝐢

La varianza de los errores es constante.

𝐂𝐨𝐯(𝐞𝐢, 𝐞𝐣) = 𝐄(𝐞𝐢 − 𝐄(𝐞𝐢)) (𝐞𝐣 − 𝐄(𝐞𝐣)) = 𝟎

Por lo tanto:

𝑉𝑎𝑟(𝑥) =1

𝑛 − 1 (𝑥 − x̅)2

4.2.1 Propiedades

Si SCxx = suma de los cuadrados de los xx

SCxx = ∑(xi − x̅)2, demuestre que SCxx = ∑xi2 − nx̅2

∑(xi2 − 2xix̅ + x̅2) = ∑ xi

2 − 2∑xix̅ + ∑x̅2

Page 98: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

98

= ∑xi2 − 2x̅nx̅ + nx̅2

= ∑xi2 − 2nx̅2 + nx̅2

= ∑𝐱𝐢𝟐 − 𝐧�̅�𝟐

Si SCyy =suma de los cuadrados de los yy, demuestre que es igual:

∑(yi2 − 2yiy̅ + y̅2) = ∑ yi

2 − 2 ∑yiy̅ + ∑y̅2

= ∑yi2 − 2y̅ny̅ + ny̅2

= ∑yi2 − 2ny̅2 + ny̅2

𝐒𝐂𝐲𝐲 = ∑𝐲𝐢𝟐 − 𝐧�̅�𝟐

𝐒𝐂𝐱𝐲 = ∑(𝐱𝐢 − �̅�)(𝐲𝐢 − �̅�) = ∑𝐱𝐢𝐲𝐢 − 𝐧�̅��̅�

Demostración:

SCxy = ∑(xi − x̅)(yi − y̅)

= ∑(xiyi − x̅yi − y̅xi + x̅y̅)

= ∑xiyi − ∑x̅yi − ∑y̅xi + ∑x̅y̅

= ∑xiyi − ny̅x̅ − ny̅x̅ + nx̅y̅

= ∑𝐱𝐢𝐲𝐢 − 𝐧�̅��̅�

TEOREMA: Bajo los supuestos anteriores, demuestre:

𝛃�̂� = �̅� − 𝛃�̂��̅� ; 𝛃�̂� =𝐒𝐂𝐱𝐲

𝐒𝐂𝐱𝐱 ; 𝐲 = 𝛃�̂� + 𝛃�̂�𝐱

Ejemplo 2

∑𝑆𝐶𝐸 = 0

∑(𝑦𝑖 −𝑦𝑖 ̂)2 = 0

Modelo: Min(SCE) Sujeto a:

𝜕

𝜕𝛽�̂�

𝑆𝐶𝐸 = 0

𝜕

𝜕𝛽1̂

𝑆𝐶𝐸 = 0

Page 99: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

99

𝑆𝐶𝐸 = ∑(𝑦𝑖 − 𝑦𝑖 ̂)2 =

𝑛

𝑖=1

∑(𝑦𝑖 – (𝛽0̂ + 𝛽1̂𝑥𝑖))2

𝑛

𝑖=1

𝑆𝐶𝐸 = ∑[𝑦𝑖2 − 2𝑦𝑖( 𝛽0̂ + 𝛽1̂𝑥𝑖) + (𝛽0̂ + 𝛽1̂𝑥𝑖)

2]

𝑆𝐶𝐸 = ∑[𝑦𝑖2 − 2𝑦𝑖𝛽0̂ − 2𝑦𝑖𝛽1̂𝑥𝑖 + 𝛽0̂

2+ 2𝛽0̂𝛽1̂𝑥𝑖 + 𝛽1̂𝑥𝑖

2

]

𝑆𝐶𝐸 = ∑𝑦𝑖2 − 2∑𝑦𝑖𝛽0̂ − 2∑𝑦𝑖𝛽1̂𝑥𝑖 + ∑𝛽0̂

2+ 2∑𝛽0̂𝛽1̂𝑥𝑖 + ∑𝛽1̂𝑥𝑖

2

] Primera restricción del modelo

𝝏

𝝏𝜷�̂�

𝑺𝑪𝑬 = 𝟎

𝜕

𝜕𝛽�̂�

∑𝒚𝒊𝟐 =

𝜕

𝜕𝛽�̂�

(𝑦12 + 𝑦2

2 + ⋯+ 𝑦𝑛2)

𝜕

𝜕𝛽�̂�

+𝜕𝑦1

2

𝜕𝛽�̂�

+ ⋯ +𝜕𝑦𝑛

2

𝜕𝛽�̂�

= 0

𝜕

𝜕𝛽�̂�

∑𝒚𝒊𝜷�̂� =𝜕

𝜕𝛽�̂�

(𝑦1𝛽�̂� + 𝑦2𝛽�̂� + ⋯+ 𝑦𝑛𝛽�̂�)

= 𝑦1 + 𝑦2 + ⋯+ 𝑦𝑛

= ∑𝑦𝑖

𝜕

𝜕𝛽�̂�

∑𝜷�̂�𝟐

=𝜕

𝜕𝛽�̂�

(𝛽�̂�2+ 𝛽�̂�

2+ ⋯+ 𝛽�̂�

2)

= 2𝛽𝑜1̂ + 2𝛽𝑜2̂ + ⋯+ 2𝛽𝑜�̂�

𝜕

𝜕𝛽�̂�

∑𝜷�̂�𝜷�̂�𝒙𝒊 =𝜕

𝜕𝛽�̂�

(𝛽�̂�𝛽�̂�𝑥1 + 𝛽�̂�𝛽�̂�𝑥2 + ⋯+ 𝛽�̂�𝛽�̂�𝑥𝑛)

=𝛽�̂�𝑥1 + 𝛽�̂�𝑥2 + ⋯+ 𝛽�̂�𝑥𝑛

= 𝛽�̂�(𝑥1 + ⋯+ 𝑥𝑛) =𝛽�̂� ∑𝑥𝑖

⇒ 𝑙𝑎 𝑝𝑟𝑖𝑚𝑒𝑟𝑎 𝑒𝑐𝑢𝑎𝑐𝑖ó𝑛 𝑛𝑜𝑟𝑚𝑎𝑙 𝑒𝑠: −2∑𝑦𝑖+2n𝛽�̂�+2𝛽1̂ ∑𝑥𝑖 = 0

-∑𝑦𝑖 + 𝑛𝛽�̂� + 𝛽1̂ ∑𝑥𝑖 = 0 (1) 𝜕

𝜕𝛽�̂�

𝑆𝐶𝐸 = 0

−2∑𝑥 𝑦𝑖 + 2𝛽0̂ ∑𝑥𝑖 +2𝛽1̂ ∑𝑥𝑖2=0

−∑𝑥 𝑦𝑖 + 𝛽0̂ ∑𝑥𝑖 +𝛽1̂ ∑𝑥𝑖2=0 (2)

Page 100: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

100

Ecuaciones Normales ⇒ {−∑𝑦𝑖 + 𝑛𝛽�̂� + 𝛽1̂ ∑𝑥𝑖 = 0

−∑𝑥 𝑦𝑖 + 𝛽0̂ ∑𝑥𝑖 +𝛽1̂ ∑𝑥𝑖2

= 0

Ejercicio.-

Dados los siguientes datos, encuentre la ecuación de regresión lineal ajuste

Encontrar 𝛽0 𝑦 𝛽1

�̅�=(1+3+5+6)

4=

15

4

�̅�=(1+3.5+6+7)

4=

17.5

4

𝛽1 =

1438594

= 1.212

𝛽0 =175

4− 1.212 ∗

15

4= −0.17

𝑦 = −0.17 + 1.212𝑥

Ejercicio 2

x y

1 1

3 3,5

5 6

6 7

𝑥𝑖 𝑦𝑖 𝑥𝑖 − �̅� 𝑦𝑖 − �̅�

(𝑥𝑖 − �̅� )( 𝑦𝑖 − �̅� ) (𝑥𝑖 − �̅� )^2

1 1 -2,75 -3,375 297/32 121/16

3 3,5 -0,75 -0,875 21/32 9/16

5 6 1.25 1.44 65/32 25/16

6 7 1.8 2.625 189/32 81/16

sumatoria 15 17,5 0 0 143/8 59/4

Page 101: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

101

y = 0,1436x - 7,4895R² = 0,6903

0

1

2

3

4

5

6

7

8

0 20 40 60 80 100 120

Título del gráfico

En un estudio para describir la relación entre la expansión al ruido y la hipertensión se realizan las siguientes mediciones.

x y x-´x y-ý (x-´x)(y-

ý) (x-´x)^2 ý (yi-ýi)^2 (yi-ý)^2 (ýi-´yi)^2

60 1

-21,4 -3,2 68,48 457,96 1,1 0,01 10,24 9,61

65 1

-16,4 -3,2 52,48 268,96 1,815 0,664225 10,24 5,688225

70 5

-11,4 0,8 -9,12 129,96 2,53 6,1009 0,64 2,7889

80 4 -1,4 -0,2 0,28 1,96 3,96 0,0016 0,04 0,0576

80 2 -1,4 -2,2 3,08 1,96 3,96 3,8416 4,84 0,0576

85 5 3,6 0,8 2,88 12,96 4,675 0,105625 0,64 0,225625

90 6 8,6 1,8 15,48 73,96 5,39 0,3721 3,24 1,4161

90 4 8,6 -0,2 -1,72 73,96 5,39 1,9321 0,04 1,4161

94 7 12,6 2,8 35,28 158,76 5,962 1,077444 7,84 3,104644

100 7 18,6 2,8 52,08 345,96 6,82 0,0324 7,84 6,8644

Prómedio 81,4 4,2 219,2 1526,4 14,137994 45,6 31,229194

�̅� = 81.4 ∑(𝑦1−𝑦1̅̅ ̅)2=14.134

�̅� = 4.2 ∑(�̌�1−𝑦1̅̅ ̅)2=31.229

𝛽1 =219.2

152.68= 0.143

a.- Interpretación

Hipertensión=f(ruido)

𝑦 = −7.4402 + 0.143𝑥

b.- Si x=65

𝑦 = −7.4402 + 0.143(65)

𝑦 = 1.815

Si x=66

𝑦 = −7.4402 + 0.143(66)

𝑦 = 1.958

Por cada nivel que aumenta en el ruido, la hipertensión aumenta a 0.143 unidades

Page 102: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

102

4.3 Coeficiente de Correlación. El coeficiente de correlación de Pearson (r), mide la relación lineal existente entre dos

variables.

El coeficiente de correlación es un valor que se encuentra en el intervalo [-1 , 1]; teniendo

en cuenta que si r se acerca a 1, se dice que existe una relación lineal fuerte positiva, es

decir: si la variable x toma valores grandes la variable y también toma variables grandes y

si la variable x toma valores pequeños, la variable y también toma valores pequeños.

Si el coeficiente de correlación toma valores alrededor de cero, el coeficiente de Person

indica que no existe una relación lineal entre dichas variables.

Además si el coeficiente de PEARSON toma valores cercanos a -1, indica que existe una

relación lineal fuerte negativa, es decir: si la variable x aumenta la variable y disminuye y si

la variable x disminuye la variable y aumenta.

A continuación analicemos las siguientes expresiones:

La covarianza de dos variables se define como Sxy; y la suma de los cuadrados de los xy

como SCxy, cuya relación se la define de la forma siguiente:

𝑆𝑥𝑦 =1

𝑛 − 1∑(𝑥𝑖 − �̅�)(𝑦𝑖 − �̅�)

(𝑛 − 1)𝑆𝑥𝑦 = ∑(𝑥𝑖 − �̅�)(𝑦𝑖 − �̅�)

(𝑛−1) 𝑆𝑥𝑦 = 𝑆𝐶𝑥𝑦

𝑆𝑥𝑦 =𝑆𝐶𝑥𝑦

𝑛 − 1

Además conocemos la varianza Sx2 y su desviación estándar Sx

𝑆𝑥 = √𝑆𝑥2 = √

𝟏

𝒏 − 𝟏∑(𝑥𝑖 − �̅�)2

= √𝟏

𝒏−𝟏∑(𝑥𝑖 − �̅�)(𝑥𝑖 − �̅�) =√

𝟏

𝒏−𝟏𝑆𝐶𝑥𝑥 ;

Por lo tanto la desviación estándar de la variable y es:

𝑆𝑦 = √1

𝑛 − 1𝑆𝐶𝑦𝑦

Por lo tanto definimos al coeficiente de correlación lineal mediante la siguiente expresión:

Page 103: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

103

⇒ 𝑟 =

𝑆𝐶𝑥𝑦𝑛 − 1

√ 𝟏𝒏 − 𝟏𝑆𝐶𝑥𝑥√ 𝟏

𝒏 − 𝟏𝑆𝐶𝑦𝑦

=

𝑆𝐶𝑥𝑦𝑛 − 1

√(𝟏

𝒏 − 𝟏)𝟐

𝑆𝐶𝑥𝑥. 𝑆𝐶𝑦𝑦

=𝑆𝐶𝑥𝑦

𝑛−1𝟏

𝒏−𝟏√𝑆𝐶𝑥𝑥.𝑆𝐶𝑦𝑦

=(𝑛 − 1)𝑆𝐶𝑥𝑦

(𝑛 − 1)√𝑆𝐶𝑥𝑥. 𝑆𝐶𝑦𝑦

=𝑆𝐶𝑥𝑦

√𝑆𝐶𝑥𝑥. 𝑆𝐶𝑦𝑦

El coeficiente de determinación, determina si el modelo de regresión lineal es bueno, ya

que mide la cantidad de variación del modelo justificado.

Este coeficiente toma valores mayores iguales a 0 y menores iguales a 1, por lo tanto si c

acerca a 1 el modelo lineal es bueno, ya que toda la variación estaría justificada.

Ejemplo 3: Encuentre la ecuación lineal que ajusta los puntos y su coeficiente

de correlación

En un estudio para determinar la relación entre el peso de los automóviles y su consumo de

combustible se escogió una muestra de 10 carros, con los siguientes resultados:

Consumo(litro/100km)=y 8 16 6 7 7 9 11 12 18 20

Peso(kg)=x 739 1187 655 729 888 797 963 802 1551 1650

Page 104: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

104

Figura 4.6: Cuadro De Datos

Figura 4.7: Grafico Del Ejercicio

Respuesta: esto nos indica que por cada kg que aumente de peso el carro, el consumo de combustible es 0,0134 por cada 100km. (r) nos indica si existe relación lineal entre el peso del carro y el consumo de combustible. Algoritmo de Ajuste Curvas function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) n=str2double(inputdlg('Ingrese la cantidad de datos para el Ajuste Lineal'));

Page 105: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

105

for i=1:2 for j=1:n etiqueta=['Dato(' num2str(i) ';' num2str(j) ')']; dato(j,i)=str2double(inputdlg(etiqueta)); end end %calculo de promedios sumx=0; for i=1:n sumx=sumx+dato(i,1); end promx=(sumx/n); sumy=0; for i=1:n sumy=sumy+dato(i,2); end promy=(sumy/n); %suma de los xy sumpxy=0; for i=1:n sumpxy=sumpxy+(dato(i,1)-promx)*(dato(i,2)-promy); end sumpxx=0; for i=1:n sumpxx=sumpxx+(dato(i,1)-promx)*(dato(i,1)-promx); end sumpyy=0; for i=1:n sumpyy=sumpyy+(dato(i,2)-promy)*(dato(i,2)-promy); end %calculo de r r=sumpxy/sqrt(sumpxx*sumpyy); beta1= (sumpxy/sumpxx); beta0= promy-beta1*promx; %calculo de r^2 for i=1:n ytecho(i)=beta0+beta1*promx; end %condiciones if r>=0.7 etiqueta='Relacion Lineal Fuerte'; end if r<=0.7 & r>=0.5 etiqueta='Relacion Lineal debil'; end if r<0.5 & r>-0.5 etiqueta='no existe Relacion Lineal '; end if r<-0.7 & r>=-0.5 etiqueta='Relacion lineal d '; end

Page 106: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

106

if r<=-0.7 etiqueta='R.L.F. '; end set(handles.uitable1,'Data',dato); set(handles.text2,'String',etiqueta); set(handles.uitable2,'Data',[ beta1 beta0 r ]'); plot(dato(:,1),dato(:,2),'r*'); hold on; grid on; plot([-10 10],[0 0],'r'); plot([0 0],[-10 10],'r'); %Grafico d ela funcion syms x; funcion=beta0+beta1*x; f=inline(funcion); x=[-1:0.1:7]; [fx cx]=size(x); for i=1:cx y(i)=f(x(i)); end plot(x,y);

Figura 4.11: Ejecución Del Programa

4.4 Prueba de Hipótesis

Page 107: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

107

Con respecto al ajuste lineal la prueba que se va a tratar, es la de verificar si el coeficiente

de Pearson es cero o diferente de cero, en otras palabras lo que queremos averiguar es si

existe relación lineal entre variables, la prueba de hipótesis consta de 5 pasos:

Hipótesis nula (H0)

Hipótesis alternativa (H1)

Estadístico de prueba

Región de rechazo

Decisión.

Con respecto a la prueba de hipótesis de r, tenemos:

1 𝐻0: 𝑟 = 0 2 𝐻1: 𝑟 ≠ 0

3 𝑡𝑜𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜 = 𝑡0𝑏𝑠 =𝑟√𝑛−2

√𝑖−𝑟2=

0.9419√10−2

√1−(0.9419)2= 7,9313

Figura 4.12: Grafica De La Prueba De Hipótesis

Page 108: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

108

Ejemplo 4: realizar la prueba de hipótesis del siguiente ejercicio

Figura 4.13: Ejercicio Prueba De Hipótesis En Excel

Ejemplo 5

R2 = 0.85, indica que el 85% de la variación del modelo lineal está justificada y que solo un

15% no está justificado debido a la aleatoriedad del fenómeno.

SCyy=SCE+SCR

∑(𝑦𝑖 −

𝑛

𝑖=1

�̅�)2 = ∑(𝑦1 −

𝑛

𝑖=1

𝑦�̂�)2 + ∑(

𝑛

𝑖=1

𝑦�̂� − �̅�)2

Page 109: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

109

Figura 4.14: Representación Grafica

𝑅2 =𝑆𝐶𝑦𝑦 − 𝑆𝐶𝐸

𝑆𝐶𝑦𝑦

𝑅2 =𝑆𝐶𝐸

𝑆𝐶𝑦𝑦

4.5 Generalización de modelos lineales

4.5.1 Modelo Potencial

𝒚 = 𝜶𝒙𝜷

Dado un modelo no lineal mediante transformaciones pasar a modelo lineal

∎ Sea el modelo potencial

𝒚 = 𝜶𝒙𝜷

𝑙𝑛 𝑦 = 𝑙𝑛(𝛼𝑥𝛽)

𝑙𝑛 𝑦 = 𝑙𝑛 𝛼 + 𝑙𝑛 𝑥𝛽

𝑙𝑛 𝑦 = 𝑙𝑛 𝛼 + 𝛽 𝑙𝑛 𝑥 𝑦 = 𝛽𝑜 + 𝛽1𝑥

⇒ 𝑦 = 𝑙𝑛 𝑦 𝛽0 = 𝑙𝑛 𝛼

𝛽1 = 𝛽 𝑥 = 𝑙𝑛 𝑥 Ejercicios

𝒚 = 𝟏. 𝟓𝒙𝟐,𝟐º 𝑦 = 𝛼 + 𝛽 𝑙𝑛 𝑥

𝑦 = 𝛽𝑜 + 𝛽1𝑥 ⇒ 𝒚 = 𝒚 𝜷𝟎 = 𝜶 𝜷𝟏 = 𝜷

Page 110: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

110

𝒙 = 𝒍𝒏𝒙

𝒚 =𝜶

𝒙

𝑦𝑥 = 𝛼

𝑙𝑛 𝑦𝑥 = 𝑙𝑛 𝛼

𝑙𝑛 𝑦 + 𝑙𝑛 𝑥 = 𝑙𝑛 𝛼 𝑙𝑛 𝑦 = 𝑙𝑛 𝛼 − 𝑙𝑛 𝑥

𝑦 = 𝛽0 + 𝛽1𝑥

⇒ 𝒚 = 𝒍𝒏𝒚 𝜷𝟎 = 𝒍𝒏𝜶

𝜷𝟏 = −𝟏

𝒙 = 𝒍𝒏𝒙

Coeficiente de determinación (𝑹𝟐)

Determina el porcentaje de variación del modelo justificativo por la relación lineal y=𝛽0̂+𝛽1�̂�

y su valor se encuentra [0,1], tomando en cuenta que si se acerca a 1 será mejor.

Coeficiente de correlación(r)

Mide la correlación lineal existente entre la variable x e y es decir: corr(x,y)

Corr(x,y)=𝑐𝑜𝑟(𝑥,𝑦)

√𝑐𝑜𝑟𝑟(𝑥,𝑦)𝐶𝑜𝑟(𝑦,𝑦)

SUPUESTOS O HIPOTESIS DEL MODELO DE REGRESIÓN LINEAL

1. 𝑬(𝑼𝒊) = 𝟎, donde 𝑼𝒊 = 𝒚𝒊 − �̂�𝒊; ∀𝒊 donde 𝒚𝒊 = �̂�𝒊 + 𝑼𝒊

La esperanza matemática de los errores se esperara que sea 0

2. 𝑽𝒂𝒓(𝑼𝒊) = 𝑬(𝑼𝒊 − 𝑬(𝑼𝒊))𝟐 = 𝝈𝟐; ∀𝒊

La varianza de los errores es constante.

3. 𝑪𝒐𝒗(𝑼𝒊, 𝑼𝒋) = 𝑬(𝑼𝒊 − 𝑬(𝑼𝒊)) (𝑼𝒋 − 𝑬(𝑼𝒋)) = 𝟎

Es decir 𝑈𝑖 con 𝑈𝑗 deben ser independientes.

Page 111: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

111

PROPIEDADES

1) Si 𝑺𝒙𝒙 = suma de los cuadrados de los xx

𝑆𝑥𝑥 = ∑(𝑥𝑖 − �̅�)2, demuestre que 𝑆𝑥𝑥 = ∑𝑥𝑖2 − 𝑛�̅�2

∑(𝑥𝑖2 − 2𝑥𝑖�̅� + �̅�2) = ∑𝑥𝑖

2 − 2∑𝑥𝑖�̅� + ∑�̅�2

= ∑𝑥𝑖2 − 2�̅�𝑛�̅� + 𝑛�̅�2

= ∑𝑥𝑖2 − 2𝑛�̅�2 + 𝑛�̅�2

= ∑𝒙𝒊𝟐 − 𝒏�̅�𝟐

2) Si 𝑺𝒚𝒚 =suma de los cuadrados de los yy

𝑺𝒚𝒚 = ∑𝒚𝒊𝟐 − 𝒏�̅�𝟐

3) 𝑺𝒙𝒚 = ∑(𝒙𝒊 − �̅�)(𝒚𝒊 − �̅�) = ∑𝒙𝒊𝒚𝒊 − 𝒏�̅��̅�

𝑆𝑥𝑦 = ∑(𝑥𝑖 − �̅�)(𝑦𝑖 − �̅�)

= ∑(𝑥𝑖𝑦𝑖 − �̅�𝑦𝑖 − �̅�𝑥𝑖 + �̅��̅�)

= ∑𝑥𝑖𝑦𝑖 − ∑�̅�𝑦𝑖 − ∑�̅�𝑥𝑖 + ∑�̅��̅�

= ∑𝑥𝑖𝑦𝑖 − 𝑛�̅��̅� − 𝑛�̅��̅� + 𝑛�̅��̅�

= ∑𝒙𝒊𝒚𝒊 − 𝒏�̅��̅�

TEOREMA: Bajo los supuestos anteriores

𝜷�̂� = �̅� − 𝜷�̂��̅� 𝜷�̂� =𝑺𝒙𝒚

𝑺𝒙𝒙

EJERCICIO

Demuestre: 𝜷�̂� =𝑺𝒙𝒚

𝑺𝒙𝒙

Sabemos:

𝛽1̂ =∑𝑥𝑖𝑦𝑖−�̅� ∑𝑥𝑖

∑𝑥𝑖2−�̅�∑𝑥𝑖

𝑆𝑥𝑦 = ∑𝑥𝑖𝑦𝑖 − 𝑛�̅��̅�

𝛽1̂ =∑𝑥𝑖𝑦𝑖−�̅�𝑛�̅�

∑𝑥𝑖2−�̅� ∑𝑥𝑖

∑𝑥𝑖 = 𝑛�̅�

Page 112: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

112

𝛽1̂ =𝑆𝑥𝑦

∑𝑥𝑖2−�̅�𝑛�̅�

𝑆𝑥𝑥 = ∑𝑥𝑖2 − 𝑛�̅�2

𝛽1̂ =𝑆𝑥𝑦

∑𝑥𝑖2−�̅�2𝑛

𝜷�̂� =𝑺𝒙𝒚

𝑺𝒙𝒙

Programa de Regresión Lineal.

Ejecución del Programa de Regresión Lineal

Page 113: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

113

GENERALIZACIÓN DE MODELOS LINEALES MODELO POTENCIAL

𝒚 = 𝜶𝒙𝜷 Dado un modelo no lineal mediante transformaciones pasar a modelo lineal

∎ Sea el modelo potencial 𝒚 = 𝜶𝒙𝜷

ln 𝑦 = ln(𝛼𝑥𝛽)

ln 𝑦 = ln 𝛼 + ln 𝑥𝛽 ln 𝑦 = ln𝛼 + 𝛽 ln 𝑥

𝑦 = 𝛽𝑜 + 𝛽1𝑥

⇒ 𝑦 = ln 𝑦 𝛽0 = ln𝛼 𝛽1 = 𝛽 𝑥 = ln 𝑥 EJERCICIOS

𝒚 = 𝟏. 𝟓𝒙𝟐 𝑦 = 𝛼 + 𝛽 ln 𝑥 𝑦 = 𝛽𝑜 + 𝛽1𝑥 ⇒ 𝒚 = 𝒚 𝜷𝟎 = 𝜶

𝜷𝟏 = 𝜷 𝒙 = 𝐥𝐧 𝒙

𝒚 =𝜶

𝒙

𝑦𝑥 = 𝛼 ln 𝑦𝑥 = ln 𝛼 ln 𝑦 + ln 𝑥 = ln𝛼 ln 𝑦 = ln𝛼 − ln 𝑥

𝑦 = 𝛽0 + 𝛽1𝑥 ⇒ 𝒚 = 𝐥𝐧𝒚 𝜷𝟎 = 𝐥𝐧𝜶 𝜷𝟏 = −𝟏

𝒙 = 𝐥𝐧 𝒙

4.6 Regresión Múltiple En el capítulo anterior se desarrolló el ajuste lineal simple, es decir donde había una

variable dependiente junto a una variable independiente.

En el presente tema se tratará el caso de ajuste lineal donde hay una variable dependiente

y varias variables independientes, por ejemplo:

𝐼𝑛𝑔𝑟𝑒𝑠𝑜 𝑑𝑒𝑙 𝑑𝑜𝑐𝑒𝑛𝑡𝑒 = 𝑓(𝑎ñ𝑜𝑠 𝑑𝑒 𝑠𝑒𝑟𝑣𝑖𝑐𝑖𝑜, 𝑡í𝑡𝑢𝑙𝑜𝑠 𝑜𝑏𝑡𝑒𝑛𝑖𝑑𝑜𝑠, 𝑝𝑢𝑏𝑙𝑖𝑐𝑎𝑐𝑖𝑜𝑛𝑒𝑠 ℎ𝑒𝑐ℎ𝑎𝑠)

Page 114: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

114

La expresión anterior indica que el ingreso del docente (ID) es función de los años de

servicio(AS), de los títulos obtenidos (TO) y de las publicaciones hechas(PH), pudiéndose

tener la siguiente expresión lineal.

𝐼𝐷 = 𝑎 × 𝐴𝑆 + 𝑏 × 𝑇𝑂 + 𝑐 × 𝑃𝐻, en la expresión es necesario conocer las constantes a, b y

c las mismas que se obtendrán mediante el método de mínimos cuadrados como se

describe a continuación:

𝑦 = 𝑓(𝑥1, 𝑥2, 𝑥3, … , 𝑥𝑘)

𝑦 = 𝛽0̂ + 𝛽0̂𝑥1 + 𝛽0̂𝑥2+. . . +𝛽0̂𝑥𝑘

Para el caso d función real de variable vectorial:

𝑦1 = 𝛽0 + 𝛽1𝑥11 + 𝛽2𝑥12+. . . +𝛽𝑘𝑥1𝑘 + 휀1

𝑦2 = 𝛽0 + 𝛽1𝑥21 + 𝛽2𝑥22+. . . +𝛽𝑘𝑥2𝑘 + 휀2

𝑦𝑛 = 𝛽0 + 𝛽1𝑥𝑛1 + 𝛽2𝑥𝑛2+. . . +𝛽𝑘𝑥𝑛𝑘 + 휀𝑛

𝑦 = 𝑋𝛽 + 휀 (1)

𝑋 = 𝑥𝑖1, 𝑥𝑖2, 𝑥𝑖𝑛, … , 𝑥𝑖𝑘

𝑦𝑛×𝑥 = 𝑥𝑛𝑘(𝑘+1)𝛽(𝑘+1)×𝑛 + 휀𝑛×1

Ejemplo 6 Matricialmente la expresión (1) se puede representar de la siguiente manera:

(

𝑦1

𝑦2

𝑦3

) = (1 𝑥11 𝑥12

1 𝑥21 𝑥22

1 𝑥31 𝑥32

) × (

𝛽1

𝛽2

𝛽3

) + (

휀1

휀2

휀3

)

(

𝑦1

𝑦2

𝑦3

) = (

𝛽0 𝛽1𝑥11 𝛽2𝑥12

𝛽0 𝛽1𝑥21 𝛽2𝑥22

𝛽0 𝛽1𝑥31 𝛽2𝑥32

) + (

휀1

휀2

휀3

)

⇒ (

𝑦1

𝑦2

𝑦3

) = (

𝛽0 + 𝛽1𝑥11 + 𝛽2𝑥12 + 휀1

𝛽0 + 𝛽1𝑥21 + 𝛽2𝑥22 + 휀2

𝛽0 + 𝛽1𝑥31 + 𝛽2𝑥32 + 휀3

)

Programa Regresión Multilpe Código: function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

Page 115: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

115

m=3; n=str2double(inputdlg('Ingrese el numero de filas:')); for i=2:m for j=1:n etiqueta=['Ingrese el valor X(',num2str(j),',',num2str(i),')']; x(j,i)=str2double(inputdlg(etiqueta)); end end x(:,1)=1; for i=1:n etiqueta=['Ingrese el valor B(1,',num2str(i),')']; y(i,1)=str2double(inputdlg(etiqueta)); end total=(inv(x'*x)*(x'*y)); for i=1:n ys(i,1)=(total(1,1)*x(i,1))+(total(2,1)*x(i,2))+(total(3,1)*x(i,3)); end set(handles.uitable1,'Data',x); set(handles.uitable2,'Data',y); set(handles.uitable3,'Data',total); set(handles.text1,'String',ys); x=[x(:,2) x(:,3)]; plot3(x,y,ys,'*'); grid on; axis on; hold on; rotate3d on; plot3([min(x(:,1)) max(x(:,1))],[min(y) max(y)],[min(ys) max(ys)]);

Programa Ejecutado

Page 116: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

116

4.6.1 Derivación Matricial

Sea 𝑓 = 5𝑋1 + 2𝑋2 + 3𝑋3

𝑓(𝑋1, 𝑋2, 𝑋3) = 5𝑋1 + 2𝑋2 + 3𝑋3

𝜕𝑓

𝜕𝑥= (

523)

∴ 𝑠𝑖 𝑓 = 𝑎′𝑥 ⇒ 𝜕

𝜕𝑥 (𝑎′𝑥) = 𝑎

𝜕

𝜕𝑥 (𝑎′𝑥) = (

𝑋1

𝑋2

𝑋3

)

𝑎′𝑥 = 𝑎𝑥1 + 𝑎𝑥2 + 𝑎𝑥3

𝜕

𝜕𝑥 (𝑎′𝑥) = (

𝑎1

𝑎2

𝑎3

) = 𝑎

𝑓 = 𝑋′𝐴𝑋; 𝐴𝑛 𝑠𝑖𝑚é𝑡𝑟𝑖𝑐𝑎 𝑦 𝑐𝑢𝑎𝑑𝑟𝑎𝑑𝑎 𝜕

𝜕𝑥 (𝑋′𝐴𝑋) = 2𝐴𝑋

(𝑋1 𝑋2 𝑋3) = (

𝑎11 𝑎12 𝑎13

𝑎12 𝑎22 𝑎23

𝑎13 𝑎23 𝑎33

)(𝑋1

𝑋2

𝑋3

)

Page 117: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

117

(𝑎11𝑋1 + 𝑎12𝑋2 + 𝑎13𝑋3 + 𝑎12𝑋1 + 𝑎22𝑋2 + 𝑎23𝑋3) + 𝑎13𝑋1 + 𝑎23𝑋2 + 𝑎33𝑋3 = (𝑋1

𝑋2

𝑋3

)

𝑎11𝑋12 + 𝑎12𝑋2𝑋1 + 𝑎13𝑋3𝑋1 + 𝑎12𝑋1𝑋2 + 𝑎22𝑋2

2 + 𝑎23𝑋3𝑋2 + 𝑎13𝑋3𝑋1 + 𝑎23𝑋3𝑋2+𝑎33𝑋32

𝑑

𝑑𝑥1= 2𝑎11𝑋1 + 2𝑎12𝑋2 + 2𝑎13𝑋3

𝑑

𝑑𝑥2= 2𝑎12𝑋1 + 2𝑎22𝑋2 + 2𝑎23𝑋3

𝑑

𝑑𝑥3= 2𝑎33𝑋3 + 2𝑎13𝑋1 + 2𝑎23𝑋2

= (

𝑎11 𝑎12 𝑎13

𝑎12 𝑎22 𝑎23

𝑎13 𝑎23 𝑎33

)(𝑋1

𝑋2

𝑋3

) ∴ 𝑆𝑖 𝐴 𝑒𝑠 𝑠𝑠𝑖𝑚é𝑡𝑟𝑖𝑐𝑎 𝑑

𝑑𝑥(𝑋′𝐴𝑋) = 2𝐴𝑋

4.6.2 Método de los Mínimos Cuadrados para la Forma Matricial 𝑆𝐶𝐸 = 휀𝑡휀

𝑆𝐶𝐸 = (𝑌 − 𝑋𝛽)𝑡(𝑌 − 𝑋𝛽)

Demuestre que: 𝑆𝐶𝐸 = 𝑌𝑡𝑌 − 2𝛽𝑡𝑋𝑡𝑌 + 𝛽𝑡𝑋𝑡𝑋𝛽

𝑆𝐶𝐸 = (𝑌 − 𝑋𝛽)𝑡(𝑌 − 𝑋𝛽)

= (𝑌𝑡 + (−𝑋𝛽)𝑡)(𝑌 − 𝑋𝛽)

= (𝑌𝑡 − 𝛽𝑡𝑋𝑡)(𝑌 − 𝑋𝛽)

= 𝑌𝑡𝑌 − 𝑌𝑡𝑋𝛽 − 𝑋𝛽𝛽𝑡𝑋𝑡

∴ Se debería demostrar que:

𝑌𝑡𝑋𝛽 = 𝛽𝑡𝑋𝑡𝑌

𝐴 = 𝐴𝑡 (𝑠𝑜𝑛 𝑠𝑖𝑚é𝑡𝑟𝑖𝑐𝑎𝑠)

𝑆𝑒𝑎 𝐴 = 𝑌𝑡𝑋𝛽

𝐴𝑡 = (𝑌𝑡𝑋𝛽)𝑡

= 𝛽𝑡(𝑌𝑡𝑋)𝑡

= 𝛽𝑡(𝑋𝑡(𝑌𝑡)𝑡)

= 𝛽𝑡𝑋𝑡𝑌

⇒ 𝐴 𝑒𝑠 𝑠𝑖𝑚é𝑡𝑟𝑖𝑐𝑎

∴ 𝑆𝐶𝐸 = 𝑌𝑡𝑌 − 2𝛽𝑡𝑋𝑌 + 𝛽𝑡𝑋𝑡𝑋𝛽

𝑆𝐶𝐸 = 𝑌𝑡𝑌 − 2𝛽𝑡𝑋𝑡𝑌 + 𝛽𝑡𝑋𝑡𝑋𝛽

𝑒𝑖 = 𝑦𝑖 − �̅�𝑖

𝑒𝑖2 = (𝑦𝑖 − �̅�𝑖)

2 = (𝑦𝑖 − �̅�0 − �̅�0 ∗ 𝑋𝑖)2

Page 118: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

118

∑𝑒𝑖2

𝑛

𝑖=1

= ∑(𝑦𝑖 − (�̅�0 + �̅�0 ∗ 𝑋𝑖))2

𝑛

𝑖=1

= ∑[𝑦𝑖2 − 2𝑦𝑖(�̅�0 + �̅�𝑖 ∗ 𝑋𝑖)]2

𝑛

𝑖=1

= ∑[𝑦𝑖2 − 2𝑦𝑖(�̅�0 + �̅�𝑖 ∗ 𝑋𝑖) + (�̅�0 + �̅�0 ∗ 𝑋𝑖)2]

𝑛

𝑖=1

= ∑[𝑦𝑖2 − 2𝑦𝑖�̅�0 − 2𝑦𝑖�̅�𝑖𝑋𝑖 + �̅�0

2+ 2�̅�0 ∗ �̅�1 ∗ �̅�𝑖 + �̅�1𝑋𝑖2]

𝑛

𝑖=1

𝑑

𝑑�̅�0�̅�1

∑𝑒𝑖2 =

𝑑

𝑑�̅�0�̅�1

𝑆𝐶𝐸 = 0

𝑑

𝑑�̅�0𝑆𝐶𝐸 =

𝑑

𝑑�̅�0[2𝑋𝑖 − 2�̅�0 ∑𝑦1 − 2�̅�1 ∑𝑥𝑖𝑦𝑖+ ∑ �̅�0

2+ 2�̅�0�̅�1 ∗ 2𝑋𝑖 + �̅�1

2∑𝑥1

2]

=𝑑

𝑑�̅�0

(−2�̅�0 ∑𝑦1 +𝑑

𝑑�̅�0

∑�̅�12+

𝑑

𝑑�̅�0

2�̅�0�̅�1 ∗ 2𝑋𝑖)

−2𝑦𝑖 + 𝑛�̅�0 + 𝐵1∑𝑋𝑖=0

Programación Mínimos Cuadrados Código: function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) n=str2double(inputdlg('Ingrese la cantidad de datos')); for i=1:n etiqueta=['Ingrese el ',num2str(i),'° dato de X:']; x(i)=str2double(inputdlg(etiqueta)); end for i=1:n etiqueta=['Ingrese el ',num2str(i),'° dato de Y:']; y(i)=str2double(inputdlg(etiqueta)); end xbarra=mean(x); ybarra=mean(y);

Page 119: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

119

for i=1:n restx(i)=(x(i)-xbarra); end for i=1:n resty(i)=(y(i)-ybarra); end for i=1:n SCxy(i)=restx(i)*resty(i); SCxx(i)=restx(i)*restx(i); SCyy(i)=resty(i)*resty(i); end b1=num2str((sum(SCxy))/(sum(SCxx))); etiqueta=['b1: ',num2str(b1)]; set(handles.text2,'String',etiqueta) b0=num2str(ybarra-(str2double(b1)*xbarra)); etiqueta=['b0: ',num2str(b0)]; set(handles.text3,'String',etiqueta) datos=[x' y' restx' resty' SCxy' SCxx' SCyy']; set(handles.uitable1,'Data',datos); etiqueta=['xbarra: ',num2str(xbarra)]; set(handles.text1,'String',etiqueta); etiqueta=['ybarra: ',num2str(ybarra)]; set(handles.text4,'String',etiqueta); etiqueta=['Y=',b0,'+',b1,'(x)']; set(handles.text10,'String',etiqueta); Programa Ejecutado

Page 120: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

120

Ejercicios propuestos Ajuste de curvas 1.- Ajustar los datos de la siguiente tabla:

X 1 2 4

Y 3 5,1 8,8

a).- Hacer el grafico de la función

Página web: http://portales.puj.edu.co/objetosdeaprendizaje/Online/OA10/capitulo3/3.6.htm

2.- Supongamos un muelle sometido a tracción, se ha cargado el muelle con diferentes

pesos (F, variable independiente o y ) y se han anotado los alargamientos (l variable

dependiente o x)

Cargas sucesivas

F(yi) gramos

Lecturas sucesivas (xi)

L / mm

200 60

400 120

500 150

700 210

900 260

1000 290

Página web: http://ocw.unican.es/ensenanzas-tecnicas/fisica-i/practicas-1/Ajuste%20por%20minimos%20cuadrados.pdf 3.- 15 estudiantes a los cuales se les realizo un test de inteligencia cuyas puntuaciones se

reflejan en la variable X, y a los que se había realizado una prueba que se refleja en las

puntuaciones de la variable Y, calcular la recta de regresión de Y sobre X.

n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

X 9 12 6 9 7 9 5 9 7 3 10 6 11 4 13

Y 5 5 1 4 2 2 1 3 3 1 4 2 5 2 5

Página web: http://www.ugr.es/~jsalinas/apuntes/C5.pdf 4.- Construir una recta que aproxime los datos de la tabla siguiente y hallar la ecuación de dicha recta:

X 1 2 4 5 6 8

Y 1 2 2 4 5 7

Page 121: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

121

5.- Ajustar una recta de mínimos cuadrados a los datos de la tabla que a continuación se

indica, en los casos siguientes:

a).- X como variable independiente,

b).- Y como variable independiente.

Y hacer la gráfica correspondiente

X 1986 1987 1988 1989 1990 1991 1992 1993 1994

Y 18 20 22 24 25 26 28 30 32

Página web: http://books.google.es/books Coeficiente de correlación

1. Una compañía desea hacer predicciones del valor anual de sus ventas totales en cierto país a partir de la relación de estas y la renta nacional. Para ello cuenta con los siguientes datos:

x 189 190 208 227 239 252 257 274 293 308 316

y 402 404 412 425 429 436 440 447 458 469 469

2. La empresa “Santos” desea saber si sus ventas dependen de la publicidad que ellos hacen a sus productos tomaran sus datos según resultados obtenidos, ellos deciden utilizar el método de correlación lineal simple para encontrar la relación las cantidades de son en millones:

publicidad ventas

1172,2 593,8

1209,2 596

1233,1 598,3

1256,9 600,8

1301,9 603,3

1320 607,7

1350,4 608,5

1357,9 611,2

1380,8 592,4

1381,8 585,6

1402,5 589

1403 589,4

1406,1 593,5

1423,7 597,6

3. La información estadística obtenida de una muestra de tamaño 12 sobre la relación

existente entre la inversión realizada y el rendimiento obtenido en cientos de miles de euros para la explotación agrícolas es al siguiente:

Inversión (x) 11 14 16 15 16 18 20 21 14 20 19 11

Page 122: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

122

Rendimiento(y) 2 3 5 6 5 33 7 10 6 10 5 6

4. El número de hrs. Dedicadas al estudio de una asignatura y la calificación obtenida

en el examen correspondiente, de ocho personas es:

Horas(x) 20 16 34 23 27 32 18 22

Calificación(y) 6,5 6 8,5 7 9 9,5 7,5 8

5. de un núcleo de población, acuden los clientes, en cientos, que figuran en la tabla.

N de clientes(x) 8 7 6 4 2 1

Distancia(y) 15 19 25 23 34 40

6. En una muestra de 1500 individuos se recogen datos sobre dos medidas antropométricas X e Y. Los resultados que se obtienen son

x = 14, y = 100, sx = 2, sy = 25, sxy = 45.

Obtener el modelo de regresión lineal que mejor aproxima Y en función de X. Utilizando este modelo calcular de modo aproximado la cantidad Y esperada cuando X = 15.

7. De una muestra de 8 observaciones conjuntas de valores de dos variables X e Y se obtiene la siguiente información:

. a) Obtener la recta de regresión de Y sobre X. Explicar el significado de los

parámetros.

b) Calcular el coeficiente de determinación. Comentar el resultado e indicar el porcentaje

de variación de Y que no está´ explicado por el modelo de regresión lineal.

c) Si el modelo es adecuado, cuál es la predicción para un valor de x = 4?

d) Obtener la recta de regresión de X sobre Y.

8. La tabla siguiente contiene la edad X y la máxima de la presión sanguínea Y de un grupo de 10 mujeres:

Edad 56 42 72 36 63 47 55 49 38 42

Presión 14.8 12.6 15.9 11.8 14.9 13.0 15.1 14.2 11.4 14.1

a) Calculad el coeficiente de correlación lineal entre las variables y decid que indica.

b) Determinad la recta de regresión de Y sobre X, justificando la adecuación de un

modelo lineal. Interpretad los coeficientes.

c) Valorad la bondad del modelo.

d) Haced las predicciones siguientes, sólo cuando crea que tengan sentido:

Page 123: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

123

d.1) Presión sanguínea de una mujer de 51 años.

d.2) Presión sanguínea de una niña de 10 años.

d.3) Presión sanguínea de un hombre de 54 años.

9. Se ha llevado a cabo un ajuste lineal a una nube de puntos formada por observaciones de dos variables X e Y y se ha obtenido un coeficiente de determinación de 0.03. Discutid si las siguientes afirmaciones son ciertas y por qué:

a) El coeficiente de correlación lineal entre X e Y valdrá´ 0.173.

b) La covarianza entre X e Y puede ser negativa.

c) Las variables X e Y son casi independientes.

d) El coeficiente de determinación entre −X e Y valdrá´ -0.03.

e) El coeficiente de determinación entre −X y −Y valdrá´ 0.03.

f) Solo el 3% de la variabilidad total de Y queda sin explicar en el modelo.

10. Dada la siguiente distribución bidimensional encontrar el modelo de regresión (lineal o parabólica) que mejor se ajuste a la nube de puntos.

xi 1 1 2 3 4 5 5 6

yi 13 15 18 19 21 16 20 14

11. Los datos siguientes forman parte de un anuncio publicado por un joyero de

Singapur en el periódico Strauss Times el 29 de febrero de 1992. Estos datos hacen referencia al precio (en dólares de Singapur) de anillos que llevan un diamante. El tamaño de un diamante, que se indica en quilates (1 quilate=200 mg).

tamaño 0.17 0.16 0.17 0.25 0.16 0.15 0.21 0.15

precio 355 328 350 675 342 322 483 323

tamaño 0.16 0.17 0.16 0.17 0.18 0.23 0.23 0.12

precio 345 352 332 353 438 595 553 223

Ajustad un modelo lineal a estos datos y decidid si el ajuste obtenido es bueno. Comprobad si se cumplen para los residuos las suposiciones de independencia y de varianza constante.

12. Las Ecuaciones siguientes

,

Representan las rectas de regresión lineal de una distribución estadística vicariante. Hallad los coeficientes de determinación y de correlación entre las variables X e Y.

Page 124: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

124

13. Dos distribuciones estadísticas tienen como rectas de regresión de Y sobre X, respectivamente,

¿Puede asegurarse que la segunda distribución tiene un coeficiente de determinación mayor que la primera?

14. De una distribución estadística vicariante se conocen x = 5, y = 8, CVY = 3CVX. Mediante la recta de regresión de Y sobre X, ¿cuál es la predicción del modelo para un valor de x = 6,

a) en el caso que R2 = 0?

b) en el caso que R2 = 1?

Página web de los ejercicios del 1 al 13 http://es.slideshare.net/1010karen/5-ejercicios-de-correlacin-13119660

CAPITULO IV

INTERPOLACIÓN Interpolar significa estimar el valor desconocido de una función en un punto, tomando una media ponderada de sus valores conocidos en puntos cercanos al dado. En la interpolación lineal, conocido como regla de 3 se utiliza un segmento rectilíneo que pasa por 2 puntos que se conocen. Ajuste Es una ecuación que tiene la mínima dispersión en el eje y con respecto a los datos que estén comparando.

POLINOMIO INTERPOLADOR DE NEWTON Definición Dados n+1 puntos, 𝑥0, 𝑥1, … , 𝑥𝑛

𝑃1(𝑥) = 𝑏0 + 𝑏1(𝑥 − 𝑥0) 𝑃2(𝑥) = 𝑏0 + 𝑏1(𝑥 − 𝑥0) + 𝑏2(𝑥 − 𝑥0)(𝑥 − 𝑥1)

𝑃2(𝑥) = 𝑃1(𝑥) + 𝑏2(𝑥 − 𝑥0)(𝑥 − 𝑥1) 𝑃3(𝑥) = 𝑃2(𝑥) + 𝑏3(𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2)

⋮ 𝑷𝒏(𝒙) = 𝑷𝒏−𝟏(𝒙) + 𝒃𝒏(𝒙 − 𝒙𝟎)(𝒙 − 𝒙𝟏)(𝒙 − 𝒙𝟐) × …× (𝒙 − 𝒙𝒏−𝟏)

Page 125: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

125

Generalmente, se usa el 𝑃3(𝑥), es decir: 𝑷𝟑(𝒙) = 𝑏0 + 𝑏1(𝑥 − 𝑥0) + 𝑏2(𝑥 − 𝑥0)(𝑥 − 𝑥1) + 𝒃𝟑(𝒙 − 𝒙𝟎)(𝒙 − 𝒙𝟏)(𝒙 − 𝒙𝟐)

Dónde:

𝑏0 = 𝑓[𝑥0] 𝑏1 = 𝑓[𝑥1, 𝑥0]

𝑏2 = 𝑓[𝑥2, 𝑥1, 𝑥0] 𝑏3 = 𝑓[𝑥3, 𝑥2, 𝑥1, 𝑥0]

⋮ 𝑏𝑛 = [𝑥𝑛, 𝑥𝑛−1, … , 𝑥1, 𝑥0]

DIFERENCIAS DIVIDIDAS Diferencias divididas La diferencia dividida de orden cero es:

𝑓[𝑥0] = 𝑓(𝑥0) = 𝑦0 La diferencia dividida de orden 1 es:

𝑓[𝑥0, 𝑥1] =𝑓(𝑥1) − 𝑓(𝑥0)

𝑥1 − 𝑥0=

𝑓[𝑥1] − 𝑓[𝑥0]

𝑥1 − 𝑥0

La diferencia dividida de orden 2 es:

𝑓[𝑥0, 𝑥1, 𝑥2] =𝑓[𝑥1, 𝑥2] − 𝑓[𝑥0, 𝑥1]

𝑥2 − 𝑥0=

𝑓(𝑥2) − 𝑓(𝑥1)𝑥2 − 𝑥1

−𝑓(𝑥1) − 𝑓(𝑥0)

𝑥1 − 𝑥0

𝑥2 − 𝑥0

La diferencia dividida de orden 3 es:

𝑓[𝑥0, 𝑥1, 𝑥2, 𝑥3] =𝑓[𝑥1, 𝑥2, 𝑥3] − 𝑓[𝑥0, 𝑥1, 𝑥2]

𝑥3 − 𝑥0=

𝑓[𝑥2, 𝑥3] − 𝑓[𝑥1, 𝑥2]𝑥3 − 𝑥1

−𝑓[𝑥1, 𝑥2] − 𝑓[𝑥0, 𝑥1]

𝑥2 − 𝑥0

𝑥3 − 𝑥0

Relación existente entre el polinomio de newton y las diferencias divididas 𝑃1(𝑥) = 𝑏0 + 𝑏1(𝑥 − 𝑥0) = 𝑓[𝑥0] + 𝑓[𝑥0, 𝑥1](𝑥 − 𝑥0)

𝑃2(𝑥) = 𝑏0 + 𝑏1(𝑥 − 𝑥0) + 𝑏2(𝑥 − 𝑥0)(𝑥 − 𝑥1) = 𝑓[𝑥0] + 𝑓[𝑥0, 𝑥1](𝑥 − 𝑥0)+ 𝑓[𝑥0, 𝑥1, 𝑥2](𝑥 −𝑥0)(𝑥 − 𝑥1) 𝑃𝑛(𝑥) = 𝑃𝑛−1(𝑥) + 𝑓[𝑥0, 𝑥1, …… .𝑥𝑛](𝑥 − 𝑥0)(𝑥 − 𝑥1)… . . (𝑥 − 𝑥𝑛) 𝑏0 = 𝑓[𝑥0] 𝑏1 = 𝑓[𝑥0, 𝑥1] 𝑏2 = 𝑓[𝑥0, 𝑥1, 𝑥2] 𝑏𝑛 = 𝑓[𝑥0, 𝑥1, 𝑥2 … . 𝑥𝑛] Ejemplo.- Dados los siguientes 3 puntos, encontrar el polinomio de interpolación.

𝑃(2,3), 𝑃(4,2), 𝑃(6,1) 𝑃2(𝑥) = 𝑓[𝑥0] + 𝑓[𝑥0, 𝑥1](𝑥 − 𝑥0) + 𝑓[𝑥0, 𝑥1, 𝑥2](𝑥 − 𝑥0)(𝑥 − 𝑥1)

a) Resolviendo un sistema de ecuaciones (I. Inversa)

𝑃2(𝑥) = 𝑎𝑥 + 𝑏𝑥 + 𝑐

Page 126: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

126

3 = 4𝑎 + 2𝑏 + 𝑐 2 = 16𝑎 + 4𝑏 + 𝑐 1 = 36𝑎 + 6𝑏 + 𝑐

𝑦 = 𝐴𝑋

𝐴−1𝑦 = 𝐴−1 ∗ 𝐴 ∗ 𝑋

𝐴−1 ∗ 𝑦 = 𝑋

X=𝐴−1 ∗ 𝑦

𝐴 = [4 2 116 4 136 6 1

]

𝐴−1 = [4 2 1 16 4 1 36 6 1

⋮ 1 0 00 1 00 0 1

]

𝐴−1 = [4 2 1 0 −4 −3 36 6 1

⋮ 1 0 00 1 00 0 1

]

DEFINICIÓN: Las diferencias divididas de f(x), se define:

1º Diferencia 𝒇[𝒙𝒌] = 𝒇(𝒙𝒌)

2º Diferencia 𝒇[𝒙𝒌−𝟏, 𝒙𝒌] =𝒇[𝒙𝒌−𝟏]−𝒇[𝒙𝒌]

𝒙𝒌−𝟏−𝒙𝒌=

−(𝒇[𝒙𝒌−𝟏]−𝒇[𝒙𝒌])

−(𝒙𝒌−𝟏−𝒙𝒌)=

𝒇[𝒙𝒌−𝟏]−𝒇[𝒙𝒌]

𝒙𝒌−𝟏−𝒙𝒌

3º Diferencia 𝒇[𝒙𝒌−𝟐, 𝒙𝒌−𝟏, 𝒙𝒌] =𝒇[𝒙𝒌−𝟐,𝒙𝒌−𝟏]−𝒇[𝒙𝒌−𝟏,𝒙𝒌]

𝒙𝒌−𝟐−𝒙𝒌=

𝒇[𝒙𝒌−𝟐]−𝒇[𝒙𝒌−𝟏]

𝒙𝒌−𝟐−𝒙𝒌−𝟏−

𝒇[𝒙𝒌−𝟏]−𝒇[𝒙𝒌]

𝒙𝒌−𝟏−𝒙𝒌

𝒙𝒌−𝟐−𝒙𝒌

4º Diferencia 𝒇[𝒙𝟑, 𝒙𝟐, 𝒙𝟏, 𝒙𝟎] =𝒇[𝒙𝟑,𝒙𝟐,𝒙𝟏]−𝒇[𝒙𝟐,𝒙𝟏,𝒙𝟎]

𝒙𝟑−𝒙𝟎=

𝒇[𝒙𝟑,𝒙𝟐]−𝒇[𝒙𝟐,𝒙𝟏]

𝒙𝟑−𝒙𝟏−

𝒇[𝒙𝟐,𝒙𝟏]−𝒇[𝒙𝟏,𝒙𝟎]

𝒙𝟐−𝒙𝟎

𝒙𝟑−𝒙𝟎=

𝒇[𝒙𝟑] − 𝒇[𝒙𝟐]𝒙𝟑 − 𝒙𝟐

−𝒇[𝒙𝟐] − 𝒇[𝒙𝟏]

𝒙𝟐 − 𝒙𝟏

𝒙𝟑 − 𝒙𝟏−

𝒇[𝒙𝟐] − 𝒇[𝒙𝟏]𝒙𝟐 − 𝒙𝟏

−𝒇[𝒙𝟏] − 𝒇[𝒙𝟎]

𝒙𝟏 − 𝒙𝟎

𝒙𝟐 − 𝒙𝟎

𝒙𝟑 − 𝒙𝟎

EJERCICIO

Dados los siguientes puntos 𝑥0 = 1, 𝑥1 = 4, 𝑥2 = 6, 𝑥3 = 5

Page 127: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

127

𝑥0 = 1 𝑓(𝑥0) = 0 𝑥1 = 4 𝑓(𝑥1) = 1,386294 𝑥2 = 6 𝑓(𝑥2) = 1,791759 𝑥3 = 5 𝑓(𝑥3) = 1,609438

Estimar 𝑓(𝑥 = 2), con un polinomio interpolador de 𝑃3(𝑥) Newton

𝑃3(𝑥 = 2) = 𝑓(𝑥 = 2) 𝑏0 = 𝑓[𝑥0] = 𝑓(1) = 𝟎

𝑏1 = 𝑓[𝑥1, 𝑥0] =𝑓[𝑥1] − 𝑓[𝑥0]

𝑥1 − 𝑥0=

1,386294 − 0

4 − 1= 𝟎, 𝟒𝟔𝟐𝟎𝟗𝟖

𝑏2 = 𝑓[𝑥2, 𝑥1, 𝑥0] =

𝑓[𝑥2] − 𝑓[𝑥1]𝑥2 − 𝑥1

−𝑓[𝑥1] − 𝑓[𝑥0]

𝑥1 − 𝑥0

𝑥2 − 𝑥0=

1,791759 − 1,3862946 − 4 −

1,386294 − 04 − 1

6 − 1= −𝟎, 𝟎𝟓𝟏𝟖𝟕𝟑𝟏

𝑏3 = 𝑓[𝑥3, 𝑥2, 𝑥1, 𝑥0] =

𝑓[𝑥3] − 𝑓[𝑥2]𝑥3 − 𝑥2

−𝑓[𝑥2] − 𝑓[𝑥1]

𝑥2 − 𝑥1

𝑥3 − 𝑥1−

𝑓[𝑥2] − 𝑓[𝑥1]𝑥2 − 𝑥1

−𝑓[𝑥1] − 𝑓[𝑥0]

𝑥1 − 𝑥0

𝑥2 − 𝑥0

𝑥3 − 𝑥0

=

1,609438 − 1,7917595 − 6

−1,791759 − 1,386294

6 − 45 − 4

1,791759 − 1,3862946 − 4 −

1,386294 − 04 − 1

6 − 15 − 1

= 𝟕, 𝟖𝟔𝟓𝟒 × 𝟏𝟎−𝟑

𝑷𝟑(𝒙) = 𝑏0 + 𝑏1(𝑥 − 𝑥0) + 𝑏2(𝑥 − 𝑥0)(𝑥 − 𝑥1) + 𝒃𝟑(𝒙 − 𝒙𝟎)(𝒙 − 𝒙𝟏)(𝒙 − 𝒙𝟐) = 0,462098(2 − 1) − 0,0518731(2 − 1)(2 − 4) + 0,0078655(2 − 1)(2 − 4)(2 − 6)

= 𝟎, 𝟔𝟐𝟖𝟕𝟔𝟖𝟐

Interpolación por Splines

Interpolación con Trazadores y Paramétrica

Objetivos

Conocer las técnicas de interpolación usando curvas paramétricas y Spline B

Familiarizarse con los métodos numéricos de interpolación con polinomios definidos

en tramos

Aprender a usar Matlab para resolver problemas que involucren interpolación

Page 128: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

128

TEMAS

Interpolantes definidos en Tramos. Interpolación lineal y al adyacente más cercano.

Interpolación con trazadores (spline ) cuadráticos y cúbicos . Determinación de los

coeficientes. Error de truncación y capacidad de filtrado. Trazadores con interpolación

Hermítica, algoritmo Pchip . Curvas paramétricas. Curvas de Bézier, características,

polinomios de tercer orden con interpolación hermítica, empalmes. Introducción a las B -

Spline , características más destacadas . Funciones de Matlab.

INTERPOLACION Problema Básico

Se dispone de un conjunto de datos (x,y), que provienen de experiencias y se quiere encontrar una función que “pase” por esos puntos.

Dados los datos: (x i ,y i ), i = 0,1, 2, ..., n con x 0 ,< x 1 ,< x 2 , < ... < x n , determinar la

función f , tal que : f(x i ) = y i , i = 0, 1, 2, ..., n f es llamada la Función de Interpolación o

Función Interpolante o Interpolante a secas . En forma adicional, dependiendo del tipo

de interpolación, se pueden imponer otras restricciones como pendiente en

determinados puntos, concavidad, etc.

Funciones definidas en Tramos

En Interpolación con Funciones definidas en Tramos, dados un conjunto de datos (xi

,yi), se emplean funciones diferentes para cada subintervalo [xi ,xi+1 ]

Las abscisas xi se llaman Nodos y en ellos se pasa de una función a otra.

Funciones que son tramos de polinomios resultan una alternativa de la interpolación

polinomial de alto grado para evitar la “oscilación”.

Page 129: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

129

La principal ventaja la Interpolación con tramos de polinomios es que un gran número

de datos pueden ajustarse empleando polinomios de relativo bajo orden.

EJEMPLO TIPICO

Interpolación Lineal que usa líneas rectas para interconectar puntos.

Con este recurso se elimina la oscilación excesiva, pero se sacrifica la derivabilidad de la función.

INTERPOLACION LINEAL

Se puede usar interpolación LaGrange o Newton para determinar las ecuaciones de las rectas:

𝑓1(𝑥) = 𝑦0 +

(𝑦1 − 𝑦0)

(𝑥1 − 𝑥0)(𝑥1 − 𝑥0) 𝑝𝑎𝑟𝑎 𝑥1 > 𝑥 > 𝑥0

𝑓2(𝑥) = 𝑦1 +

(𝑦2 − 𝑦1)

(𝑥2 − 𝑥1)(𝑥 − 𝑥1) 𝑝𝑎𝑟𝑎 𝑥2 > 𝑥 > 𝑥1

𝑓3(𝑥) = 𝑦2 +

(𝑦3 − 𝑦2)

(𝑥3 − 𝑥2)(𝑥 − 𝑥2) 𝑝𝑎𝑟𝑎 𝑥3 > 𝑥 > 𝑥2

𝑓4(𝑥) = 𝑦3 +

(𝑦4 − 𝑦3)

(𝑥4 − 𝑥3)(𝑥 − 𝑥3) 𝑝𝑎𝑟𝑎 𝑥4 > 𝑥 > 𝑥3

Funciones definidas en Tramos

EJEMPLO TIPICO Interpolación al adyacente más próximo (Nearest neighbor

interpolation ). El método más simple que consiste en localizar el valor de datos más

cercano, y asignarlo el mismo valor.

Page 130: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

130

No hay buenas razones para escoger este método en vez de interpolación lineal (casi

tan simple como éste, pero con pérdida de la continuidad), Si embargo en interpolación

multivariada, esta opción puede ser favorable por su velocidad y simplicidad.

SPLINE – TRAZADORES

Consiste en emplear polinomios de bajo orden para conectar puntos adyacentes. (Trazador

o cinta de plomo)

Funciones Spline típicas:

Spline lineal 𝑓(𝑥) = 𝑎𝑥 + 𝑏

Spline cuadrática 𝑓(𝑥) = 𝑎𝑥2 + 𝑏𝑥 + 𝑐

Spline cúbica 𝑓(𝑥) = 𝑎𝑥3 + 𝑏𝑥2 + 𝑐𝑥 + 𝑑

Un Trazador de orden k deberá tener k-1 derivadas continuas

Ejercicio.-

Dado los siguientes puntos, encontrar la interpolación mediante rectas.

(4,4) f1 (7,4) F0 f2 (10,3) (1,2)

*En [1, 4]

FORMULA: 𝒇𝒊(𝒙) = 𝑎𝑖𝑥 + 𝑏𝑖

𝑦 − 2 =4 − 2

4 − 1(𝑥 − 1)

𝑦 =2

3𝑥 −

2

3+ 2 =

2

3𝑥 +

4

3

𝒇𝟎(𝒙) =𝟐

𝟑𝒙 +

𝟒

𝟑

En [7 , 4]

𝒇𝟏(𝒙) = 𝟒

En [7 , 10]

Page 131: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

131

𝑦 − 4 =3 − 4

10 − 7(𝑥 − 7)

𝑦 − 4 = −1

3(𝑥 − 7)

𝑦 = −1

3𝑥 +

7

3+ 4

𝒇𝟐(𝒙) = −𝟏

𝟑𝒙 +

𝟏𝟗

𝟑

SPLINE CUADRÁTICA

Se conectan dos puntos adyacentes con una parábola de orden 2. La función tiene derivada primera continua.

Determinación de los coeficientes Sea N el número de sub-intervalos (N+1 datos). Para

cada punto interior, los dos polinomios cuadráticos vecinos tienen que pasar este punto.

2(N-1) ecuaciones:

𝑆(𝑥) = 𝑎𝑥2 + 𝑏𝑥 + 𝑐 = 𝑦𝑖

Sólo un polinomio cuadrático pasa por los puntos extremos 2 ecuaciones.

𝑆(𝑥) = 𝑎𝑥2 + 𝑏𝑥 + 𝑐 = 𝑦𝑖

Determinación de los coeficientes

En cada punto interior, las derivadas de primer orden de los dos polinomios vecinos deben

ser iguales. Condición impuesta a una Spline cuadrática. Resultan N-1 ecuaciones:

2𝑎𝑥 + 𝑏 = 2𝑎𝑥 + 𝑏

Considerando todas las ecuaciones, suman 3N-1. Por lo tanto falta una para poder

determinar todos los coeficientes (1 grado de libertad). Esto es típico en Spline y se fija

según conveniencia. Por ejemplo, se podría adoptar la derivada igual a cero en uno de los

extremos.

Page 132: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

132

Definición de Spline.- La definición de spline hace referencia a una amplia clases de

funciones que son utilizadas en aplicaciones que requieren la interpolación de datos o un suavizado de curvas.

Las funciones para la interpolación de splines normalmente se determinan como minimizadores de la aspereza sometida a una serie de restricciones.

Spline Lineal.- Una función spline de grado 1 que interpola los satos es

simplemente unir cada uno de los puntos mediante un segmento de recta.

Dado n+1 puntos:

𝑥 𝑥0 𝑥1 … 𝑥𝑛

𝑦 𝑦0 𝑦1 … 𝑦𝑛

𝑆0(𝑥) = 𝑎0𝑥 + 𝑏0; 𝑥 ∈ (𝑥0, 𝑥1) 𝑆1(𝑥) = 𝑎1𝑥 + 𝑏1; 𝑥 ∈ (𝑥1, 𝑥2)

𝑆(𝑥) = ⋮

𝑆𝑛−1(𝑥) = 𝑎𝑛−1𝑥 + 𝑏𝑛−1; 𝑥 ∈ (𝑥𝑛−1, 𝑥𝑛) Ejercicio: Interpolar con spline lineal los siguientes puntos: f(1)=1 f(2)=0.5 f(4)=0.25

𝒚 − 𝒚𝟏 = 𝒎(𝒙 − 𝒙𝟏)

𝑳𝟏: 𝒚 − 𝟏 =𝟎. 𝟓 − 𝟏

𝟐 − 𝟏(𝒙 − 𝟏)

𝒚 = −𝟏

𝟐𝒙 +

𝟏

𝟐+ 𝟏

𝒚 = −𝟏

𝟐𝒙 +

𝟑

𝟐

𝑳𝟐: 𝒚 − 𝟎. 𝟓 =𝟎. 𝟐𝟓 − 𝟎. 𝟓

𝟒 − 𝟐(𝒙 − 𝟐)

𝒚 = −𝟏

𝟖𝒙 +

𝟏

𝟒+

𝟏

𝟐

𝒚 = −𝟏

𝟖𝒙 +

𝟑

𝟒

1; 1

2; 0,5

4; 0,25

0

0,2

0,4

0,6

0,8

1

1,2

0 1 2 3 4 5

Page 133: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

133

𝒚(𝟑) = −𝟏

𝟖(𝟑) +

𝟑

𝟒

𝒚(𝟑) = −𝟑

𝟖+

𝟔

𝟖

𝒚(𝟑) =𝟑

𝟖

Spline Cuadrático.- El objetivo es obtener un polinomio de 2° grado para cada

intervalo entre los datos.

𝑓𝑖(𝑥) = 𝑎𝑖𝑥2 + 𝑏𝑖𝑥 + 𝑐𝑖

Las condiciones a las cuales se les debe dar al modelo, son las siguientes:

1. Los valores de la función de polinomios adyacentes deben ser iguales en los nodos interiores.

2. La primera y última función deben pasar a través de los puntos extremos.

3. Las primeras derivadas en los nodos interiores deben ser iguales.

4. Suponga que en el primer punto la segunda derivada es 0.

Ejercicio

1)

𝟐𝟎. 𝟐𝟓𝒂𝟏 + 𝟒. 𝟓𝒃𝟏 + 𝒄𝟏 = 𝟏 (1) 𝟐𝟎. 𝟐𝟓𝒂𝟐 + 𝟒. 𝟓𝒃𝟐 + 𝒄𝟐 = 𝟏 (2) 𝟒𝟗𝒂𝟐 + 𝟕𝒃𝟐 + 𝒄𝟐 = 𝟐. 𝟓 (3)

𝟒𝟗𝒂𝟑 + 𝟕𝒃𝟑 + 𝒄𝟑 = 𝟐. 𝟓 (4)

2)

𝟗𝒂𝟏 + 𝟑𝒃𝟏 + 𝒄𝟏 = 𝟐. 𝟓 (5)

3; 2,5

4,5; 1

7; 2,5

9; 0,5

0

0,5

1

1,5

2

2,5

3

0 2 4 6 8 10

Page 134: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

134

𝟖𝟏𝒂𝟑 + 𝟗𝒃𝟑 + 𝒄𝟑 = 𝟎. 𝟓 (6)

3)

𝑎1𝑥2 + 𝑏1𝑥 + 𝑐1 = 𝑦

2𝑎1𝑥 + 𝑏1 = 𝑦′ 𝟗𝒂𝟏 + 𝒃𝟏 = 𝟗𝒂𝟐 + 𝒃𝟐 (7)

𝟏𝟒𝒂𝟐 + 𝒃𝟐 = 𝟏𝟒𝒂𝟑 + 𝒃𝟑 (8)

4)

2𝑎1𝑥 + 𝑏1 = 𝑦′

𝟐𝒂𝟏 = 𝒚′′ 𝒂𝟏 = 𝟎 (9)

Respuestas:

𝒂𝟏 = 𝟎

𝒃𝟏 = −𝟏 𝒄𝟏 = 𝟓. 𝟓

𝒂𝟐 = 𝟎. 𝟔𝟒 𝒃𝟐 = −𝟔.𝟕𝟔

𝒄𝟐 = 𝟏𝟖. 𝟒𝟔 𝒂𝟑 = −𝟏. 𝟔 𝒃𝟑 = 𝟐𝟒, 𝟔 𝒄𝟑 = −𝟗𝟏. 𝟑

Spline Cúbico.- El objetivo de las segmentarias cúbicas es obtener un polinomio d

tercer orden para cada intervalo en los nodos.

𝒇𝒊(𝒙) = 𝒂𝒊𝒙𝟑 + 𝒃𝒊𝒙

𝟐 + 𝒄𝒊𝒙 + 𝒅𝒊

Así n+1 datos (i=0, 1, 2,.., n), existen n intervalos y por consiguiente, 4n incógnitas constantes para evaluar. Como con las segmentarias cuadráticas se requieren 4n condiciones para evaluar las incógnitas.

Condiciones:

1) Los valores de la función deben ser iguales en los nodos interiores.

2) La primera y última función deben pasar a través de los puntos extremos.

Page 135: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

135

3) Las primeras derivadas en los nodos interiores deben ser iguales.

4) Las segundas derivadas en los nodos interiores deben ser iguales.

5) Las segundas derivadas en los nodos externos son ceros.

La interpolación visual de la condición 5 es que la función se vuelve una línea recta en los

nodos extremos, la especificación de tal condición extrema nos lleva a lo que se denomina

“SEGMENTACIÓN NATURAL”.

Ejercicio

Ajuste por segmentarias cúbicas dado los siguientes puntos:

𝑥0 = 3 ; 𝑓(𝑥0) = 2.5

𝑥1 = 4.5 ; 𝑓(𝑥1) = 1

𝑥2 = 7 ; 𝑓(𝑥2) = 2.5

Dadas las condiciones se obtienen las siguientes ecuaciones

1.

𝟗𝟏. 𝟏𝟐𝟓 𝒂𝟏 + 𝟐𝟎. 𝟐𝟓𝒃𝟏 + 𝟒. 𝟓𝒄𝟏 + 𝒅𝟏 = 𝟏 (1)

𝟗𝟏. 𝟏𝟐𝟓 𝒂𝟐 + 𝟐𝟎. 𝟐𝟓𝒃𝟐 + 𝟒. 𝟓𝒄𝟐 + 𝒅𝟐 = 𝟏 (2)

2.

𝟐𝟕𝒂𝟏 + 𝟗𝒃𝟏 + 𝟑𝒄𝟏 + 𝒅𝟏 = 𝟐. 𝟓 (3)

3; 2,5

4,5; 1

7; 2,5

0

0,5

1

1,5

2

2,5

3

0 1 2 3 4 5 6 7 8

Page 136: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

136

𝟑𝟒𝟑𝒂𝟐 + 𝟒𝟗𝒃𝟐 + 𝟕𝒄𝟐 + 𝒅𝟐 = 𝟐. 𝟓 (4)

3.

𝟔𝟎. 𝟕𝟓𝒂𝟏 + 𝟗𝒃𝟏 + 𝒄𝟏 = 𝟔𝟎. 𝟕𝟓𝒂𝟐 + 𝟗𝒃𝟐 + 𝒄𝟐 (5)

4.

𝟐𝟕𝒂𝟏 + 𝟐𝒃𝟏 = 𝟐𝟕𝒂𝟐 + 𝟐𝒃𝟐 (6)

5.

𝟏𝟖𝒂𝟏 + 𝟐𝒃𝟏 = 𝟎 (7)

𝟒𝟐𝒂𝟐 + 𝟐𝒃𝟐 = 𝟎 (8)

Respuesta:

𝒂𝟏 = 𝟎. 𝟏𝟑𝟑𝟑

𝒃𝟏 = −𝟏.𝟐

𝒄𝟏 = 𝟐. 𝟑

𝒅𝟏 = 𝟐. 𝟖

𝒂𝟐 = −𝟎.𝟎𝟖𝟎

𝒃𝟐 = 𝟏. 𝟔𝟖

𝒄𝟐 = −𝟏𝟎. 𝟔𝟔

𝒅𝟐 = 𝟐𝟐. 𝟐𝟒

Page 137: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

137

CAPITULO 6: INTEGRACIÓN NUMÉRICA

La deducción de las fórmulas de cuadraturas puede hacerse a partir de la interpolación polinomial.

Recordemos que existe un único polinomio para aproximar la función f(x) en el [a, b], de manera que:

𝒚𝒌 = 𝒇(𝒙𝒌)

Luego aproximamos la integral de f(x) por la integral del polinomio de grado n la formula resultante se llama “Fórmula de Cuadratura de Newton-Cotes”.

Si el primer nodo 𝒙𝟎 = 𝒂 y el último nodo 𝒙𝒏 = 𝒃 , entonces se dice que la fórmula de Newton-Cotes es cerrada.

Fórmulas de Cuadratura de Newton-Cotes

1) Regla del Trapecio

Imagen 6.1: Regla del trapecio

∫ f(x)dx =h

2(f(x0) + f(x1)); Regla del trapecio

b

a

Sean las particiones de [a, b] definida como una sucesión de términos {𝐱𝟎, 𝐱𝟏, 𝐱𝟐 … . . 𝐱𝐧} y 𝐱𝟎 = 𝐚 y 𝐱𝐧 = 𝐛,

Estas particiones son equidistantes es decir 𝐱𝐤 = 𝐱𝟎 + 𝐤𝐡 k=0,1,2……n

Page 138: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

138

ℎ =𝑏−𝑎

𝑛 ; donde n es el numero de intervalos que tiene [a, b]

Propiedades de partición equidistante

1. 𝑿𝒌 − 𝑿𝒋 = (𝒌 − 𝒋)𝒉

2. 𝑿 − 𝑿𝑱 = 𝑯(𝒕 − 𝒋), 𝒕 ∈ [𝟎 , 𝒏]

3. 𝑿 = 𝑿𝟎 + 𝒉𝒕

Ejercicio: Verificación de las propiedades anteriores

GRAFICO CUADERNO

n = 5 3 – 5 = (-2) (1)

𝑿𝒌 = 𝑿𝟎 + 𝒌𝒉 -2 = 2

𝒉 =𝒃 − 𝒂

𝒏=

𝟕 − 𝟐

𝟓= 𝟏

Calculando las particiones tenemos: 2da Verificación de 1.

𝑿𝟏 = 𝑿𝟎 + 𝟏𝒉 = 𝟐 + 𝟏 = 𝟑 𝑿𝟓 − 𝑿𝟐 = (𝟓 − 𝟐)(𝟏)

𝑿𝟐 = 𝑿𝟎 + 𝟐𝒉 = 𝟐 + 𝟐(𝟏) = 𝟒 7 – 4 = 3

𝑿𝟑 = 𝑿𝟎 + 𝟑𝒉 = 𝟐 + 𝟑(𝟏) = 𝟓 3 = 3

𝑿𝟒 = 𝑿𝟎 + 𝟒𝒉 = 𝟐 + 𝟒(𝟏) = 𝟔

𝑿𝟓 = 𝑿𝟎 + 𝟓𝒉 = 𝟐 + 𝟓(𝟏) = 𝟕

1ra Verificación 1.

𝑿𝟏 − 𝑿𝟑 = (𝟏 − 𝟑)(𝟏)

1ra Verificación de 2.

X − X3 = ℎ(𝑡 − 3), 𝑡 ∈ [0,5]

si t = 0

x – 5 = 1 ( 0 – 3 )

x = -3 + 5

Page 139: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

139

x = 2

2da Verificación de 2.

X − X0 = ℎ(𝑡 − 3), 𝑡 ∈ [0,5]

si t = 5

x – 2 = 1 ( 5 – 0 )

x = 5 + 2

x = 7

3ra Verificación de 2.

X − X4 = ℎ(𝑡 − 4), 𝑡 ∈ [0,5]

si t = 2

x – 6 = 1 ( 2 – 4 )

x = - 2 + 6

x = 4

Ejercicio: Demostrar la regla del trapecio

∫𝒇(𝒙)𝒅𝒙 =𝒉

𝟐(𝒇(𝒂) + 𝒇(𝒃))

𝒃

𝒂

𝑃𝑜𝑟 𝐷𝑒𝑚𝑜𝑠𝑡𝑟𝑎𝑟 𝑃𝑜𝑟 𝑙𝑜 𝑡𝑎𝑛𝑡𝑜 𝑠𝑒 𝑡𝑖𝑒𝑛𝑒:

∫𝑓(𝑥)𝑑𝑥 = ∫𝑃𝑛(𝑥)𝑑𝑥

𝑏

𝑎

𝑏

𝑎

𝑃𝑎𝑟𝑎 𝑒𝑙 𝑐𝑎𝑠𝑜 𝑑𝑒 𝑙𝑎 𝑅𝑒𝑔𝑙𝑎 𝑑𝑒𝑙 𝑇𝑟𝑎𝑝𝑒𝑐𝑖𝑜: 𝑛 = 1

∫𝑓(𝑥)𝑑𝑥 ≈ ∫𝑃𝑛(𝑥)𝑑𝑥

𝑏

𝑎

𝑏

𝑎

= ∫𝑃1(𝑥)𝑑𝑥; 𝑛 = 1 𝑚é𝑡𝑜𝑑𝑜 𝑑𝑒 𝑡𝑟𝑎𝑝𝑒𝑐𝑖𝑜

𝑏

𝑎

∫∑ 𝐿𝑖(𝑥)𝑓(𝑥𝑖)𝑑𝑥 =

1

𝑖=0

𝑏

𝑎

∫(𝐿0(𝑥)𝑓(𝑥0) + 𝐿1(𝑥)𝑓(𝑥1))𝑑𝑥

𝑏

𝑎

= 𝑓(𝑥0)∫ 𝐿0(𝑥)𝑑𝑥

𝑏

𝑎

+ 𝑓(𝑥1) + ∫𝐿1(𝑥)𝑑𝑥

𝑏

𝑎

Page 140: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

140

= 𝑓(𝑥0)∫𝑥 − 𝑥1

𝑥0 − 𝑥1𝑑𝑥 +

𝑏

𝑎

𝑓(𝑥1)∫𝑥 − 𝑥0

𝑥1 − 𝑥0𝑑𝑥

𝑏

𝑎

Regla de Simpson 1/3

∫ 𝑓(𝑥)𝑑𝑥𝑏

𝑎

≈ℎ

3(𝑓(𝑥0) + 4𝑓(𝑥1) + 𝑓(𝑥2))

= ∫ 𝑓(𝑥)𝑑𝑥𝑏

𝑎

= ∫ 𝑃2(𝑥)𝑑𝑥, 𝑛 = 2𝑏

𝑎

= ∫ ∑𝐿𝑖(𝑥)𝑓(𝑥𝑖)

2

𝑖=0

𝑑𝑥 = ∫ (𝐿0(𝑥)𝑓(𝑥0) + 𝐿1(𝑥)𝑓(𝑥1) + 𝐿2(𝑥)𝑓(𝑥2))𝑑𝑥𝑏

𝑎

𝑏

𝑎

= 𝑓(𝑥0)∫ 𝐿𝑜(𝑥)𝑑𝑥 +𝑏

𝑎𝑓(𝑥1)∫ 𝐿1(𝑥)𝑑𝑥 +

𝑏

𝑎 𝑓(𝑥2) ∫ 𝐿2(𝑥)𝑑𝑥

𝑏

𝑎

𝐿𝑖 = ∏𝑥 − 𝑥𝑗

𝑥𝑖 − 𝑥𝑗

2

𝑗=0𝑖≠𝑗

𝐿0(𝑥) =𝑥 − 𝑥1

𝑥0 − 𝑥1∗

𝑥 − 𝑥2

𝑥0 − 𝑥2

𝐿1(𝑥) =𝑥 − 𝑥0

𝑥1 − 𝑥0∗

𝑥 − 𝑥2

𝑥1 − 𝑥2

𝐿2(𝑥) =𝑥 − 𝑥0

𝑥2 − 𝑥0∗

𝑥 − 𝑥1

𝑥2 − 𝑥1

1

Page 141: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

141

Ejemplo

Sea f(x)=sen(x) integrar el método del trapecio en [𝜋

6 ,

𝜋

5 ]

Grafica

i. ∫ 𝑓(𝑥)𝑑𝑥 ≈ℎ

2(𝑓0 + 𝑓1)

𝑥1

𝑥0 REGLA DEL TRAPECIO

ii. ∫ 𝑓(𝑥)𝑑𝑥𝑥2

𝑥0≈

3(𝑓0 + 4𝑓1 + 𝑓2) REGLA DE SIMPSON

iii. ∫ 𝑓(𝑥)𝑑𝑥 ≈3ℎ

8(𝑓0 + 3𝑓1 + 3𝑓2 + 𝑓3)

𝑥3

𝑋0 REGLA DE

3

8 DE SIMPSON

iv. ∫ 𝑓(𝑥)𝑑𝑥𝑥4

𝑥0≈

2ℎ

45(7𝑓0 + 32𝑓1 + 12𝑓2 + 32𝑓3 + 7𝑓4) REGLA DE BOOLE

INTEGRACION DE ROMBERG

Aun cuando la regla del trapecio es la fórmula de Newton Cotes más sencilla de aplicar, hemos mostrado en las secciones anteriores que carece del grado de exactitud requerido generalmente. La integración de Romberg es un método que tiene aplicaciones muy variadas debido a que usa la regla del trapecio para dar aproximaciones preliminares y luego aplicar el proceso de extrapolación, para obtener correcciones a las aproximaciones.

Algoritmo de Romberg

Page 142: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

142

Nivel 1

𝟒

𝟑𝑰(𝒉𝒎) −

𝟏

𝟑𝑰(𝒉𝒆)

Donde,

hm : Integral más exacta

he : Integral menos exacta

Integrar mediante Romberg∫ 𝒔𝒆𝒏(𝒙)𝒅𝒙𝟐

𝟏

∫ 𝑺𝒆𝒏(𝒙)𝒅𝒙𝟐

𝟏

= − 𝒄𝒐𝒔(𝒙) |𝟐𝟏

= (𝟎. 𝟒𝟏𝟔𝟏𝟓 + 𝟎. 𝟓𝟒𝟎𝟑𝟎) = 𝟎. 𝟗𝟓𝟔𝟒𝟓

a) Nivel 0

𝒉 = 𝟏, 𝒉 =𝟏

𝟐 ; 𝒉 =

𝟏

𝟐𝒏

𝑰(𝒉=𝟏) =𝟏

𝟐[𝒔𝒆𝒏(𝟏) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟖𝟕𝟓𝟑𝟖

𝑰(𝒉=

𝟏𝟐)=

𝟏

𝟒[𝒔𝒆𝒏(𝟏) + 𝟐𝒔𝒆𝒏 (

𝟑

𝟐) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟗𝟑𝟔𝟒𝟑

𝟒

𝟑(𝟎. 𝟗𝟑𝟔𝟒𝟑) −

𝟏

𝟑(𝟎. 𝟖𝟕𝟓𝟑𝟖) = 𝟎. 𝟗𝟓𝟔𝟕𝟖

Error:

𝒆𝒓𝒓𝒐𝒓 =|𝟎. 𝟗𝟓𝟔𝟒𝟓 − 𝟎. 𝟗𝟓𝟔𝟕𝟖|

|𝟎. 𝟗𝟓𝟔𝟒𝟓|∗ 𝟏𝟎𝟎 = 𝟎. 𝟎𝟑%

b) Nivel 0

𝒉 = 𝟏, 𝒉 =𝟏

𝟐 , 𝒉 =

𝟏

𝟒

𝑰(𝒉=𝟏) =𝟏

𝟐[𝒔𝒆𝒏(𝟏) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟖𝟕𝟓𝟑𝟖

Page 143: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

143

𝑰(𝒉=

𝟏𝟐)=

𝟏

𝟒[𝒔𝒆𝒏(𝟏) + 𝟐𝒔𝒆𝒏 (

𝟑

𝟐) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟗𝟑𝟔𝟒𝟑

𝑰(𝒉=

𝟏𝟒)=

𝟏

𝟖[𝒔𝒆𝒏(𝟏) + 𝟐(𝒔𝒆𝒏(

𝟓

𝟒) + 𝒔𝒆𝒏(

𝟑

𝟐) + 𝒔𝒆𝒏 (

𝟕

𝟒)) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟗𝟓𝟏𝟒𝟔

Nivel 1

𝟒

𝟑𝑰(𝒉𝒎) −

𝟏

𝟑𝑰(𝒉𝒆)

𝟒

𝟑(𝟎. 𝟗𝟑𝟔𝟒𝟑) −

𝟏

𝟑(𝟎. 𝟖𝟕𝟓𝟑𝟖) = 𝟎. 𝟗𝟓𝟔𝟕𝟖

𝟒

𝟑(𝟎. 𝟗𝟓𝟏𝟒𝟑) −

𝟏

𝟑(𝟎. 𝟗𝟑𝟔𝟒𝟑) = 𝟎. 𝟗𝟓𝟔𝟒𝟕

Nivel 2

𝟏𝟔

𝟏𝟓𝑰(𝒉𝒎) −

𝟏

𝟏𝟓𝑰(𝒉𝒆)

𝟏𝟔

𝟏𝟓(𝟎. 𝟗𝟓𝟔𝟒𝟕) −

𝟏

𝟏𝟓(𝟎. 𝟗𝟓𝟔𝟕𝟖) = 𝟎. 𝟗𝟓𝟔𝟒𝟓

𝒆𝒓𝒓𝒐𝒓 =|𝟎. 𝟗𝟓𝟔𝟒𝟓 − 𝟎. 𝟗𝟓𝟔𝟒𝟓|

|𝟎. 𝟗𝟓𝟔𝟒𝟓|∗ 𝟏𝟎𝟎 = 𝟎%

Nivel 3

𝟔𝟒

𝟔𝟑𝑰(𝒉𝒎) −

𝟏

𝟏𝟓𝑰(𝒉𝒆)

Ejemplo Dado el método del trapecio múltiple, tenemos:

∫𝑓(𝑥)𝑑𝑥 =

𝑏

𝑎

2[𝑓(𝑎)] + 𝑓(𝑏) + 2 ∑ 𝑓(𝑥𝑗)

𝑚−1

𝑗=1

𝐷𝑜𝑛𝑑𝑒 𝑛 =𝑏 − 𝑎

𝑚 ; 𝑥𝑗 = 𝑎 + 𝑗ℎ , (𝑗 = 0,1,2,3, … ,𝑚)

El primer paso en el proceso de Romberg, es obtener aproximaciones de la regla del

trapecio para 𝑚1 = 1 ,𝑚2 = 2 , 𝑚3 = 4 , … ,𝑚2 = 2𝑛−1, donde 𝑛𝜖𝑍+ y :

Page 144: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

144

ℎ𝑘 =𝑏 − 𝑎

𝑚𝑘=

𝑏 − 𝑎

2𝑘+1 ; (ℎ𝑘 𝑒𝑠 𝑒𝑙 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑖𝑒𝑛𝑡𝑒 𝑎 𝑚𝑘)

𝒏 𝟐𝒏−𝟏

1 1

2 2

3 4

4 8

5 16

6 32

⋮ ⋮

Aplicando el trapecio múltiple, de las particiones indicadas anteriormente obtenemos:

∫𝑓(𝑥)𝑑𝑥 =

𝑏

𝑎

ℎ𝑘

2[𝑓(𝑎) + 𝑓(𝑏) + 2 ∑ 𝑓(𝑎 + 𝑖ℎ𝑘)

2𝑘−1−1

𝑖=1

]

Demostración:

∫ 𝑓(𝑥)𝑑𝑥 = ∫ 𝑃2(𝑥)𝑑𝑥 = ∑ 𝑤𝑥𝑓𝑥

2

𝑘=0

𝑋2

𝑋0

𝑋2

𝑋0

𝑃(𝑥2)(𝑋) = 𝑓(𝑥0)𝑙(𝑥0)(𝑥) + 𝑓(𝑥1)𝑙(𝑥1) + 𝑓(𝑥2)𝑙(𝑥2)(𝑥)

Donde:

𝑙(𝑥0) =𝑥 − 𝑥1

𝑥0 − 𝑥1∗

𝑥 − 𝑥2

𝑥0 − 𝑥2

𝑙(𝑥1) =𝑥 − 𝑥0

𝑥1 − 𝑥0∗

𝑥 − 𝑥2

𝑥1 − 𝑥2

𝑙(𝑥2) =𝑥 − 𝑥0

𝑥2 − 𝑥0∗

𝑥 − 𝑥1

𝑥2 − 𝑥1

𝑓(𝑥0) ∫ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2)

−ℎ ∗ −2ℎℎ𝑑𝑡 + 𝑓1 ∫

ℎ(𝑡 − 0)ℎ(𝑡 − 2)

ℎ ∗ −ℎℎ𝑑𝑡 +

2

0

2

0

+𝑓(𝑥2) ∫ℎ(𝑡) ∗ ℎ(𝑡 − 1)

2ℎ ∗ ℎℎ𝑑𝑡

2

0

𝑓(𝑥0)ℎ

2∫ (𝑡 − 1)(𝑡 − 2)𝑑𝑡 − 𝑓(𝑥1)ℎ ∫ (𝑡)(𝑡 − 2)𝑑𝑡 +

𝑓(𝑥20)ℎ

2∫ (𝑡)(𝑡 − 1)𝑑𝑡

2

0

2

0

2

0

Page 145: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

145

𝑓(𝑥0)ℎ

2∫ (𝑡2 − 3𝑡 + 2)𝑑𝑡 − 𝑓(𝑥1)ℎ ∫ (𝑡2 − 2𝑡)𝑑𝑡 +

𝑓(𝑥2)ℎ

2∫ (𝑡2 − 𝑡)𝑑𝑡

2

0

2

0

2

0

𝑓(𝑥0)ℎ

2(𝑡3

3−

3𝑡2

2+ 2𝑡|

20) − 𝑓(𝑥1)ℎ (

𝑡3

3−

2𝑡2

2|20) +

𝑓(𝑥2)ℎ

2(𝑡3

3−

𝑡2

2|20)

𝑓(𝑥0)ℎ

2(2

3) − 𝑓(𝑥1)ℎ (−

4

3) +

𝑓(𝑥2)ℎ

2(2

3)

3(𝑓(𝑥0) + 4𝑓(𝑥1) + 𝑓(𝑥2)) R. Simpson 1/3

𝐼 = 𝒉

𝟑[𝒇(𝒙𝟎) + 4 ∑ 𝒇(𝒙𝟐𝒊−𝟏) +

𝑛−1

𝑖=1

2 ∑ 𝒇(𝒙𝟐𝒊) +

𝑛−2

𝑖=1

𝒇(𝒙𝒏)] 𝑅𝑒𝑔𝑙𝑎 𝑠𝑖𝑚𝑝𝑠𝑜𝑛1

3𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑒

Demostración Regla Simpson 3/8

∫ 𝑓(𝑥) =3

8ℎ(𝑓𝑥0

+ 3𝑓𝑥1+ 3𝑓𝑥2

+ 𝑓𝑥3)

𝑥3

𝑥0𝑅𝑒𝑔𝑙𝑎 𝑑𝑒

3

8𝑆𝑖𝑚𝑝𝑠𝑜𝑛

Demostración:

∫ 𝑓(𝑥)𝑑𝑥 = ∫ 𝑃3𝑑𝑥 = ∑ 𝑊𝑥𝑓𝑥

3

𝑘=0

𝑥3

𝑥0

𝑋3

𝑋0

𝑃3(𝑥) = 𝑓𝑥0𝑙𝑥0

(𝑥) + 𝑓𝑥1𝑙𝑥1

(𝑥) + 𝑓𝑥2𝑙𝑥2

(𝑥) + 𝑓𝑥3𝑙𝑥3

(𝑥)

Donde:

𝑙𝑥0=

𝑥 − 𝑥0

𝑥0 − 𝑥1∗

𝑥 − 𝑥2

𝑥0 − 𝑥2∗

𝑥 − 𝑥3

𝑥0 − 𝑥3

𝑙𝑥1=

𝑥 − 𝑥0

𝑥1 − 𝑥0∗

𝑥 − 𝑥2

𝑥1 − 𝑥2∗

𝑥 − 𝑥3

𝑥1 − 𝑥3

𝑙𝑥2=

𝑥 − 𝑥0

𝑥2 − 𝑥0∗

𝑥 − 𝑥1

𝑥2 − 𝑥1∗

𝑥 − 𝑥3

𝑥2 − 𝑥3

𝑙𝑥3=

𝑥 − 𝑥0

𝑥3 − 𝑥0∗

𝑥 − 𝑥1

𝑥3 − 𝑥1∗

𝑥 − 𝑥2

𝑥3 − 𝑥2

Page 146: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

146

𝑓𝑥0= ∫

ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 3)ℎ𝑑𝑡

−ℎ ∗ −2ℎ ∗ −3ℎ

𝑥3

0

+ 𝑓𝑥1∫

ℎ(𝑡) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 3)ℎ𝑑𝑡

ℎ ∗ −ℎ ∗ −2ℎ

𝑥3

𝑥0

+ 𝑓𝑥2∫

ℎ(𝑡) ∗ ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 3)

2ℎ ∗ ℎ ∗ −ℎ

𝑥3

𝑥0

+ 𝑓𝑥3∫

ℎ𝑡 ∗ ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2)ℎ𝑑𝑡

3ℎ ∗ 2ℎ ∗ ℎ−

𝑓𝑥0ℎ

6∫ (𝑡 − 1)(𝑡 − 2)(𝑡 − 3)𝑑𝑡

𝑥3

𝑥0

𝑥3

𝑥0

+𝑓𝑥1ℎ

2∫ 𝑡(𝑡 − 2)(𝑡 − 3)𝑑𝑡 −

𝑓𝑥2ℎ

2

𝑥3

𝑥0

∫ 𝑡(𝑡 − 1)(𝑡 − 3)𝑥3

𝑥0

+𝑓𝑥3ℎ

6∫ 𝑡(𝑡 − 1)(𝑡 − 2)𝑑𝑡

𝑥3

𝑥0

−𝑓𝑥0

6∫ (𝑡23 − 3𝑡 + 2)(𝑡 − 3)𝑑𝑡

𝑥3

𝑥0

+𝑓𝑥1ℎ

2∫ (𝑡3 − 4𝑡2 + 3𝑡)𝑑𝑡 +

𝑓𝑥3ℎ

6∫ 𝑡3 − 3𝑡 + 2𝑡𝑑𝑡

𝑥3

𝑥0

𝑥3

𝑥0

−𝑓𝑥3

6∫ (𝑡)3 − 3𝑡2 + 2𝑡𝑑𝑡

𝑥3

𝑥0

−𝑓(𝑥0)ℎ

6∫ (𝑡3 − 6𝑡2 + 11𝑡 − 6)𝑑𝑡 +

𝑓(𝑥1)ℎ

2[𝑡4

4−

5𝑡3

3+ 3𝑡2|

30]

𝑥3

𝑥0

+𝑓(𝑥2)ℎ

2[𝑡4

4+

4𝑡3

3+

3𝑡2

2|30] +

𝑓(𝑥3)ℎ

6[𝑡4

4− 𝑡3 + 𝑡2|

30]

𝑓𝑥0

3

8ℎ +

9

8𝑓𝑥1

ℎ +9

8𝑓𝑥2

ℎ +3

8𝑓𝑥3

3

8ℎ[𝑓𝑥0

+ 3𝑓𝑥1+ 3𝑓𝑥2

+ 𝑓𝑥3] R. de 3/8 Simpson

Algoritmo del trapecio function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) funcion=char(inputdlg('ingrese la funcion')); n=str2double(inputdlg('cuantos numeros desea ingresar')); f=inline(funcion); for i=1:n etiqueta=['x( ' num2str(i) ')=']; x(i)=str2double(inputdlg(etiqueta));

Page 147: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

147

end for i=1:n y(i)=f(x(i)); end opcion=str2double(inputdlg('elija la opcion 1 o 2')); switch opcion case 1 h=x(2)-x(1); integral=(f(x(2))-f(x(1)))*(h/2); ex=x(1):0.1:x(2); [fx cx]=size(ex); for i=1:cx ff(i)=f(ex(i)); end plot([x(1)-5 x(2)+5],[0 0]); hold on; plot([0 0],[max(ff)+3 min(ff)-3]); area(ex,ff); set(handles.text2,'String',integral); case 2 s=0; [fx cx]=size(ex); for i=1:cx ff(i)=f(ex(i)); end plot([x(1)-5 x(2)+5],[0 0]); hold on; plot([0 0],[max(ff)+3 min(ff)-3]); area(ex,ff); set(handles.text2,'String',integral); case 2 s=0; for i=2:n-1 s=s+2*f(x(i)); end h=x(2)-x(1); integral=(h/2)*(f(x(1))+s+f(x(n))); set(handles.text2,'string',integral); xx=x(1):0.1:x(n); [fxx cxx]=size(xx); for i=1:cxx yy(i)=f(xx(i)); end plot([x(1)-5 x(2)+5],[0 0]); hold on; plot([0 0],[max(ff)+3 min(ff)-3]); area(xx,yy); end for i=1:n etiqueta=['x(' num2str(i) ')=']; x(i)=str2double(inputdlg(etiqueta)); end for i=1:n y(i)=f(x(i)); end

Page 148: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

148

h=x(2)-x(1); integral=(f(x(2))-f(x(1)))*(h/2); ex=x(1):0.1:x(2); [fx cx]=size(ex); for i=1:cx ff(i)=f(ex(i)); end plot([x(1)-5 x(2)+5],[0 0]); hold on; plot([0 0],[max(ff)+3 min(ff)-3]); area(ex,ff);

Figura 6.7: Ejecución del programa

6.1.2 Regla del Trapecio Múltiple

Imagen 6.2: regla del trapecio Múltiple

Page 149: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

149

𝑃𝑎𝑟𝑎 𝑙𝑎 𝑔𝑟á𝑓𝑖𝑐𝑎 𝑡𝑒𝑛𝑒𝑚𝑜𝑠:

∫𝑓(𝑥)𝑑𝑥 =

𝑏

𝑎

= ∫ 𝑃1(𝑥)𝑑𝑥

𝑥1

𝑥0

+ ∫ 𝑃1(𝑥)𝑑𝑥

𝑥2

𝑥1

+ ∫ 𝑃1(𝑥)𝑑𝑥

𝑥3

𝑥2

+ ∫ 𝑃1(𝑥)𝑑𝑥

𝑥4

𝑥3

=ℎ

2(𝑓(𝑥0) + 𝑓(𝑥1)) +

2(𝑓(𝑥1) + 𝑓(𝑥2)) +

2(𝑓(𝑥2) + 𝑓(𝑥3)) +

2(𝑓(𝑥3) + 𝑓(𝑥4))

=ℎ

2(𝑓(𝑥0) + 2𝑓(𝑥1)) + 2𝑓(𝑥2) + 2𝑓(𝑥3) + 𝑓(𝑥4)

𝐺𝑒𝑛𝑒𝑟𝑎𝑙𝑖𝑧𝑎𝑛𝑑𝑜 𝑠𝑒 𝑡𝑖𝑒𝑛𝑒:

∫𝒇(𝒙)𝒅𝒙

𝒃

𝒂

=𝒉

𝟐(𝒇(𝒙𝟎) + 𝟐 ∑ 𝒇(𝒙𝒋) + 𝒇(𝒙𝒏)

𝒏−𝟏

𝒋=𝟏

)

Ejemplo 1

Dado ∫ 𝑥2𝑑𝑥7

3 , calcular:

a) Utilizar la Regla del Trapecio b) Utilizar la Regla del Trapecio 3 veces c) Utilizar la Regla del Trapecio 5 veces

RESOLUCION

a) ℎ =7−3

1= 4

∫𝑓(𝑥)𝑑𝑥 =

7

3

2(𝑓(3) + 𝑓(7)) =

4

2(9 + 49) = 116

b) ℎ =7−3

3=

4

3

𝑥1 = 3 +4

3=

13

3

𝑥2 = 3 +8

3=

17

3

𝑥3 = 3 + 4 = 7

∫𝑓(𝑥)𝑑𝑥 =

7

3

2(𝑓(3) + 𝑓 (

13

3)) +

2(𝑓 (

13

3) + 𝑓 (

17

3)) +

2(𝑓 (

17

3) + 𝑓(7))

=ℎ

2(𝑓(3) + 2𝑓 (

13

3) + 2𝑓 (

17

3) + 𝑓(7))

=ℎ

2(9 + 2 (

169

9) + 2 (

289

9) + 49) = 106,518

c) ℎ =7−3

5=

4

5

Page 150: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

150

𝑥1 = 3 +4

5(1) =

19

5

𝑥2 = 3 +4

5(2) =

23

5

𝑥3 = 3 +4

5(3) =

27

5

𝑥4 = 3 +4

5(4) =

31

5

𝑥5 = 3 +4

5(5) = 7

∫𝑓(𝑥)𝑑𝑥 =

7

3

2(𝑓(3) + 𝑓 (

19

5)) +

2(𝑓 (

19

5) + 𝑓 (

23

5)) +

2(𝑓 (

23

5) + 𝑓 (

27

5))

+ℎ

2(𝑓 (

27

5) + 𝑓 (

31

5)) +

2(𝑓 (

31

5) + 𝑓(7))

=ℎ

2(𝑓(3) + 2𝑓 (

19

5) + 2𝑓 (

23

5) + 2𝑓 (

27

5) + 2𝑓 (

31

5) + 𝑓(7))

=2

5(9 + 2 (

361

25) + 2 (

529

25) + 2 (

729

25) + 2 (

961

25) + 49) = 105,76

Algoritmo Trapecio Multiple function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) funcion=char(inputdlg('ingrese la funcion')); f=inline(funcion); n=str2double(inputdlg('ingrese numero de particiones')); for i=1:n etiqueta=['x(' num2str(i) ')=']; x(i)=str2double(inputdlg(etiqueta)); end for i=1:n y(i)=f(x(i)); end % constante k=(x(n)-x(1))/(2*(n-1)); %sumatorio del trapecio interno s=0; for i=1:n-1 s=s+2*f(x(i)); end integral=k*(f(x(1))+s+f(x(n))); set(handles.text2,'String', integral); set(handles.text5,'String', funcion); set(handles.text7,'String', x); %eje x plot([x(1)-2 x(n)+2],[0 0]);

Page 151: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

151

hold on; %eje y plot([0 0],[min(y)-2 max(y)+2]); %area de integración xx=x(1):0.1:x(n); [fxx cxx]=size(xx); for i=1:cxx yy(i)=f(xx(i)); end plot(xx,yy,'r'); area(xx,yy); %para graficar los puntos x0...xn for i=1:n cadena(i)=num2str(x(i)); end for i=1:n text(x(i),0,cadena(i)); end legend('Trapecio Múltiple');

6.1.3 Regla de Simpson

1. Regla de Simpson 1/3

Page 152: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

152

Imagen 6.3: Regla de Simpson 1/3

∫𝒇(𝒙)𝒅𝒙 =𝒉

𝟑(𝒇(𝒙𝟎) + 𝟒𝒇(𝒙𝟏) + 𝒇(𝒙𝟐))

𝒃

𝒂

Demostrar que ∫ 𝑓(𝑥)𝑑𝑥 =ℎ

3(𝑓(𝑥0) + 4𝑓(𝑥1) + 𝑓(𝑥2))

𝑏

𝑎

ℎ =𝑏 − 𝑎

2=

𝑥2 − 𝑥0

2

∫𝑓(𝑥)𝑑𝑥

𝑏

𝑎

= ∫ [𝐿0(𝑥)𝑓(𝑥0) + 𝐿1(𝑥)𝑓(𝑥1) + 𝐿2(𝑥)𝑓(𝑥2)]

𝑥2

𝑥0

Donde:

𝐿0(𝑥) =𝑥 − 𝑥1

𝑥0 − 𝑥1×

𝑥 − 𝑥2

𝑥0 − 𝑥2 ; 𝐿1(𝑥) =

𝑥 − 𝑥0

𝑥1 − 𝑥0×

𝑥 − 𝑥2

𝑥1 − 𝑥2 ; 𝐿2(𝑥) =

𝑥 − 𝑥0

𝑥2 − 𝑥0×

𝑥 − 𝑥1

𝑥2 − 𝑥1

∴ ∫ 𝑓(𝑥)𝑑𝑥

𝑏

𝑎

= 𝑓(𝑥0) ∫𝑥 − 𝑥1

𝑥0 − 𝑥1×

𝑥 − 𝑥2

𝑥0 − 𝑥2

𝑥2

𝑥0

𝑑𝑥 + 𝑓(𝑥1) ∫𝑥 − 𝑥0

𝑥1 − 𝑥0×

𝑥 − 𝑥2

𝑥1 − 𝑥2

𝑥2

𝑥0

𝑑𝑥

+ 𝑓(𝑥2) ∫𝑥 − 𝑥0

𝑥2 − 𝑥0×

𝑥 − 𝑥1

𝑥2 − 𝑥1

𝑥2

𝑥0

𝑑𝑥

𝑃𝑎𝑟𝑎 𝑥 = 𝑥0 + ℎ𝑡

𝑑𝑥

𝑑𝑡=

ℎ𝑑𝑡

𝑑𝑡

∴ 𝑑𝑥 = ℎ𝑑𝑡 (𝐸𝑐𝑢𝑎𝑐𝑖ó𝑛 2) 𝑆𝑖 𝑥 = 𝑥0 𝑒𝑛 (1) 𝑠𝑒 𝑡𝑖𝑒𝑛𝑒: 𝑥0 = 𝑥0 + ℎ𝑡 0 = ℎ𝑡 ∴ 𝑡 = 0 (𝐸𝑐𝑢𝑎𝑐𝑖ó𝑛 3) 𝑆𝑖 𝑥 = 𝑥2 𝑒𝑛 (1) 𝑠𝑒 𝑡𝑖𝑒𝑛𝑒: 𝑥2 = 𝑥0 + ℎ𝑡 𝑥2 − 𝑥0 = ℎ𝑡 2ℎ = ℎ𝑡 ∴ 𝑡 = 2

n=2

Page 153: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

153

= 𝑓(𝑥0)∫(𝑡 − 1)ℎ

−ℎ×

(𝑡 − 2)ℎ

−2ℎ

2

0

ℎ𝑑𝑡 + 𝑓(𝑥1)∫𝑡ℎ

ℎ×

(𝑡 − 2)ℎ

−ℎ

2

0

ℎ𝑑𝑡 + 𝑓(𝑥2)∫𝑡ℎ

2ℎ×

(𝑡 − 1)

2

0

ℎ𝑑𝑡

=ℎ

2𝑓(𝑥0)∫(𝑡 − 1)(𝑡 − 2)𝑑𝑡

2

0

− ℎ𝑓(𝑥1)∫ 𝑡(𝑡 − 2)𝑑𝑡

2

0

+ℎ

2𝑓(𝑥2)∫ 𝑡(𝑡 − 1)𝑑𝑡

2

0

2. Regla de Simpson 3/8

Imagen 6.4: Regla de Simpson 3/8

∫𝒇(𝒙)𝒅𝒙 =𝟑𝒉

𝟖(𝒇(𝒙𝟎) + 𝟑𝒇(𝒙𝟏) + 𝟑𝒇(𝒙𝟐) + 𝒇(𝒙𝟑))

𝒃

𝒂

Ejemplo 2

Dada ∫ 𝑠𝑒𝑛(𝑥)𝑑𝑥8

5

a) Integrar mediante el trapecio b) Integrar 5 veces mediante el trapecio c) Integrar 5 veces simpson 1/3

RESOLUCION:

a) ℎ =8−5

1= 3

∫𝑠𝑒𝑛(𝑥)𝑑𝑥 =

8

5

2(𝑓(5) + 𝑓(8)) =

3

2(𝑠𝑒𝑛(5) + 𝑠𝑒𝑛(8)) = 0.0456

Valor real

∫𝑠𝑒𝑛(𝑥)𝑑𝑥 =

8

5

−cos (𝑥)58 = 0.429

Error

n=3

Page 154: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

154

𝑒𝑟𝑟𝑜𝑟 = |0.429 − 0.0456

0.429| = 0.89 × 100% = 89%

b) ℎ =8−5

5=

3

5

∫𝑠𝑒𝑛(𝑥)𝑑𝑥 =

8

5

2(𝑠𝑒𝑛(5) + 𝑠𝑒𝑛 (

28

5)) +

2(𝑠𝑒𝑛 (

28

5) + 𝑠𝑒𝑛 (

31

5)) +

2(𝑠𝑒𝑛 (

31

5) + 𝑠𝑒𝑛 (

34

5))

+ℎ

2(𝑠𝑒𝑛 (

34

5) + 𝑠𝑒𝑛 (

37

5)) +

2(𝑠𝑒𝑛 (

37

5) + 𝑠𝑒𝑛(8))

=3

10(𝑠𝑒𝑛(5) + 2𝑠𝑒𝑛 (

28

5) + 2𝑠𝑒𝑛 (

31

5) + 2𝑠𝑒𝑛 (

34

5) + 2𝑠𝑒𝑛 (

37

5)) + 𝑠𝑒𝑛(8) = 0.4162

𝑒𝑟𝑟𝑜𝑟 = |0.429 − 0.4162

0.429| = 0.03 × 100% = 3%

c) ℎ =8−5

4=

3

4

∫𝑠𝑒𝑛(𝑥)𝑑𝑥 =ℎ

3(𝑠𝑒𝑛(5) + 4𝑠𝑒𝑛 (

23

4) + 𝑠𝑒𝑛 (

26

4))

8

5

+ℎ

3(𝑠𝑒𝑛 (

26

4) + 4𝑠𝑒𝑛 (

29

4) + 𝑠𝑒𝑛(8))

=1

4(𝑠𝑒𝑛(5) + 4𝑠𝑒𝑛 (

23

4) + 2𝑠𝑒𝑛 (

26

4) + 4𝑠𝑒𝑛 (

29

4) + 𝑠𝑒𝑛(8)) = 0.42997

Algoritmo de Simpson function calcular_Callback(hObject, eventdata, handles) % hObject handle to calcular (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %CODIGO DEL PROGRAMA(CALCULO DE AREA) f=inline(get(handles.fx,'string')); a=str2num(get(handles.a,'string')); b=str2num(get(handles.b,'string')); n=str2double(get(handles.n,'string')); h=(b-a)/n; s=f(a)+f(b); for i=2:n x(i)=a+(i-1)*h; s=s+2*f(x(i)); end I=s*(h/2); set(handles.area,'string',I) %CODIGO PARA GRAFICA for i=1:n+1 x(i)=a+(i-1)*h; y(i)=f(x(i)); end x=[x,b,a,a]; y=[y,0,0,f(a)]; fill(x,y,[0.8 0.4 0.9]); for i=1:n+1 x(i)=a+(i-1)*h; y(i)=f(x(i));

Page 155: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

155

line([x(i),x(i)],[0,f(x(i))]); end hold on ezplot(f,[min(x):0.2:max(x)]) ylabel('F(X)'); grid 'on' set(handles.axes1,'xminorgrid','on'); set(handles.axes1,'yminorgrid','on');

Figura 6.8 Botones de la máscara de interface

Page 156: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

156

Figura 6.9: Ejecución del programa

6.4 Regla de Boole

∫ 𝑓(𝑥)𝑑𝑥 =2ℎ

45(7𝑓𝑥0

+ 32𝑓𝑥1+ 12𝑓𝑥2

+ 32𝑓𝑥3+ 7𝑓𝑥4

) 𝑅𝑒𝑔𝑙𝑎 𝐵𝑜𝑜𝑙𝑒𝑥4

𝑥0

Demostración:

∫ 𝑓(𝑥)𝑑𝑥 = ∫ 𝑃4(𝑥) = ∑ 𝑤𝑥𝑓𝑥

4

𝑥=0

𝑥4

𝑥0

𝑥4

𝑥0

𝑃4(𝑥) = 𝑓𝑥0𝑙𝑥0

(𝑥) + 𝑓𝑥1𝑙𝑥1

(𝑥) + 𝑓𝑥2𝑙𝑥2

(𝑥) + 𝑓𝑥3𝑙𝑥3

(𝑥) + 𝑓𝑥4𝑙𝑥4

(𝑥)

Donde:

𝑙𝑥0=

𝑥 − 𝑥0

𝑥0 − 𝑥1∗

𝑥 − 𝑥2

𝑥0 − 𝑥2∗

𝑥 − 𝑥3

𝑥0 − 𝑥3∗

𝑥 − 𝑥4

𝑥0 − 𝑥4=

ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 3) ∗ ℎ(𝑡 − 4)

−ℎ ∗ −2ℎ ∗ −3ℎ ∗ −4ℎ

𝑙𝑥1=

𝑥 − 𝑥0

𝑥1 − 𝑥0∗

𝑥 − 𝑥2

𝑥1 − 𝑥2∗

𝑥 − 𝑥3

𝑥1 − 𝑥3∗

𝑥 − 𝑥4

𝑥1 − 𝑥4=

ℎ(𝑡) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 3) ∗ ℎ(𝑡 − 4)

ℎ ∗ −ℎ ∗ −2ℎ ∗ −3ℎ

Page 157: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

157

𝑙𝑥2=

𝑥 − 𝑥0

𝑥2 − 𝑥0∗

𝑥 − 𝑥1

𝑥2 − 𝑥1∗

𝑥 − 𝑥3

𝑥2 − 𝑥3∗

𝑥 − 𝑥4

𝑥2 − 𝑥4=

ℎ𝑡 ∗ ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 3) ∗ ℎ(𝑡 − 4)

2ℎ ∗ ℎ ∗ −ℎ ∗ −2ℎ

𝑙𝑥3=

𝑥 − 𝑥0

𝑥3 − 𝑥0∗

𝑥 − 𝑥1

𝑥3 − 𝑥1∗

𝑥 − 𝑥2

𝑥3 − 𝑥2∗

𝑥 − 𝑥4

𝑥3 − 𝑥4=

ℎ𝑡 ∗ ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 4)

3ℎ ∗ 2ℎ ∗ ℎ ∗ −ℎ

𝑙𝑥4=

𝑥 − 𝑥0

𝑥4 − 𝑥0∗

𝑥 − 𝑥1

𝑥4 − 𝑥1∗

𝑥 − 𝑥2

𝑥4 − 𝑥2∗

𝑥 − 𝑥3

𝑥4 − 𝑥3=

ℎ𝑡 ∗ ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 3)

4ℎ ∗ 3ℎ ∗ 2ℎ ∗ ℎ

𝑓𝑥0ℎ

24∫ (𝑡 − 1)(𝑡 − 2)(𝑡 − 3)(𝑡 − 4)𝑑𝑡 −

𝑓𝑥1ℎ

6∫ 𝑡(𝑡 − 2)(𝑡 − 3)(𝑡 − 4)𝑑𝑡 +

4

0

4

0

𝑓𝑥2

4∫ 𝑡(𝑡 − 1)(𝑡 − 3)(𝑡 − 4)𝑑𝑡 −

𝑓𝑥3ℎ

6∫ 𝑡(𝑡 − 1)(𝑡 − 2)(𝑡 − 4)𝑑𝑡 +

4

0

4

0

𝑓𝑥4

24∫ 𝑡(𝑡 − 1)(𝑡 − 2)(𝑡 − 3)𝑑𝑡

4

0

𝑓𝑥0ℎ

24∫ (𝑡2 − 3𝑡 + 29(𝑡2 − 7𝑡 + 12) −

𝑓𝑥1ℎ

6∫ (𝑡3 − 5𝑡2 + 6𝑡)

4

0

(𝑡 − 4)𝑑𝑡 +4

0

𝑓𝑥2

4∫ (𝑡3 − 4𝑡2 + 3𝑡)

4

0

(𝑡 − 4)𝑑𝑡 −𝑓𝑥3

6∫ (𝑡3 − 3𝑡2 + 2𝑡)(𝑡 − 4)𝑑𝑡 +

4

0

𝑓𝑥4

24∫ (𝑡3 − 3𝑡2 + 2𝑡)(𝑡 − 3)𝑑𝑡

4

0

𝑓𝑥0ℎ

24∫ (𝑡4 − 10𝑡3 + 35𝑡2 − 50𝑡 + 24)𝑑𝑡 −

𝑓𝑥1ℎ

6∫ (𝑡4 − 9𝑡3 + 26𝑡2 − 24𝑡)

4

0

𝑑𝑡 +4

0

𝑓𝑥2

2∫ (𝑡4 − 8𝑡3 + 19𝑡2 − 12𝑡)

4

0

𝑑𝑡 −𝑓𝑥3

6∫ (𝑡4 − 7𝑡3 + 14𝑡2 − 8𝑡) +

4

0

𝑓𝑥4

24∫ (𝑡4 − 6𝑡3 + 11𝑡2 − 6𝑡)𝑑𝑡 +

4

0

𝑓𝑥0

24[𝑡5

5−

10𝑡4

4+

35𝑡3

3−

50𝑡2

2+ 24𝑡|

40] −

𝑓𝑥1ℎ

6[𝑡5

5−

9𝑡4

4+

26𝑡3

3−

24𝑡2

2|40]

+𝑓𝑥2

4[𝑡5

5−

8𝑡4

4+

19𝑡3

3−

12𝑡2

2|40] −

𝑓𝑥3ℎ

6[𝑡5

5−

7𝑡4

4+

14𝑡3

3−

8𝑡2

2|40]

Page 158: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

158

𝑓𝑥4ℎ

24[𝑡5

5−

6𝑡4

4+

11𝑡3

3−

6𝑡2

2|40]

𝒇𝒙𝟎𝒉

𝟐𝟒[𝟏𝟒

𝟒𝟓] − 𝒇𝒙𝟏

𝒉 [−𝟔𝟒

𝟒𝟓] + 𝒇𝒙𝟐

𝒉 [𝟐𝟒

𝟒𝟓] − 𝒇𝒙𝟑

𝒉 [−𝟔𝟒

𝟒𝟓] + 𝒇𝒙𝟒

𝒉 [𝟏𝟒

𝟒𝟓]

𝟐𝒉

𝟒𝟓[𝟕𝒇𝒙𝟎

+ 𝟑𝟐𝒇𝒙𝟏+ 𝟏𝟐𝒇𝒙𝟐

+ 𝟑𝟐𝒇𝒙𝟑+ 𝟏𝟕𝒇𝒙𝟒

] R. de Boole

Ejercicios propuestos 1.-Integre la función siguiente en forma tanto analítica como la regla de Simpson, con n=4 y

5. Analice los resultados.

∫ (4x − 35

−3

)3 dx

2.- Integre la función siguiente tanto en forma analítica como numérica. Emplee las reglas

del trapecio y de Simpson 1/3 para integrar numéricamente la función. Para ambos casos,

utilice la versión de aplicación múltiple, con n=4. Calcule los errores relativos porcentuales

para los resultados numéricos.

∫ x23

0

ex dx

3.- Integre la función siguiente tanto analítica como numéricamente. Para las evaluaciones

numéricas use a) una sola aplicación de la regla del trapecio, b) la regla de Simpson 1/3, c)

la regla de Simpson 3/8, d) la regla de Boole, e) el método del punto medio, f) la fórmula de

integración abierta de 3 segmentos y 2 puntos, y g) la fórmula de integración abierta de 4

segmentos y 3 puntos. Calcule los errores relativos porcentuales de los resultados

numéricos.

∫ 152x dx1

0

4.- Integre la función que sigue tanto en forma analítica como numérica. Para las

evaluaciones numéricas utilice, a) una sola aplicación de la regla del trapecio; b) la regla de

Simpson 1/3; c) la regla de Simpson 3/8; d) aplicación múltiple de las reglas de Simpson,

con n=5; e) la regla de Boole; f) el método del punto medio; g) la fórmula de integración

abierta de 3 segmentos y 2 puntos, y h) la fórmula de integración abierta de 4 segmentos y

3 puntos.

Page 159: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

159

∫ (5 + 3cosx) dx3

0

Calcule los errores relativos porcentuales para los resultados numéricos.

5.- Suponga que la fuerza hacia arriba de la resistencia del aire sobre un objeto que cae es

proporcional al cuadrado de la velocidad. Para este caso, la velocidad se calcula con

v(t) = √gm

cdtanh (√

gcd

m t)

Donde cd=coeficiente de arrastre de segundo orden, a) Si g=9.8 m/s2, m=68.1 kg y cd =

0.25 kg/m, use integración analítica para determinar qué tan lejos cae el objeto en 10

segundos, b) Haga lo mismo, pero evalúe la integral con la regla del trapecio de segmento

múltiple. Use una n suficientemente grande para detener tres dígitos significativos de

exactitud.

6.- Evalué la integral de los datos tabulados a continuación, con a) la regla del trapecio y b) las reglas de Simpson:

x 0 0.1 0.2 0.3 0.4 0.5

f(x) 1 8 4 3.5 5 1

7.- Evalué la integral siguiente:

∫ (8 + 4cosx

π2

0

)dx

a)en forma analítica; b)con una sola aplicación de la regla del trapecio; c)con aplicación múltiple de la regla de trapecio, con n=2y4; d)con una sola aplicación de la regla de Simpson1/3; e con la aplicación múltiple de la regla de Simpson1/3, con n=4; f)con una sola aplicación de regla de Simpson 3/8; g) con aplicación múltiple de la regla de Simpson 3/8, con n=5. 8.- Evalué la integral siguiente:

∫ (1 − e−x3

0

)dx

a)en forma analítica; b)con una sola aplicación de la regla del trapecio; c)con aplicación múltiple de la regla de trapecio, con n=2y4; d)con una sola aplicación de la regla de Simpson1/3; e con la aplicación múltiple de la regla de Simpson1/3, con n=4; f)con una sola aplicación de regla de Simpson 3/8; g) con aplicación múltiple de la regla de Simpson 3/8, con n=5. 9.- Evalué la integral siguiente:

∫ (1 − e−x3

0

)dx

a)en forma analítica; b)con una sola aplicación de la regla del trapecio; c)con aplicación múltiple de la regla de trapecio, con n=2y4; d)con una sola aplicación de la regla de Simpson1/3; e con la aplicación múltiple de la regla de Simpson1/3, con n=4; f)con una sola aplicación de regla de Simpson 3/8; g) con aplicación múltiple de la regla de Simpson 3/8, con n=5. 10.- Evalué la integral siguiente:

Page 160: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

160

∫ (1 − x − 4x3 + 2x54

−2

)dx

a)en forma analítica; b)con una sola aplicación de la regla del trapecio; c)con aplicación múltiple de la regla de trapecio, con n=2y4; d)con una sola aplicación de la regla de Simpson1/3; e con la aplicación múltiple de la regla de Simpson1/3, con n=4; f)con una sola aplicación de regla de Simpson 3/8; g) con aplicación múltiple de la regla de Simpson 3/8, con n=5. Referencia4: métodos numéricos para ingenieros (sexta edición), autor: Steve C. Chapra, pág.: 572 CAPITULO 7: ECUACIONES DIFERENCIALES ORDINARIAS DE PRIMER ORDEN

Las ecuaciones diferenciales son una parte muy importante del análisis matemático y

modelan innumerables procesos de la vida real. Una ecuación diferencial es una relación,

válida en cierto intervalo, entre una variable y sus derivadas sucesivas. Su resolución

permite estudiar las características de los sistemas que modelan y una misma ecuación

Page 161: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

161

puede describir procesos correspondientes a diversas disciplinas. Las ecuaciones

diferenciales tienen numerosas aplicaciones a la ciencia y a la ingeniería, de Modo que los

esfuerzos de los científicos se dirigieron en un principio, a la búsqueda de métodos de

resolución y de expresión de las soluciones en forma adecuada.

7.1 Métodos de Runge-Kutta

Métodos numéricos para la solución de Ecuaciones diferenciales ordinarias de la forma 𝑑𝑦

𝑑𝑥= 𝑓(𝑥, 𝑦)

7.1.1 Método de Euler

𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥𝑖, 𝑦𝑖)ℎ 𝑘

También se lo conoce a este método como método de Euler-Cauchy o de punto pendiente.

En donde se predice un nuevo valor de y usando la pendiente (igual a la primera derivada

en el valor original de x) para extrapolar linealmente sobre el tamaño de paso h.

Figura 7.1: Ilustración gráfica del método de euler

Ejemplo.- Utilizando el método de Euler calcule.-

𝑦´ = 𝑦𝑥2 − 1.2𝑦 En x∈ [0,2] con ℎ = 0.25 y la condición inicial 𝑦(0) = 1 Inicialmente resolviendo analíticamente la ecuación diferencial tenemos:

𝑑𝑦

𝑑𝑥= 𝑦𝑥2 − 1.2𝑦

Page 162: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

162

𝑑𝑦

𝑑𝑥= 𝑦(𝑥2 − 1.2)

∫𝑑𝑦

𝑦= ∫(𝑥2 − 1.2)𝑑𝑥

ln 𝑦 =𝑥3

3− 1,2𝑥 + 𝑐

𝑦 = 𝑒𝑥3

3−1,2𝑥+𝑐

Encontrando el valor de c mediante la condicon iniciual y(o)=1, entonces

1 = 𝑒03

3−1,2∗0+𝑐

1 = 𝑒𝑐 𝐿𝑛1 = 𝑐 𝐶 = 0

𝑖 𝑥𝑖 𝑦𝑖 𝑓(𝑥𝑖, 𝑦𝑖) 𝑦𝑖+1 𝑌𝑖(𝑟𝑒𝑎𝑙) Error

0 0 1 -1,2 0,7 1 0

1 0,25 0,7 -0,79625 0,5009375 0,7446 0,059897932

2 0,5 0,5009375 -

0,47589063 0,38196484 0,5721 0,124388219

3 0,75 0,38196484 -

0,24350259 0,3210892 0,4679 0,183661373

4 1 0,3210892 -

0,06421784 0,30503474 0,4203 0,236047593

5 1,25 0,30503474 0,11057509 0,33267851 0,4278 0,286968824

6 1,5 0,33267851 0,34931244 0,42000662 0,5091 0,346536024

7 1,75 0,42000662 0,78226233 0,6155722 0,7308 0,425278299

8 2 0,6155722 1,72360216 1,04647274 1,3056 0,528513939

Ejemplo 2.- Con el método de Euler integre numéricamente la ecuación

𝑦` = 4𝑒0,8𝑥 − 0.5𝑦 [0,4] h=1 pasos de 1 Condición 𝑦(0) = 2

𝑖 𝑥𝑖 𝑦𝑖 𝑓(𝑥𝑖, 𝑦𝑖) 𝑦𝑖+1 𝑌𝑖(𝑟𝑒𝑎𝑙) Error

0 0 2 3 5 6,40216371 4,70108186

1 1 6,70108186 5,55162279 12,2527046 13,6857774 9,61870008

2 2 16,3197819 11,6522387 27,9720207 30,1066952 20,879467

3 3 37,1992489 25,4930811 62,69233 66,7839558 46,1385184

4 4 83,3377673 56,4612371 139,799004 -

65,8995022 -

4,71913255

𝒀𝟎𝒊+𝟏 = 𝒀𝒊 + 𝒇(𝒙𝒊, 𝒚𝒊) × 𝒉

𝒀𝟎𝒊+𝟏 = 𝟐 + 𝟑 × 𝟏

Page 163: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

163

𝒀𝟎𝒊+𝟏 = 𝟓

𝒀`𝒊+𝟏 = 𝒇(𝒙𝒊+𝟏, 𝒀

𝟎𝒊+𝟏)

𝒀`𝒊+𝟏 = 𝒇(𝟏 ; 𝟓)

𝒀`𝒊+𝟏 = 4𝑒0,8∗1 − 0.5 ∗ 5

𝒀`𝒊+𝟏 = 𝟔, 𝟒𝟎𝟐𝟏𝟔

�̅� =𝒇(𝒙𝒊 , 𝒚𝒊)𝒇(𝒙𝒊+𝟏, 𝒀

𝟎𝒊+𝟏)

𝟐

�̅� =𝟑 + 𝟔, 𝟒𝟎𝟐𝟏𝟔

𝟐

�̅� = 4,7010815

𝒚𝒊+𝟏 = 𝒚𝒊 + �̅� ∗ 𝒉 𝒚𝒊+𝟏 = 𝟐 + 𝟒, 𝟕𝟎𝟏𝟎𝟖𝟏𝟓 𝒚𝒊+𝟏 = 𝟔, 𝟕𝟎𝟏𝟎𝟖𝟏𝟓 Aplicando Laplace a la ecuación

𝑦` = 4𝑒0,8𝑥 − 0.5𝑦

𝒔𝒚(𝒔) − 𝒚(𝟎) + 𝟎, 𝟓𝒚(𝒔) = 𝟒 ∗𝟏

𝒔 − 𝟎, 𝟖

𝒔𝒚(𝒔) + 𝟎, 𝟓𝒚(𝒔) =𝟒

𝒔 − 𝟎, 𝟖+ 𝟐

𝒔𝒚(𝒔) + 𝟎, 𝟓𝒚(𝒔) =𝟒 + 𝟐𝒔 − 𝟏, 𝟔

𝒔 − 𝟎, 𝟖

𝒚(𝒔)(𝒔 + 𝟎, 𝟓) =𝟒 + 𝟐𝒔 − 𝟏, 𝟔

𝒔 − 𝟎, 𝟖

𝒚(𝒔) =𝟒 + 𝟐𝒔 − 𝟏, 𝟔

𝒔 − 𝟎, 𝟖 ∗ (𝒔 + 𝟎, 𝟓)

Aplicando fracciones parciales

2𝑠 − 2,4

𝑠 − 0,8 ∗ (𝑠 + 0,5)=

𝐴

𝑠 − 0,8+

𝐵

𝑠 + 0,5

2𝑠 − 2,4 = 𝐴𝑠 + 0,5𝐴 + 𝐵𝑠 − 0,8𝐵

𝐴 + 𝐵 = 2

0,5𝐴 − 0,8𝐵 = −2,4

Page 164: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

164

𝐴 = −14

13𝑒0,8𝑥 +

40

13𝑒−0,5𝑥

Ejemplo 3: Con el método de Euler integre numéricamente la ecuación

𝑑𝑦

𝑑𝑥= −2𝑥3+12𝑥2 − 20𝑥 + 8,5

Desde x=0 hasta x=4 con un tamaño de paso 0,5. La condición inicial en x=0 es y=1. Solución

𝑑𝑦

𝑑𝑥= −2𝑥3 + 12𝑥2 − 20𝑥 + 8.5

𝑑𝑦 = (−2𝑥3 + 12𝑥2 − 20𝑥 + 8.5)𝑑𝑥

∫𝑑𝑦 = ∫(−2𝑥3 + 12𝑥2 − 20𝑥 + 8.5)𝑑𝑥

𝑦 = −𝑥4

2+ 4𝑥3 − 10𝑥2 + 8.5𝑥 + 𝐶

1=−04

2+ 4(0)3 − 10(0)2 + 8.5(0) + 𝐶

𝐶 = 1

𝑦 = −0,5𝑥4 + 4𝑥3 − 10𝑥2 + 8,5 + 1 Error:

𝐸𝑡 = 𝑣𝑎𝑙𝑜𝑟 𝑣𝑒𝑟𝑑𝑎𝑑𝑒𝑟𝑜 − 𝑣𝑎𝑙𝑜𝑟 𝑎𝑝𝑟𝑜𝑥𝑖𝑎𝑚𝑑𝑜

𝐸𝑡 = 3,21875 − 5,25 = −2,03125

O, expresada como error relativo porcentual, 𝐄𝐭 =-63,1. En el segundo paso:

𝑦(1) = 𝑦(0,5) + 𝑓(0,5; 5,25)0,5

𝐲(𝟏) = 5,25 + {−2(0,5)3+12(0,5)2 − 20(0,5) + 8,5}

𝐲(𝟏) = 5,875 Tabla de comparación de los valores verdaderos y aproximados mediante el método de Euler. Se utiliza la ecuación 𝐲𝐢+𝟏 = 𝐲𝐢 + 𝐟(𝐱𝐢, 𝐲𝐢)𝐡 para implementar el método de Euler:

𝑦(0,5) = 𝑦(0) + 𝑓(0,1)0,5

Donde y(0)=1 y la pendiente estimada en x=0 es:

𝑓(0,1) = −2(0)3+12(0)2 − 20(0) + 8,5 = 8,5

Page 165: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

165

Por lo tanto,

𝑦(0,5) = 1,0 + 8,5(0,5) = 5,25 La solución verdadera en x=0,5 es:

𝑦 = −0,5(0,5)4+4(0,5)3 − 10(0,5)2 + 8,5(0,5) + 1 = 3,21872

Figura 7.2 grafica del método de Euler en Excel

Ejemplo 2: Resuelva el siguiente problema de valor inicial En el intervalo de t=0 a 2, donde y (0) = 1. Muestre todos sus resultados en la misma gráfica.

dy

dt= yt3 − 1.5y

EULER h=0,5

i xi yreal f(xi,yi) yi+1

0 0 1.0000 0 1

0

1

2

3

4

5

6

7

8

0 2 4 6 8 10 12

y verd

y euler

Page 166: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

166

1 0.5 0.4798 -1.5000 0.2500

2 1 0.2865 -0.3438 0.0781

3 1.5 0.3737 -0.0391 0.0586

4 2 2.7183 0.1099 0.1135

Figura 7.3 métodos de Runge Kutta

7.3 Análisis del error para el método de Euler La solución numérica de las EDO implica dos tipos de error: Errores de truncamiento: Originados por la naturaleza de las técnicas empleadas para aproximar los valores de y. Errores de redondeo: Causados por el número limitado de cifras significativas que una computadora puede retener.

7.3.1 Errores de truncamiento Los errores de truncamiento se componen de dos partes: Error de truncamiento local: Que resulta de una aplicación del método considerado, en un solo paso. Error de truncamiento propagado: Que resulta de las aproximaciones producidas durante los pasos previos. La suma de los dos es el error total de truncamiento.

7.4 Mejoras del método de Euler Un motivo fundamental de error en el método de Euler es suponer que la derivada al inicio del intervalo es la misma durante todo el intervalo. Hay dos modificaciones simples para evitar esta consideración y son:

1. Método de Heun

2. Método del punto medio

0,0000

0,5000

1,0000

1,5000

2,0000

2,5000

3,0000

0 0,5 1 1,5 2 2,5

EULER h=0,25

EULER h=0,5

Y REAL

PUNTO MEDIO

RK CUARTO ORDEN

Page 167: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

167

7.1.2 Método de Heun Este método emplea dos derivadas uno en el punto inicial y otra en el final. Las dos

derivadas se promedian con la finalidad de obtener una mejor estimación de la pendiente

en todo el intervalo.

Recuerde que en el método de Euler la pendiente al inicio del intervalo

y = f(i′ xi,yi)

la expresión anterior se utiliza para extrapolar linealmente a yi+1,mediante la siguiente

expresión

y = yi + f(i+10 xi,yi)h

La ecuación es una predicción intermedia, da una estimación de yi+1

que permite el cálculo de la estimación de la pendiente al final del intervalo:

y = f(i+1′ xi+1,y )i+1

0

combinando las dos pendientes, para obtener un pendiente promedio se obtiene:

Ȳ′ =f(xi,yi)+f(xi+1,y )i+1

0

2∗ ℎ

La cual va a ser la pendiente de la expresión de Euler

Resumen de las ecuaciones

𝐲 = 𝐲𝐢 + 𝐟(𝐢+𝟏𝟎 𝐱𝐢,𝐲𝐢)𝐡 (Predictor)

𝐲𝐢+𝟏 = 𝐲𝐢+ 𝐟(𝐱𝐢,𝐲𝐢)+𝐟(𝐱𝐢+𝟏,𝐲 )𝐢+𝟏

𝟎

𝟐𝐡 (Corrector)

El método de Heun es un procedimiento predictor corrector de un solo paso.

Un criterio de terminación para la convergencia del corrector está dado por:

|Ea| = |(y −y )i+1

j−1i+1

j

(y )i+1j

|

Page 168: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

168

Figura 7.4 Representación gráfica del método de Heun

7.5 Método de Runge-Kutta de segundo orden

La expresión del método de Runge-Kutta de 2do orden es:

Yi+1 = Yi + (a1k1 + a2k2)h (𝟏)

Donde: k1 = f(xi, yi) (𝟐) ;

k2 = f(xi + (p1)h , yi + q11(k1)h) (𝟑)

Recordando la serie de Taylor, tenemos:

Yi+1 = Yi + f(xi, yi)h +f′(xi, yi)

2!h2 (𝟒)

Encontrando f′(xi, yi) :

f′(xi, yi) =df(xi, yi)

dx=

∂f

∂x∗dx

dx+

∂f

∂y∗

dy

dx

f′(xi, yi) =df

dx+

∂f

∂y∗dy

dx (𝟓)

Yi+1 = Yi + f(xi, yi)h + (df

dx+

∂f

∂y∗dy

dx)h2

2! (𝟔)

Utilizando la serie de Taylor de dos variables; tenemos:

g(x + r; y + s) = g(x; y) ∗ r ∗∂g

∂x+ s ∗

∂g

∂y+ ⋯

Veamos el valor de:

f(xi + (p1)h , yi + q11(k1)h) = f(xi, yi) + p1h∂f

∂x+ q11(k1)h

∂f

∂y+ O(h2) (7)

Si 𝐚𝟐 = 𝟏/𝟐 tenemos:

Page 169: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

169

a1+a2 = 1 ≫ a1 = 1 −1

2= 1/2

a2p1 =1

2 ≫ p1 = 1

a2q11 =1

2 ≫ q11 = 1

Entonces:

Yi+1 = Yi + (1

2k1 +

1

2 k2)h

k1 = f(xi, yi) METODO HEUN

k2 = f(xi + h , yi + (k1)h)

Si 𝐚𝟐 = 𝟏 tenemos:

a1+a2 = 1 ≫ a1 = 1 − 1 = 0

a2p1 =1

2 ≫ p1 = 1/2

a2q11 =1

2 ≫ q11 = 1/2

Entonces:

Yi+1 = Yi + ( k2)h

k1 = f(xi, yi) METODO DE PUNTO MEDIO

k2 = f(xi + 1/2h , yi + 1/2(k1)h)

Explicación 𝐤𝐧

Los métodos de Runge-Kutta tienen la exactitud del esquema de la Serie de Taylor, sin

necesitar del cálculo de derivadas superiores.

La fórmula general es:

𝑌𝑖+1 = 𝑌𝑖 + 𝜑 (𝑥; 𝑌𝑖; ℎ)

Donde φ (x; Yi;h) es la función de incremento, y representa el promedio de la pendiente

sobre el intervalo.

La función de incremento se puede escribir en su forma general como:

φ = a1k1 + a2k2+ … + ankn

Page 170: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

170

Donde las ai son constantes y las ki son: k1 = f(xi; yi)

k2 = f(xi + p1h; yi + q11k1h)

k3 = f(xi + p2h; yi + q21k1h++ q22k2h)… kn = f(xi + pnh; yi + qn−1k1h+qn−12k2h +…….+ qn−1(n − 1knh ) Todas las k son relaciones recurrentes. Por lo que k1 aparece en la ecuación k2, que aparece en la ecuación k3, etc. Esta recurrencia hace a los métodos RK eficientes para su cálculo en computadora.

7.6 Métodos de Runge-Kutta de tercer orden

Para el resultado son seis ecuaciones con ocho incógnitas, por lo tanto se deben suponer dos valores con antelación para poder desarrollar el sistema de ecuaciones. Una versión ampliamente usada es:

Yi+1 = Yi +1

6(k1 + 4k2 + k3)h

k1 = f(xi, yi)

k2 = f (xi +1

2h , yi +

1

2(k1)h)

k3 = f(xi + h , yi − (k1)h) + 2k2h)

Si la ecuación deferencial ordinaria está en función solo de x, este método de tercer orden se reduce a la regla de Simpson 1/3. Los métodos de RK de tercer orden dan resultados exactos cuando la solución es cubica, al tratarse de polinomios la ecuación será exacta cuando la ecuación diferencial ordinaria sea cúbica y la solución sea de cuarto grado.

Figura 7.8: Ejemplo en Excel

7.7 Métodos de Runge-Kutta de cuarto orden

Page 171: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

171

El más popular de los métodos Rk es el de cuarto orden. La versión comúnmente usada se llama método clásico de Rk de cuarto orden:

Yi+1 = Yi +1

6(k1 + 2k2 + 2k3 + k4)h

k1 = f(xi, yi) k2 = f(xi + 1/2h , yi + 1/2(k1)h)

k3 = f(xi + 1/2h , yi + 1/2(k2)h))

k4 = f(xi + h , yi + (k3)h)

Demostración: El método de RK de cuarto orden está basado en lo siguiente:

Yi+1 = Yi + (a1k1 + a2k2 + a3k3 + a4k4)h (1)

Dónde: sabiendo el valor de Y = Yi para xi , nosotros podemos encontrar el valor de Yi =Yi+1 para xi+1 , y h = (xi+1 − xi)

La ecuación (1) es comparada con los primeros cinco términos de la serie Taylor

Yi+1 = Yi +dy

dx|xi,yi

(xi+1 − xi) +1

2! d2y

dx2|xi,yi

(xi+1 − xi)2 +

1

3! d3y

dx3|xi,yi

(xi+1 − xi)3 +

1

4! d4y

dx4|xi,yi

(xi+1 − xi)4

(2)

Sabiendo que dy

dx= f(xi, yi) y h = (xi+1 − xi)

Entonces:

Yi+1 = Yi + f(xi, yi)h +1

2! f′(xi, yi) (h)2 +

1

3! f′′(xi, yi) (h)3 +

1

4! f′′′(xi, yi) (h)4

Basándonos en la ecuación (2) y (3), una de las soluciones más usadas es:

Yi+1 = Yi +1

6(k1 + 2k2 + 2k3 + k4)h

Este método tiene similitud con el procedimiento de Héun en cuanto a que se usan múltiples estimaciones de la pendiente para obtener una mejor pendiente promedio en el intervalo.

Así, el siguiente valor (Yi+1) es determinado por el presente valor (Yi)mas el producto del

tamaño del intervalo (h) por una pendiente estimada. La pendiente es un promedio

ponderado de pendientes:

k1 es la pendiente al principio del intervalo;

k2 es la pendiente en el punto medio del intervalo, usando k1 para determinar el valor de y en el punto xi + h/2 usando el método de Euler

k3 es otra vez la pendiente del punto medio, pero ahora usando k2 para determinar el valor de y

k4 es la pendiente al final del intervalo, con el valor de y determinado por k3

Page 172: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

172

Promediando las cuatro pendientes, se le asigna mayor peso a las pendientes en el

punto medio:

Ejemplo: Resuelva el siguiente problema de valor inicial en el intervalo de t=0 a 2, donde y (0) = 1. Muestre todos sus resultados en la misma gráfica.

dy

dt= yt3 − 1.5y

a) Método RK de cuarto orden con h=0.5.

Figura 7.9: Cuadro de datos del método de runge kutta 4to orden

Figura 7.10: grafica del método de Runge Kutta 4to orden

7.8 Métodos de Runge-Kutta de orden superior

Para tener resultados más exactos, se recomienda el método de RK de quinto orden.

Yi+1 = Yi +1

90(7k1 + 32k3 + 12k4 + 32k5 + 7k6)h

0,0000

0,5000

1,0000

1,5000

2,0000

2,5000

3,0000

0 0,5 1 1,5 2 2,5

EULER h=0,25

EULER h=0,5

Y REAL

PUNTO MEDIO

RK CUARTO ORDEN

Page 173: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

173

Donde:

k1 = f(xi, yi)

k2 = f (xi +1

4h , yi +

1

4(k1)h)

k3 = f (xi +1

4h , yi +

1

8(k1)h +

1

8(k2)h))

k4 = f (xi +1

2h , yi −

1

2(k2)h + (k3)h)

k5 = f (xi +3

4h , yi +

3

16(k1)h +

9

16(k4)h)

k5 = f (xi + h , yi −3

7(k1)h +

2

7(k2)h +

12

7(k3)h −

12

7(k4)h +

8

7(k5)h)

Ejemplo 6 Use el método clásico de Runge-Kutta de 5to Orden para integrar numéricamente la siguiente ecuación:

f(x;y) = -2x3+ 12 x2 – 20x + 8,5 desde x=0 hasta x=4, con un tamaño de paso de 0,5. Condición inicial en x=0 y y=1.

Page 174: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

174

Figura 7.11: grafica de Runge Kutta orden superior

Ejercicios propuestos 1.- Resuelva el siguiente problema de valor inicial en el intervalo de t=0 a 2, donde y (0) =

1. Muestre todos sus resultados en la misma gráfica.

dy

dt= yt3 − 1.5y

b) Analíticamente.

c) Método de Euler con h=0.5 y 0.25.

d) Método RK de cuarto orden con h=0.5.

2.- Resuelva el siguiente problema en el intervalo de x=0 a 1. Usando un tamaño de paso

de 0.25 donde y (0)=1. Muestre todos sus resultados en la misma gráfica.

dy

dx= (1 + 2x)√y

a) Analíticamente.

b) Método de Euler.

c) Método de Heun sin el corrector.

d) Método de Ralston.

e) Método de RK de cuarto orden.

3.- Utilice los métodos de a) Euler y b) Heun (sin iteración) para resolver:

Page 175: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

175

d2y

dt2− t + y = 0

Donde y (0) = 2 y y′(0) = 0. Resuelva de x = 0 a 4, con h = 0.1. Compare los métodos por

medio de graficar las soluciones.

4.- Resuelva el problema siguiente con el método de RK de cuarto orden:

d2y

dx2+ 0.6

dy

dx+ 8y = 0

Donde y (0) = 4 y y′(0) = 0. Resuelva de x = 0 a 5 con h= 0.5. Grafique sus resultados.

5.- Resuelva la ecuación que se presenta a continuación, de t = 0 a 3, con h = 0.1, con los

métodos de a) Heun (sin corrector), y b) RK y Ralston de segundo orden:

dy

dx= y sen3(t) y(0) = 1

6.-Solucione en forma numérica el problema siguiente, de t = 0 a 3:

dy

dt= −y + t2, y(0) = 1

Utilice el método de RK de tercer orden, con un tamaño de paso de 0,5.

7.-Use los métodos de:

a) Euler

b) RK de cuarto orden

Para resolver:

dy

dt= −2y + 4e−1

dz

dx= −

yz2

3

En el rango de x = 0 a 1, con un tamaño de paso de 0,2, con y(0) = 2 y z(0) = 4.

8.-El movimiento de un Sistema acoplado masa-resorte (como indica la figura) esta descrito

por la ecuación diferencial ordinaria que sigue:

md2x

dt2+ c

dx

dt+ kx = 0

Page 176: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

176

Donde x=desplazamiento desde la posición de equilibrio (m), t=tiempo(s), m=20(kg) masa y

c= coeficiente de amortiguamiento (N ∙s

m). El coeficiente de amortiguamiento c adopta tres

valores, 5 (subamortiguado), 40 (amortiguamiento crítico) y 200 (sobreamortiguado). La

constante del resorte es k = 20 (N ∙s

m). La velocidad inicial es de cero y el desplazamiento

inicial es x = 1(m). Resuelva esta ecuación con el uso de un método numérico durante el

periodo 0 ≤ t ≤ 15 s grafique el desplazamiento versus el tiempo de amortiguamiento sobre

la misma curva.

9.- Si se drena el agua desde un tanque cilíndrico vertical por medio de abrir una válvula en

la base, el líquido fluirá rápido cuando el tanque este lleno y despacio conforme se drene.

Como se ve, la tasa a la que el nivel del agua disminuye es:

dy

dt= −k√y

Donde k es una constante que depende de la forma del agujero y del area de la sección

transversal del tanque y agujero de drenaje. La profundidad del agua y se mide en metros y

el tiempo t en minutos.

Si k = 0.006, determine cuanto tiempo se requiere para vaciar el tanque si el nivel de fluido

se encuentra en un inicio a 3m. Resuelva con la aplicación de la ecuación de Euler y

escriba un programa de computadora en Excel. Utilice un paso de 0.5 minutos.

10.-La siguiente es una ecuación diferencial de Segundo orden con valor inicial:

d2x

dt2+ (5x)

dx

dt+ (x + 7)sen(wt) = 0

Donde:

dx

dt(0) = 1,5 y x(0) = 6

Observe que w = 1. Descomponga la ecuación en dos ecuaciones diferenciales de primer

orden. Después de la descomposición, resuelva el sistema t = 0 a 15, y grafique sus

resultados.

Page 177: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

177

Referencia5: métodos numéricos para ingenieros (sexta edición), autor: Steve C. Chapra,

pág.: 68

Algoritmo de resolución de ecuaciones diferenciales por el método de Euler

function varargout = MetodoEuler(varargin) % METODOEULER MATLAB code for MetodoEuler.fig % METODOEULER, by itself, creates a new METODOEULER or raises the existing % singleton*. % % H = METODOEULER returns the handle to a new METODOEULER or the handle to % the existing singleton*. % % METODOEULER('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in METODOEULER.M with the given input arguments. % % METODOEULER('Property','Value',...) creates a new METODOEULER or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before MetodoEuler_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to MetodoEuler_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". %

Page 178: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

178

% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help MetodoEuler % Last Modified by GUIDE v2.5 02-Aug-2015 22:35:15 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @MetodoEuler_OpeningFcn, ... 'gui_OutputFcn', @MetodoEuler_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit6_Callback(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit6 as text % str2double(get(hObject,'String')) returns contents of edit6 as a double % --- Executes during object creation, after setting all properties. function edit6_CreateFcn(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in pushbutton1.

Page 179: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

179

function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) f1=get(handles.edit1,'string'); f=inline(f1,'x','y'); x(1)=str2double(get(handles.edit2,'string')); xf(1)=str2double(get(handles.edit3,'string')); h=str2double(get(handles.edit4,'string')); yi=get(handles.edit5,'string'); y(1)=str2double(yi); n=(xf-x)/h; sol=strcat('Dy=',f1); soly=strcat('y(0)=',yi); in=dsolve(sol,soly,'x'); inte=inline(in,'x','y'); fun=string(in); ff(1)=y(1); a(1)=0; for i=1:n a(i+1)=i; y(i+1)=y(i)+h*f(x(i),y(i)); x(i+1)=x(i)+h; ff(i+1)=inte(x(i+1),y(i+1)); end set(handles.text7,'string',fun); set(handles.uitable1,'data',[a',x',ff',y']); plot(handles.axes1,x,y,'b','linewidth',5); hold(handles.axes1,'on'); plot(handles.axes1,x,ff,'r','linewidth',4) grid on; hold on; plot([0 0],[min(y)-2 max(y)+2]); hold on; plot([min(x)-2 max(x)+2],[0 0]); hold on;

Page 180: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

180

ANEXOS

Propiedades de Laplace

L{ f(t) + g(t) } = F(s) + G(s)

L{ a.f(t) } = a.F(s)

L{ f(at) } = 1

𝑎𝐹 (

𝑠

𝑎)

L{ eat.f(t) } = F(s-a)

L{ f(t-a) } = e-as.F(s)

L{ f ’ (t) } = s.F(s) – f(0)

L{ f ‘’ (t) } = s2.F(s) – s.f(0) – f(1)

L{ ∫ 𝑡

0f(T). dt } =

𝐹(𝑠)

𝑠

Tabla de la transformada de Laplace

f(t) F(s)

𝑢(𝑡) 1

𝑠

𝑡 1

𝑠2

𝑡𝑛 𝑛!

2𝑛+1

𝑠𝑒𝑛(𝜔𝑡) 𝜔

𝑠2 + 𝜔2

cos (𝜔𝑡) 𝑠

𝑠2 + 𝜔2

𝛿(𝑡) 1

𝛿(𝑡 − 𝑎) 𝑒−𝑎𝑠

𝑒𝑎𝑡 1

𝑠 − 𝑎

𝑡. 𝑓(𝑡) −

𝜕𝐹(𝑠)

𝜕𝑠

1

𝑡𝑓(𝑡) ∫ 𝐹(𝑢)𝑑𝑢

𝑠

𝑓(𝑡) ∗ 𝑔(𝑡) 𝐹(𝑠). 𝐺(𝑠) EJERCICIOS DE LAPLACE CON ECUACIONES DIFERENCIASLES POR LAPLACE

Usando la transformada de Laplace encuentre la solución de la ecuación.

𝒚′′ − 𝟐𝒚′ + 𝟓𝒚 = −𝟖𝒆−𝒕 𝒚(𝟎) = 𝟐 𝒚′(𝟎) = 𝟏𝟐

Page 181: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

181

ℒ(𝑦′(𝑡))(𝑠) = 𝑠𝑌(𝑠) − 𝑦(0) = 𝑠𝑌(𝑠) − 2

ℒ(𝑦′′(𝑡))(𝑠) = 𝑠2𝑌(𝑠) − 𝑠𝑦(0) − 𝑦′(0) = 𝑠2𝑌(𝑠) − 2𝑠 − 12

ℒ(−8𝑒−𝑡)(𝑠) = −8ℒ(𝑒−𝑡)(𝑠) = −8

𝑠 + 1

Aplicación la transformada de Laplace a nuestra ecuación obtenemos:

(𝑠2 − 2𝑠 + 5)𝑌(𝑠) − 2𝑠 − 8 =−8

𝑠 + 1,

Lo que implica:

𝑌(𝑠) =2𝑠2 + 10𝑠

(𝑠2 − 2𝑠 + 5)(𝑠 + 1)

=3(𝑠 − 1) + 2(4)

(𝑠 − 1)2 + 𝑠2−

1

𝑠 + 1.

Por lo tanto

𝑦(𝑡) = ℒ−1 (3(𝑠 − 1) + 2(4)

(𝑠 − 1)2 + 𝑠2−

1

𝑠 + 1) (𝑡)

= 3ℒ−1 (𝑠−1

(𝑠−1)2+𝑠2) (𝑡)+4ℒ−1 (2

(𝑠−1)2+𝑠2) (𝑡) − ℒ−1 (1

𝑠+1) (𝑡)

= 3𝑒𝑡 cos(2𝑡) + 4𝑒𝑡 sen(2𝑡) − 𝑒−𝑡

Obtenga la ecuación que es solución de la siguiente ecuación diferencial por el método de la transformada de Laplace, haciendo uso de las tablas y propiedades.

𝒅𝟐𝒈(𝒕)

𝒅𝒕𝟐+ 𝟒𝒈(𝒕) = 𝒔𝒆𝒏 (𝟒𝒕)𝒄𝒐𝒏 𝒈(𝟎) = 𝟎 𝒚 𝒈′(𝟎) =

𝟏

𝟓

ℒ{D2g(t) + 4g(t)} = ℒ{sen(4t)} ℒ{D2g(t) + 4ℒ{g(t)} = ℒ{sen(4t)}

{S2G(s) − Sg(0) − g′(0)} + 4{G(s)} = {4

S2 + 42}

𝑆2𝐺(𝑠) − 0 −1

5+ 4𝐺(𝑠) =

4

(𝑆2 + 42)

𝐺(𝑠)(𝑆2 + 4) −1

5=

4

(𝑆2 + 42)

𝐺(𝑠)(𝑆2 + 4) =4

(𝑆2 + 42)+

1

5=

20 + (𝑆2 + 42)

5(𝑆2 + 42)=

𝑆2 + 36

5(𝑆2 + 42)

𝐺(𝑠) =(𝑆2 + 62)

5(𝑆2 + 42)(𝑆2 + 42)⟹ 𝐺(𝑠) =

15

(𝑆2 + 62)

5(𝑆2 + 42)(𝑆2 + 42)

Aplicando la transformada Inversa de Laplace

ℒ−1{𝐺(𝑠)} = ℒ−1 {

15

(𝑆2 + 62)

5(𝑆2 + 42)(𝑆2 + 42)}

ℒ−1{𝐺(𝑠)} = 𝑔(𝑡) = 0.2667𝑆𝑒𝑛(2𝑡) + 0.0834𝑠𝑒𝑛(4𝑡 + 𝜋)

Page 182: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

182

Resuelva usando transformada de Laplace la ecuación 𝒚′′ + 𝟒𝒚 = 𝒇(𝒕) , 𝒚(𝟎) = 𝒚′(𝟎) = 𝟎

Donde

𝑓(𝑡) = {0 0 ≤ 𝑡 < 3𝑡 𝑡 ≥ 3

Primero observamos que:

𝑓(𝑡) = 𝑡𝐻(𝑡 − 3) = (𝑡 − 3)𝐻(𝑡 − 3) + 3𝐻(𝑡 − 3), Donde

𝐻(𝑡) = {0 𝑡 < 01 𝑡 ≥ 0

Entonces si 𝑌(𝑠) = ℒ(y(t))(s),aplicando transformada de Laplace a la ecuación diferencial

obtenemos

(𝑆2 + 4)𝑌(𝑠) =3𝑠 + 1

𝑠2𝑒−3𝑠

Esto implica

𝑌(𝑠) =3𝑠 + 1

𝑠2(𝑠2 + 4)𝑒−3𝑠

𝑦(𝑡) = ℒ−1 (3𝑠 + 1

𝑠2(𝑠2 + 4)𝑒−3𝑠) (𝑡)

3𝑠 + 1

𝑠2(𝑠2 + 4)=

𝐴

𝑠+

𝐴

𝑠2+

𝐶𝑠 + 𝐷

𝑠2 + 4

Resolviendo se obtiene

𝐴 =3

4, 𝐵 =

1

4, 𝐶 = −

3

4, 𝐷 = −

1

4

Asi 3𝑠 + 1

𝑠2(𝑠2 + 4)=

3

4

1

𝑠+

1

4

1

𝑠2−

3

4

𝑠

𝑠2 + 4−

1

4

𝑠

𝑠2 + 4

𝑔(𝑡) = ℒ−1 (3𝑠 + 1

𝑠2(𝑠2 + 4)) (𝑡) =

3

4+

1

4𝑡 −

3

4cos(2𝑡) −

1

8sin (2𝑡)

Por lo tanto 𝑦(𝑡) = 𝑔(𝑡 − 3)𝐻(𝑡 − 3)

= (3

4+

1

4(𝑡 − 3) −

3

4cos(2(𝑡 − 3)) −

1

8sin(2(𝑡 − 3)))𝐻(𝑡 − 3)

Page 183: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

183

Hallar:

𝓛{𝟒𝒆𝟓𝒕 + 𝟔𝒕𝟑 − 𝟑𝒔𝒆𝒏(𝟒𝒕) + 𝟐𝒄𝒐𝒔(𝟐𝒕)} Por la propiedad de linealidad tenemos que:

ℒ{4𝑒5𝑡 + 6𝑡3 − 3𝑠𝑒𝑛(4𝑡) + 2𝑐𝑜𝑠(2𝑡)}

= 4ℒ{𝑒5𝑡} + 6ℒ{𝑡3} − 3ℒ{𝑠𝑒𝑛(4𝑡)} + 2ℒ{cos (2𝑡)}

= 41

𝑠 − 5+ 6

3!

𝑠4− 3

4

𝑠2 + 16+ 2

𝑠

𝑠2 + 4

=4

𝑠 − 5+

36

𝑠4−

12

𝑠2 + 16+

2𝑠

𝑠2 + 4

Hallar:

𝓛{(𝒕 + 𝟐)𝟐𝒆𝒕 + 𝒆−𝟒𝒕𝒄𝒐𝒔𝒉(𝟐𝒕)} Por la propiedad de linealidad tenemos que:

ℒ{(𝑡 + 2)2𝑒𝑡 + 𝑒−4𝑡𝑐𝑜𝑠ℎ(2𝑡)}

= ℒ{(𝑡 + 2)2𝑒𝑡} + ℒ{𝑒−4𝑡 cosh(2𝑡)} = ℒ{(𝑡2 + 4𝑡 + 4)𝑒𝑡} + ℒ{𝑒−4𝑡 cosh(2𝑡)}

= ℒ{(𝑡2𝑒𝑡} + 4ℒ{𝑡𝑒𝑡} + 4ℒ{𝑒𝑡} + ℒ{𝑒−4𝑡 cosh(2𝑡)} Aplicando el primer teorema de la traslación:

= ℒ{(𝑡2𝑒𝑡} + 4ℒ{𝑡𝑒𝑡} + 4ℒ{𝑒𝑡} + ℒ{𝑒−4𝑡 cosh(2𝑡)}

=2!

(𝑠 − 1)3+

4

(𝑠 − 1)2+

4

𝑠 − 1+

𝑠 + 4

(𝑠 + 4)2 − 4

=5𝑠4 + 29𝑠3 + 9𝑠2 − 21𝑠 + 20

(𝑠 − 1)3(𝑠 + 2)(𝑠 + 6)

Page 184: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

184

Anexo de optimización Multiplicadores de Lagrange

En los problemas de optimización, el método de los multiplicadores de Lagrange, llamados

así en honor a Joseph Louis Lagrange, es un procedimiento para encontrar los máximos y

mínimos de funciones de múltiples variables sujetas a restricciones. Este método reduce el

problema restringido con n variables a uno sin restricciones de n + k variables, donde k es

igual al número de restricciones, y cuyas ecuaciones pueden ser resueltas más fácilmente.

Estas nuevas variables escalares desconocidas, una para cada restricción, son llamadas

multiplicadores de Lagrange. El método dice que los puntos donde la función tiene un

extremo condicionado con k restricciones, están entre los puntos estacionarios de una

nueva función sin restricciones construida como una combinación lineal de la función y las

funciones implicadas en las restricciones, cuyos coeficientes son los multiplicadores.

La demostración usa derivadas parciales y la regla de la cadena para funciones de varias

variables. Se trata de extraer una función implícita de las restricciones, y encontrar las

condiciones para que las derivadas parciales con respecto a lasvariables independientes

de la función sean iguales a cero.

Consideremos un caso bidimensional. Supongamos que tenemos la función, f (x, y), y

queremos maximizarla, estando sujeta a la condición:

donde c es una constante. Podemos visualizar las curvas de nivel de f dadas por

para varios valores de dn, y el contorno de g dado por g(x, y) = c. Supongamos que

hablamos de la curva de nivel donde g= c. Entonces, en general, las curvas de nivel

de f y g serán distintas, y la curva g = c por lo general intersectará y cruzará muchos

contornos de f. En general, moviéndose a través de la línea g=c podemos incrementar o

disminuir el valor de f. Sólo cuando g=c (el contorno que estamos siguiendo) toca

tangencialmente (no corta) una curva de nivel de f, no se incrementa o disminuye el valor

de f. Esto ocurre en el extremo local restringido y en los puntos de inflexión restringidos def.

Page 185: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

185

Un ejemplo familiar puede ser obtenido de los mapas climatológicos, con sus curvas de

nivel de presión y temperatura (isóbaras e isotermas respectivamente): el extremo

restringido ocurrirá donde los mapas superpuestos muestren curvas que se tocan.

Geométricamente traducimos la condición de tangencia diciendo que los gradientes

de f y g son vectores paralelos en el máximo. Introduciendo un nuevo escalar, λ,

resolvemos

[𝑓(𝑥, 𝑦) − 𝜆 (𝑔(𝑥, 𝑦) − 𝑐)] = 0

para λ ≠ 0.

Una vez determinados los valores de λ, volvemos al número original de variables y así continuamos

encontrando el extremo de la nueva ecuación no restringida.

de forma tradicional. Eso es, para todo (x, y) satisfaciendo la condición

porque es igual a cero en la restricción, pero los ceros de F(x, y) están todos

en .

El método de los multiplicadores de Lagrange

Sea f (x) una función definida en un conjunto abierto n-dimensional {x ∈ Rn}. Se

definen s restricciones gk (x) = 0, k=1,..., s, y se observa (si las restricciones son satisfechas) que:

Se procede a buscar un extremo para h

lo que es equivalente a

Demostración

Page 186: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

186

Comencemos con el caso de una restricción.

Sea una superficie M contenida en Rn definida por g(x)=0 y sea f(x) la función a obtener su punto crítico. Si

p M un punto crítico entonces se ha de cumplir:

para todo v vector tangente a M en p (es decir, sea cual sea la dirección en la que nos desplacemos en M, el

incremento de f a primer orden es nulo) La anterior condición significa que es perpendicular al tangente

a M en p y dado que dim M=n-1 existe un único vector perpendicular linealmente independiente que viene

dado por , de modo que se tiene:

para algún número

En el caso de que M esté definida por varias restricciones el conjunto de vectores

perpendiculares al tangente a M en p viene generado por de modo que al

ser perpendicular al vector tangente a M en p este ha de ser de la forma:

para unos ciertos números

Algoritmo de multiplicadores de LaGrange

clear all; clc; fprintf('Interpolacion con el Metodo del Polinomio de Lagrange\n\n'); n=input('grado del polinolio: '); for i1:n+1 x(1,i)=input('dame los valores de xi:'); end for i=1:n+1 xi(1,i)=input('dame los valores de f(xi):'); end x xi xint=input('Numero para el que desea interpolar x: '); fxint=0; i=1; while i<=n+1 L=1; J=0; while J<=n if i~=J+1 L=L*(xint-x(1,J+1))/(x(1,i)-x(1,J+1)); end J=J+1; end fxint=fxint+L*xi(1,i); i=i+1; end

Page 187: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

187

fprintf('\nresultado xi: %d',fxint'); plotx,xi) grid title('Polinomio de Lagrange');xlabel('x');yhabel('y') % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) tabla=get(handles.uitable1,'Data'); tabla=str2double(tabla); tabla2=get(handles.uitable2,'Data'); tabla2=str2double(tabla2); x=tabla'; y=tabla2'; intervalo=0:1:3 ; axes(handles.axes2) m=length(x); n=m-1; plot(x,y,'*r') hold on for i=1:n+1 q=1; for j=1:n+1 if i~=j q= conv (q , poly(x(j)))/(x(i)-x(j)); end end l(i,:)= q; end disp('LOS COEFICIENTES DE LAGRANGE INTERPOLADOS SON: ') c=y*l; disp(c); z=length(c); suma=0; for d=z-1:-1:0 syms x; suma=suma+c(z-d)*x^(d); end disp('EL POLINOMIO OBTENIDO ES: ') fun=suma; f=inline(char(fun)); %disp(f) ezplot(f,[-5,5]) grid on F=char(f); set(handles.text5, 'String',F); % --- Executes on button press in pushbutton2.

Page 188: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

188

function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) filas=str2double(get(handles.edit1,'String')); columnas=1; num_elem=cell(filas,columnas); num_elem(:,:)={''}; set(handles.uitable1,'Data',num_elem); set(handles.uitable1,'ColumnEditable',true()); set(handles.uitable2,'Data',num_elem); set(handles.uitable2,'ColumnEditable',true());

Page 189: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

189

ANEXO 3: INTRODUCCIÓN A LA PROGRAMACIÓN EN MATLAB

Operadores relacionales

Permiten comparar datos, los resultados son valores lógicos, es decir: 1 (verdadero) o 0

(falso).

Figura A1. Operadores relacionales

Estructuras de control

Matlab se manejan principalmente tres estructuras de control:

Decisión: if ... elseif ... else ... end

Repetición un número fijo de veces: for ... end

Repetición bajo condiciones: while ... end Se puede, pero no es habitual, utilizar estas estructuras en la ventana de trabajo de Matlab.

Condicional

Si queremos ejecutar un conjunto de instrucciones en el caso de que se cumpla una

condición, usaremos una estructura if.

La manera más sencilla de usarla es la siguiente:

if expresión lógica 1

Conjunto de ordenes 1 (de Matlab )

end

El conjunto de ordenes 1 se ejecuta si la expresión lógica 1 es verdadera.

Page 190: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

190

Control de flujo

MATLAB, al igual que la mayoría de los lenguajes de programación, incluye instrucciones

para el control del flujo de sus programas, incrementando de esta forma la potencia de los

cálculos realizables.

Bucles FOR

Estos bucles permiten la ejecución de un comando o grupo de comandos, un número fijo

predeterminado de veces. Por ejemplo:

for i=1:n, x(i)=0, end

Asigna el valor 0 a los n primeros elementos del vector x. Si n es menor que 1, el comando

central no se ejecutará ninguna vez. Si x no existe, o bien tiene menos de n elementos, se

reservará memoria adicional de forma automática.

Una práctica común es la utilización de bucles anidados:

for i=1:m

for j=1:m

A(i,j)=1/(i+j-1) ;

end

end

Es importante no olvidar que cada sentencia for debe concluir con su end correspondiente.

Bucles WHILE

Los bucles WHILE permiten la ejecución de un comando o grupo de comandos un número

indeterminado de veces bajo el control de una condición lógica. Esto es, los comandos se

ejecutarán mientras} se verifique dicha condición.

Como ejemplo mostramos los comandos necesarios para averiguar cuál es el primer

número entero cuyo factorial es un número de 100 dígitos:

n=1

while prod(1:n)< 1e100, n=n+1; end;

Sentencia IF

En su forma más simple, la sentencia if se escribe en la forma siguiente (obsérvese que –a

diferencia de C/C++/Java– la condición no va entre paréntesis, aunque se pueden poner si

se desea):

if condicion

Page 191: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

191

sentencias

end

Existe también la bifurcación múltiple, en la que pueden concatenarse tantas condiciones

como se desee, y que tiene la forma:

if condicion1

bloque1

elseif condicion2

bloque2

else %opción por defecto para cuando no se cumplen las condiciones 1 ni 2 bloque3 end Donde la opción por defecto else puede ser omitida: si no está presente no se hace nada en caso de que no se cumpla ninguna de las condiciones que se han chequeado. Un ejemplo de uso podría ser: if I == J A(I,J) = 2; elseif abs(I-J) == 1 A(I,J) = -1; else A(I,J) = 0; end Es interesante aquí observar qué obtenemos al ejecutar las sentencias anteriores dentro de dos bucles for anidados. Ejecutando help relop se puede obtener información sobre el funcionamiento de los operadores relacionales utilizados en las sentencias de control.

Introducción a la Interface Gráfica de Usuario (GUI) Desde el punto de vista de la programación, una GUI es una visualización grafica de una o más ventanas que contienen controles, llamados componentes, que permiten a un usuario realizar tareas en forma interactiva. GUI es un entorno de programación gráfica, que ofrece Matlab para poder realizar y ejecutar diversos programas, el entorno de Matlab tiene las características básicas de todos los programas visuales como Visual Basic o Visual C++. Para poder realizar un programa en GUI, se debe seguir los siguientes pasos:

1. En la ventana principal de Matlab, se debe ejecutar el comando ‘guide’, obteniendo la siguiente ventana

Page 192: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

192

Figura A3: Comando Guide

Con las siguientes opciones, como se describe en el grafico anterior. Elegimos la primera opción, Blank GUI, y tenemos la siguiente ventana:

Figura A4: Mascara De Interface De Matlab

2. En la ventana anterior se puede colocar diversos componentes predefinidos por

Matlab, los cuales podrían ser:

Figura A5 Paleta de componentes

Page 193: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

193

3. Grabar el archivo con la extensión predefinido por Matlab (.m).

Una aplicación GUI consta de dos archivos uno cuya extensión es .m y otro cuya extensión

es .fig, la cual es la parte grafica del programa. Las dos partes están unidas a través de las

subrutinas callback. Una vez que se graba los archivos podemos ejecutar el programa

desde la ventana del comando de Matlab solamente escribiendo el nombre del archivo.

Por ejemplo si guardamos un archivo sumador.fig y sumador.m escribiendo sumador y

presionando enter se ejecuta el programa.

EJEMPLOS BASICOS A LA INTRODUCCION A MATLAB Ejemplo 1: En el ejemplo se hace uso de un “pushbutton”, “edit” y “text”, se ingresa un texto en “edit” se hace click y el texto pasa a “text”. function pushbutton1_Callback(hObject, eventdata, handles) % mostrar un mensaje escrito en edit text y que se muestra en static text. texto=get(handles.edit1,'String'); set(handles.text1,'String',texto);

Figura A.1

Ejemplo 2:

El ejemplo hace uso del objeto “axes”, para graficar una función

Page 194: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

194

function pushbutton2_Callback(hObject, eventdata, handles) % Este es un ejemplo de como ingresar funciones y se muestre su respectiva gráfica en un axes. x=linspace(0,10,100); plot(handles.axes1,x,cos(x));

Figura B.1

Ejemplo 3: Se hace uso de dos objetos “axes”, en el cual se puede ver su uso para realizar gráficos. function pushbutton2_Callback(hObject, eventdata, handles) % En este ejemplo mostramos como se grafican más de una función. x=linspace(0,10,100); plot(handles.axes1,x,cos(x)); plot(handles.axes2,x,x.^2);

Figura B.2

Ejemplo 4: En el ejemplo se muestra un menú de opciones de colores, que al elegir nos muestra el color seleccionado.

Page 195: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

195

Primera forma: function popupmenu1_Callback(hObject, eventdata, handles) texto=get(handles.popupmenu1,'Value'); switch texto case 1 color= 'y'; case 2 color='r' case 3 color= [ 1 0 1]; end set(handles.text1,'Backgroundcolor',color);

Segunda forma: function popupmenu1_Callback(hObject, eventdata, handles) clc; contenido = get(hObject,'String'); valor =get(hObject,'Value');% El valor númerico de la posición texto= contenido(valor)% muestra en contenido dentro de la matriz switch cell2mat(texto) case 'Amarillo' color= 'y'; case 'Azul' color='b'; case 'Verde' color='g'; end set(handles.text1,'Backgroundcolor',color);

Figura C.1

Page 196: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

196

Ejemplo 5:

En este ejemplo mostramos una lista con operaciones aritméticas, ingresando los números n1=5 y n2=10, procedemos a seleccionar una de las operaciones y ver su resultado. function listbox1_Callback(hObject, eventdata, handles) contenido=get(hObject,'string'); a=get(hObject,'Value'); operaciones=contenido(a); n1=5,n2=10; switch cell2mat(operaciones) case 'Suma' res=n1+n2; case 'Resta' res=n1-n2; case 'Multiplicación' res=n1*n2; case 'División' res=n1/n2; end set(handles.text1,'string',res);

Figura D.1

Ejemplo 5: Se hace uso de “radiobutton”, para elegir comidas y se traslada el pedido a un “text”. function pushbutton1_Callback(hObject, eventdata, handles)

Page 197: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

197

elige_valor = get(handles.uipanel1,'SelectedObject'); elige_cadena=get(elige_valor,'String') set(handles.text2,'String',elige_cadena)

Ejemplo 6: % En este ejemplo se muestra como con el uso de Radio Button se puede cambiar el tamaño de letra en un mensaje. function uipanel1_SelectionChangeFcn(hObject, eventdata, handles) A=get(hObject,'String'); switch A case '10' set(handles.text1,'FontSize',10); case '14' set(handles.text1,'FontSize',14); case '18' set(handles.text1,'FontSize',18); end

Page 198: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

198

Figura E.1

3. Radio Button: Indica una opción que puede ser seleccionada y realiza una acción determinada. Button Group: Solo se puede tener un Button Group en la Gui, permite exclusividad de selección con los radio button.

F) Realizaremos un ejemplo de cómo usar el check Box. 1. Creamos una nuevo Gui y colocamos cada elemento que usaremos. 2. Realizamos el algoritmo que muestre la función de cada elemento

% En este ejemplo damos la opción de tener activada o desactivada la cuadricula para la gráfica de una función. function uipanel1_SelectionChangeFcn(hObject, eventdata, handles) A=get(hObject,'String'); switch A case 'Seno' ezplot('sin(x)',[0 10]); case 'Coseno' ezplot('cos(x)',[0 10 ]); case 'Tangente' ezplot('tan(x)',[0 10]); end % --- Executes on button press in checkbox1. function checkbox1_Callback(hObject, eventdata, handles) valor=get(hObject,'Value'); if valor==1 grid on; else

Page 199: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

199

grid off; end

Figura F.1

3. Check Box: Indica el estado (on ó off) de un atributo. Toggle Button: Un botón con solo 2 estados (on ó off)

G) Realizaremos un ejemplo de cómo usar el Slider.

% En este ejemplo se muestra como poder aumentar o disminuir la ampliación de una gráfica con el uso de Slide.

1. Creamos una nuevo Gui y colocamos cada elemento que usaremos. 2. Realizamos el algoritmo que muestre la función de cada elemento

function slider1_Callback(hObject, eventdata, handles) A=get(hObject,'Value'); x=linspace(0,10,100); y=A*sin(A*x) plot(x,y);

Page 200: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

200

Figura G.1

3. Slider: Una barra que nos permite deslizarnos para aumentar o disminuir el rango

de valores.

H) Realizaremos un ejemplo de cómo usar tablas.

1. Creamos una nuevo Gui y colocamos cada elemento que usaremos. 2. Realizamos el algoritmo que muestre la función de cada elemento

% En este ejemplo se muestra como insertar datos en una tabla.

function pushbutton1_Callback(hObject, eventdata, handles) A={'Pedro' 'Ana' 'David' 'Gabriela'}; P={10 20 15 12}; datos=[A' P']; set(handles.uitable1,'data',datos);

Page 201: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

201

Figura H.1

A continuación realizaremos el algoritmo de la suma de 2 variables para comprender la utilización de los comandos

1. En el componente “fig” como muestra la figura 2 procedemos a insertar los objetos necesarios.

2. De la paleta de componentes escogemos dos edit text, los cuales serían edit1 y edit 2 respectivamente, insertamos un push button y dos static text.

Page 202: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

202

Figuran A6 componentes para la interface

3. Al guardar el archivo, Matlab internamente crea el código necesario de los objetos insertados para proceder a utilizarlos y manipular los objetos insertados en la fig. Como muestra la figura 4. Generalmente se programara dentro de la “function pushbutton1_Callback(hObject, eventdata, handles)”.

4. Código del programa.

function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) valor1=str2double(get(handles.edit1,'string')); valor2=str2double(get(handles.edit2,'string')); suma=valor1+valor2; set(handles.text2,'string',suma);

Descripción:

1. Al “valor1” le asignamos el contenido del objeto “edit1”, mediante la función,

“str2double” realiza la transformación de string a un valor numérico; “get” es la

función por medio de la cual obtenemos los valores ingresados por el usuario, cuyos

componentes son: “handles.edit1”, la instrucción anterior indica a la función “get”,

que el valor extraído será del objeto ‘edit1’, ’string’ el comando indica que el valor

extraído será una cadena.

Page 203: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

203

2. Suma=valor1+valor2, realiza la respetiva suma.

3. En la cuarta línea contiene la instrucción “set” (colocar), por medio del cual los

resultados obtenidos en el programa son visualizados en el programa por medio del

objeto “text2”.

Handles: es el identificador a los datos de la aplicación

4. Ejecución del programa.

Figura A8: ejecución del algoritmo de la suma

Ejemplo 2: Algoritmo de Suma y Promedio. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) n=str2double(inputdlg('cuantos numeros desea ingresar')); for i=1:n etiqueta1=['Ingrese dato(' num2str(i) ')']; datos(i)=str2double(inputdlg(etiqueta1)); end s=0; for i=1:n s=s+datos(i); end promedio=s/n; set(handles.text4,'string',s); set(handles.text5,'string',promedio);

Page 204: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

204

Descripción:

1. Asignamos a la variable n, el número de datos a realizarse las operaciones, se

idéntica manera al programa anterior, se utiliza la función “str2double” para pasar de

cadena a número como se verifica en la instrucción: str2double(inputdlg(‘Cuantos

números desea ingresar’));

2. Utilizamos el comando “for… end”, para poder ingresar los datos al programa.

3.- En la tercera línea creamos la variable “etiqueta” por medio del cual se da una

mejor visualización al ingreso de los datos.

4.- Utilizamos la variable s como inicializador de la suma de los números ingresados,

mediante la cual podemos realizar la suma de los datos.

5.- calculamos el promedio, utilizando la suma anterior dividida para el número de

datos ingresados.

6.- usamos el comando “set” para poder visualizar los resultados como indica el

siguiente código: set(handles.txt3, ‘string’,etiqueta).

Page 205: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

205

Figura A10: ejecución de algoritmo suma y promedio

Ejemplo3: Programa Para Sumar o Multiplicar Datos en un listbox List Box presenta una lista desplegable. Código function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dato=get(handles.edit1,'String'); old_dato=get(handles.listbox1,'String'); new_dato=strvcat(old_dato,dato); set(handles.listbox1,'String',new_dato); function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) acum=0; x=str2num(get(handles.listbox1,'string')); for i=1:length(x) acum=acum+x(i) end set(handles.text1,'string',acum); function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) mul=1; x=str2num(get(handles.listbox1,'string')); for i=1:length(x)

Page 206: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

206

mul=mul*x(i) end set(handles.text1,'string',mul); Ejecución del programa Suma

Multiplicación

Pushbutton3 1. En la primera línea de código importamos los datos del edit1

2. En la segunda línea de código importo el dato ingresado del Listbox1, el cual será mi

dato antiguo.

Page 207: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

207

3. En la tercera línea creo mu nuevo dato concatenando verticalmente los datos del

Listbox1 con el comando “strvcat”.

4. En la cuarta línea imprimo mis datos concatenados en el Listbox1.

Pushbutton1 1. En la primera línea de código creo un acumulador que este igualado a 0, mientras

que en la segunda línea meto en una variable a los datos encontrados en el Listbox

2. Creo un bucle con un For que empiece desde 1 y recorra hasta el número de datos

ingresados en el Listbox

3. Dentro del for acumulo los datos (acum=acum+ datos), de esta manera los datos

quedan sumados.

Pushbutton4 1. En la primera línea de código creo una variable que este igualado a 1 ya que con

esta variable vamos a realizar las multiplicaciones y la multiplicación por 0 es 0,

mientras que en la segunda línea meto en una variable a los datos encontrados en el

Listbox

2. Creo un bucle con un For que empiece desde 1 y recorra hasta el número de datos

ingresados en el Listbox

3. Dentro del for multiplico los datos (mul=mul*datos), de esta manera los datos

quedan multiplicados.

Ejemplo4: Importación y exportación de datos entre Ecxel y Matlab Con la función xlsread Matlab importa automáticamente los datos del archivo de Excel y con xlswrite exportamos los datos hacia Excel. Código: % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Ruta=inputdlg('Ingrese ruta de archivo xlsx(con extensión)'); set(handles.text2,'string',Ruta); A=cell2mat(Ruta); B=xlsread(A); set(handles.uitable1,'data',B); % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) B=get(handles.uitable1,'data'); Ruta2=inputdlg('Ingrese ruta de destino (con extensión):'); set(handles.text3,'string',Ruta2); C=cell2mat(Ruta2); xlswrite(C,B);

Page 208: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

208

Descripción Botón 1: 1.- En la primera línea de código usamos la función inputdlg para ingresar por un cuadro de diálogo la dirección del archivo a leer, presentamos la dirección en la segunda línea. 2.- En la tercera línea usamos la función cell2mat en la variable ruta para convertir el vector tipo cell a vector normal. 3.- En la cuarta línea usamos la función xlsread para importar los datos desde la ruta ingresada. 4.- En la quinta línea presentamos los datos importados en una tabla de datos. Botón 2: 1.- En la primera línea obtenemos los datos de la tabla. 2.- En la segunda línea ingresamos la ruta de destino para nuestro nuevo archivo y presentamos la misma en la tercera línea. 3.- En la cuarta línea usamos la función cell2mat para convertir el vector tipo cell a vector normal. 4.- En la quinta línea exportamos el archivo, con la función xlswrite, a la ruta ingresada con los datos obtenidos. Ejecución del Programa

Page 209: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

209

Ejemplo5: Uso de Axes

Mediante el uso del axes en el entorno grafico guide del Matlab nosotros podemos crear la gráfica de una función que ingresemos: Para obtener un axes presionamos el botón indicado por la flecha en el entorno grafico guide: Programación: % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) funcion=char(inputdlg('ingrese la funcion')); f=inline(funcion); etiqueta1=['(x)inicial']; xi =str2double(inputdlg(etiqueta1)); etiqueta2=['(x)final']; xf =str2double(inputdlg(etiqueta2));

x=xi:0.1:xf; [f1 c]=size(x); for i=1:c y(i)=f(x(i)); end plot(handles.axes1,x,y ,'g'); hold on;

Page 210: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

210

plot(handles.axes1,[min(x) max(x)],[0 0],'r'); plot(handles.axes1,[0 0], [min(y) max(y)], 'r');

xlabel('x') ylabel('y')

Descripción

1) Usamos la función (char) para convertir la función en una cadena de caracteres y poder evaluarla

2) Ingresamos los datos para poder evaluar la función mediante etiquetas:

3) Mediante un (for) Definimos el vector para poder realizar las graficas. 4) Declaramos los valores de la función 5) Mediante la función plot dibujamos un vector de valores (y) en ordenadas frente a

otro vector(x) en las abscisas. Ambos vectores tienen el mismo número de elementos.

La función hold on, nos permite dibuja barias líneas en una misma figura. La función lebel podemos poner nombre a los ejes de la grafica

Page 211: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

211

con la función lebel podemos poner nombre a los ejes de la grafica

También es posible cambiar el color y la forma de la grafica Colores: 'r'(rojo), 'b'(azul), 'g'(verde), 'y'(amarillo), 'k'(negro), 'm'(morado), 'w'(blanco),

'c'(celesta),… Tipo de trazo: '-', '-.', '--', ':', '.', 'o', '*', 'x', '+',… Símbolos: 's', 'h', 'p', 'd',…

Ejecución del Programa

Page 212: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

212

Ejemplo6: Uso del uitable Uitable es una función del entorno grafico de Matlab que enumera los datos ingresados o enumera los resultados de un programa. Para obtener un uitable presionamos el botón indicado en el entorno grafico guide: Programación: funcion=char(inputdlg('ingrese la funcion')); f=inline(funcion); etiqueta1=['(x)inicial']; xi =str2double(inputdlg(etiqueta1)); etiqueta2=['(x)final']; xf =str2double(inputdlg(etiqueta2)); x=xi:0.1:xf; [f1 c]=size(x); for i=1:c y(i)=f(x(i)); end plot(handles.axes1,x,y); hold on; plot(handles.axes1,[min(x) max(x)],[0 0],'r');

Page 213: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

213

plot(handles.axes1,[0 0], [min(y) max(y)], 'r');

datos1=[x' y']; datos2=[xi xf']; set(handles.uitable1, 'ColumnName', {'x','y'}); set(handles.uitable1,'data', datos1); set(handles.uitable2, 'RowName', {'X0','Xf'}); set(handles.uitable2,'data',datos2 ); xlabel('x') ylabel('y') Descripción

1) Ordenamos los datos que queremos que devuelva el elemento uitable 2) La función inline transforma en función una cadena de caracteres. 3) Mediante la función set devolvemos los datos de la gráfica 4) podemos poner nombres a las filas o columnas de nuestra uitable mediante las

funciones :

'ColumnName': La cual nos sirve para nombrar las columnas.

'RowName’: La cual usamos para nombrar las filas. Ejecución del Programa:

Page 214: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

214

Ejemplo7: Radio Button Radio Button representa una opción Código function uipanel2_SelectionChangeFcn(hObject, eventdata, handles) % hObject handle to the selected object in uipanel2 % eventdata structure with the following fields (see UIBUTTONGROUP) % EventName: string 'SelectionChanged' (read only) % OldValue: handle of the previously selected object or empty if none was selected % NewValue: handle of the currently selected object % handles structure with handles and user data (see GUIDATA)get A=get(hObject,'String'); switch A case '10' set(handles.text1,'FontSize',10); case '12' set(handles.text1,'FontSize',12); case '14' set(handles.text1,'FontSize',14); case '18' set(handles.text1,'FontSize',18); end Ejecucuión del programa

Page 215: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

215

1. En la primera línea de codigo recuperamos las propiedades de los objetos. 2. Creamos un menú con cuatro casos para determinar el tamaño de letra, estos casos

son los que seleccionemos con RadioButton. 3. Dentro de cada caso podemos modificar el tamaño del texto que se encuentra

dentro del text1 con “FontSize”

Ejemplo 8: Uso del elemento Checkbox y Msgbox El elemento Checkbox funciona para seleccionar algún componente de entre algunas opciones y el elemento Msgbox funciona como un mensaje de salida para informar de cualquier evento en el programa. function checkbox1_Callback(hObject, eventdata, handles) % hObject handle to checkbox1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if (get(hObject,'Value') == get(hObject,'Max')) msgbox('Seleccionado'); else msgbox('No seleccionado'); end

Page 216: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

216

Descripción:

1.- En la primera línea de código creamos una sentencia if (de condición) para obtener el

valor numérico del elemento checkbox ( 1 como verdadero y cero como falso).

2.- Se envía un cuadro de mensaje, con la sentencia msgbox, enviando “Seleccionado” si

es número 1 ó “No seleccionado” si es cualquier otro número.

Ejecución del Programa

Page 217: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

217

ANEXO : SISTEMAS DE ECUACIONES NO LINEAL

El método de Newton-Raphson para sistemas de n ecuaciones no lineales

Considérese nuevamente el sistema de n ecuaciones no lineales con n incógnitas

representado por

𝑓(𝑥) = 0 ⇔ {

𝑓1(𝑥1, 𝑥2, … . . , 𝑥𝑛) = 0

𝑓2(𝑥1, 𝑥2, … . . , 𝑥𝑛) = 0…………………………𝑓𝑛(𝑥1, 𝑥2, … . . , 𝑥𝑛) = 0

Al igual que se hizo en el caso de una variable, supongamos que en un dominio cerrado D

⊂ IRn f (x) es una función de clase (C2(D))n. Y supongamos además que la ecuación

anterior admite una solución x∗ en el dominio D. Para cualquier otro vector x(0) ∈ D ,

denotando por _x al vector tal que como 𝑥∗ = 𝑥0 + б𝑥. la expresión del desarrollo en serie

de Taylor nos permitiría afirmar, para cada una de las ecuaciones del sistema, que existen

valores _j ∈ [0, 1] (j = 1, 2, .., n) tales que:

0 = 𝑓𝑗(𝑥∗) = 𝑓(𝑥(0) + б𝑥)

= 𝑓𝑗(𝑥(0)) + {𝛻𝑓𝑗(𝑥

(0))}𝑇

∗ б𝑥 +1

2∗ {б𝑥}𝑇 ∗ [𝐻𝑓𝑖(𝑥

(0) + Ѳ𝑗 ∗ б𝑥)] ∗ б𝑥

Donde [𝐻𝑓2(𝑥)]es la matriz hessiana de la función fj(x).

Si conocido x(0) se fuese capaz de determinar бx resolviendo el sistema formado para j = 1,

2, .., n, por las ecuaciones:

𝑓𝑗(𝑥(0)) + {𝛻𝑓𝑗(𝑥

(0))}𝑇

∗ б𝑥 +1

2∗ {б𝑥}𝑇 ∗ [𝐻𝑓𝑖(𝑥

(0) + Ѳ𝑗 ∗ б𝑥)] ∗ б𝑥 = 0

Podría determinarse 𝑥∗ como 𝑥∗ = 𝑥0 + б𝑥. Pero para resolver este sistema primero

deberíamos conocer los valores de Ѳ𝑗 (lo cual no es obvio) y, una vez conocidos, resolver

un sistema, en general, no lineal pues obsérvese que бx interviene en la expresión de las

matrices hessianas [𝐻𝑓𝑖(𝑥(0) + Ѳ𝑗 ∗ б𝑥)]. Por tanto, salvo en situaciones muy particulares,

no se ganaría gran cosa remplazando el problema de resolver f (x) = 0 por el de resolver el

sistema anterior.

El método de Newton-Raphson (o método de linealización de Newton) se sustenta en

simplificar las expresiones anteriores linealizándolas. Para ello considera que si se está

Page 218: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

218

suficientemente cerca de la solución (es decir si ‖б𝑥‖es suficientemente pequeño) los

términos (1

2∗ {б𝑥}𝑇 ∗ [𝐻𝑓𝑖(𝑥

(0) + Ѳ𝑗 ∗ б𝑥)]) podrán despreciarse frente a los otros términos

de cada ecuación del sistema. Por ello, denotando por [Jf (x)] a la matriz jacobiana de f en

el punto x, en este método se resuelve el sistema lineal:

𝑓(𝑥(0)) + [Jf(𝑥(0))] ∗ ∆𝑥(0) = 0

Del que se obtiene que:

∆𝑥(0) = −[Jf(𝑥(0))]

−1∗ 𝑓(𝑥(0))

Obviamente, al ser diferente el sistema linealizado que el proporcionado por el desarrollo

de Taylor, se tendrá que ∆(𝑥(0)) ≠ б𝑥 y por tanto como 𝑥∗ = 𝑥0 + б𝑥 ≠ 𝑥(1) = 𝑥(0) + ∆𝑥(0).

De una forma intuitiva (que después deberemos precisar cuándo es correcta) puede

pensarse que aunque 𝑥(1) sea diferente de 𝑥∗ será un vector más próximo a 𝑥∗que 𝑥(0)

pues lo hemos obtenido ”aproximando” el valor бx que nos llevaba de 𝑥(0) a 𝑥∗ Con ello el

método de Newton-Raphson propone repetir este proceso de forma recursiva hasta estar lo

suficientemente cercanos a la solución buscada. Más concretamente el método de Newton-

Raphson consiste en:

Dado un vector 𝑥(0), generar la sucesión:

𝑥(𝑖+1) = 𝑥(𝑖) − [Jf(𝑥(𝑖))]

−1∗ 𝑓(𝑥(𝑖))}

∞𝑖 = 0

Sobre este método, en primer lugar, puede observarse que si denotamos por:

𝑔(𝑥) = 𝑥 − [Jf(𝑥(𝑖))]

−1∗ 𝑓(𝑥)

estamos en presencia de un caso particular del método de aproximaciones sucesivas antes

contemplado en el aparatado 1.4.1.. En otros términos, se tiene la siguiente propiedad:

Propiedad 3.1. Si la función g(x) = x − [Jf (x)]−1 · f (x) es, para alguna norma matricial,

una contracción definida en D la sucesión dada por 𝑥(𝑖+1) = 𝑥(𝑖) − [Jf(𝑥(𝑖))]

−1∗

𝑓(𝑥(𝑖))}∞

𝑖 = 0 obtenida a partir de cualquier vector 𝑥(0) ∈ D converge hacia la única

solución de la ecuación f (x) = 0 en D.

Page 219: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

219

Demostración. Es un caso particular de los teoremas de convergencia del método de

aproximaciones sucesivas. Del teorema anterior, por analogía a lo realizado en el caso de

una única ecuación no lineal, podrían derivarse teoremas de convergencia que actuaran

sobre las primeras y segundas derivadas parciales de las componentes de la aplicación

vectorial g(x). Dejamos al lector el desarrollo de tales teoremas y pasamos a enunciar

algunos otros en los que las hipótesis se realizan directamente sobre la propia función

vectorial f (x) y su matriz jacobiana y que pueden ser de más fácil aplicación al análisis de

la convergencia del método. Previamente a la demostración de dichos teoremas

necesitaremos introducir el siguiente lema:

Lema 3.1. Siendo f : D → D una aplicación de clase (C1(D))n y siendo D un cerrado de

𝐼𝑅𝑛, si existe una constante estrictamente positiva α tal que para alguna norma

vectorial y para la norma matricial a ella subordinada se verifique:

‖Jf(𝑥) − [Jf(𝑦)]‖ ≤ 𝛼 ·‖𝑥 − 𝑦‖ ∀x, y ∈ D

entonces se verifica también que:

‖𝑓(𝑥) − f(y) − [Jf(𝑦)](𝑥 − 𝑦)‖ ≤ 𝛼

2 ·‖𝑥 − 𝑦‖2 ∀x, y ∈ D

Demostración.

Siendo x e y dos vectores genéricos de D denotemos por q(t) a la función vectorial

dependiente de un único parámetro real definida por:

𝒒(𝒕) = 𝒇(𝒚 + 𝒕(𝒙 − 𝒚))

Esta función, habida cuenta de las hipótesis realizadas sobre f es derivable ∀t ∈ [0,1]. Así,

denotando por z = y + t · (x − y) se tiene que:

Page 220: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

220

𝑞′(𝑡) =𝑑𝑞

𝑑𝑡(𝑡) = lim

∆𝑡⟶0

𝑓(𝑦 + (𝑡 + ∆𝑡) ∗ (𝑥 − 𝑦)) − 𝑓(𝑦 + 𝑡(𝑥 − 𝑦))

∆𝑡

= lim∆𝑡⟶0

𝑓(𝑧 + ∆𝑡(𝑥 − 𝑦)) − 𝑓(𝑧)

∆𝑡= [Jf(𝑧)](𝑥 − 𝑦)

De donde:

‖𝑞′(𝑡) − 𝑞′(0)‖ = ‖[Jf(𝑧)] − [Jf(𝑦)]‖(𝑥 − 𝑦) ≤

≤ ‖[Jf(𝑧)] − [Jf(𝑦)]‖ ∗ ‖𝑥 − 𝑦‖ =

= ‖[Jf(𝑦 + 𝑡(𝑥 − 𝑦)))] − [Jf(𝑦)]‖ ∗ ‖𝑥 − 𝑦‖ ≤

≤ α ∗ t‖𝑥 − 𝑦‖2

Esta desigualdad, a su vez, puede utilizarse en el proceso siguiente:

‖𝑓(𝑥) − 𝑓(𝑦) − Jf(𝑦) ∗ (𝑥 − 𝑦)‖ = ‖𝑞(1) − 𝑞(0) − 𝑞′(0)‖ =

‖∫ (𝑞′(𝑡) − 𝑞′(0) ∗ 𝑑𝑡1

0

‖ ≤ ∫ ‖(𝑞′(𝑡) − 𝑞′(0)‖1

0

∗ 𝑑𝑡 ≤

≤ ∫ 𝛂 ∗ 𝐭 ‖𝒙 − 𝒚‖𝟐 ∗ 𝒅𝒕 = 𝟏

𝟎

α

𝟐‖𝒙 − 𝒚‖𝟐

Nota 3.8. El que se verifique la hipótesis del lema precedente:

∃α ∈ IR+ / ‖J𝑘(𝑥) − [Jf(𝑦)]‖≤α ‖𝑥 − 𝑦‖2 ∀x, y ∈ D

se expresa diciendo que la matriz Jacobiana es lipschitciana de razón α en D para la norma

‖. ‖.

Con ayuda de este lema puede procederse a presentar y demostrar el siguiente teorema:

Teorema 3.6. Siendo D un cerrado de 𝐈𝐑𝒏 y siendo f : D → D una aplicación de clase

(𝑪𝟏(𝑫))𝒏 para la que, utilizando alguna norma vectorial y para la norma matricial a

ella subordinada, se verifican las dos hipótesis siguientes:

Page 221: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

221

1) ∃α ∈ IR+ / ‖J𝑘(𝑥) − [Jf(𝑦)]‖ ≤α ‖𝑥 − 𝑦‖ ∀x, y ∈ D

2) ∃𝛽 ∈ IR+ / ‖[Jf(𝑦)]−1‖ ≤𝛽 ∀x, y ∈ D

entonces para la sucesión 𝒙(𝒊+𝟏) = 𝒙(𝒊) − [𝐉𝐟(𝒙(𝒊))]

−𝟏∗ 𝒇(𝒙(𝒊))}

∞𝒊 = 𝟎

obtenida a partir

de cualquier vector 𝒙(𝟎) ∈ D se verifica que:

‖𝒙(𝒊+𝟏) − 𝒙(𝒊)‖ ≤ 𝜶 ∗ 𝜷

𝟐∗ ‖𝒙(𝒊) − 𝒙(𝒊−𝟏)‖

𝟐

Demostración. Se tiene que:

‖𝒙(𝒊+𝟏) − 𝒙(𝒊)‖ = ‖[𝐉𝐟(𝒙(𝒊))]

−𝟏∗ 𝒇(𝒙(𝒊))‖ ≤ ‖[𝐉𝐟(𝒙

(𝒊))]−𝟏

‖ ∗ ‖𝒇(𝒙(𝒊))‖ ≤ 𝜷 ∗ ‖𝒇(𝒙(𝒊))‖

y como de:

𝑥(𝑖+1) = 𝑥(𝑖) − [Jf(𝑥(𝑖))]

−1∗ 𝑓(𝑥(𝑖))

Se deduce que:

𝑓(𝑥(𝑖)) = −[Jf(𝑥(𝑖))]

−1(𝑥(𝑖+1) = 𝑥(𝑖))

Se tiene, utilizando el lema presente, que:

‖𝑥(𝑖+1) − 𝑥(𝑖)‖ ≤ 𝛽‖𝑓(𝑥(𝑖))‖ = 𝛽 ‖𝑓(𝑥(𝑖)) − 𝑓(𝑥(𝑖)) − [Jf(𝑥(𝑖))]

−1 (𝑥(𝑖+1) − 𝑥(𝑖))‖

≤ 𝛼 ∗ 𝛽

2∗ ‖𝑥(𝑖) − 𝑥(𝑖−1)‖

2

El teorema anterior nos muestra que la relación entre la norma del vector diferencia entre

las aproximaciones halladas en las iteraciones (i+1) e i es proporcional (con factor 𝐶 =𝛼∗𝛽

2)

al cuadrado de la norma del vector diferencia entre las aproximaciones halladas en las

iteraciones i e (i − 1). Pero por sí solo este teorema no nos justifica que el método converja.

Page 222: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

222

Simplemente nos indica que si en algún momento ‖𝑥(𝑖) − 𝑥(𝑖−1)‖2 < (1/C) entonces se

habrá logrado una sucesión de Cauchy y, al estar en un completo, por ello una sucesión

convergente. Para acabar de obtener un resultado que garantice la convergencia es

necesario imponer más condiciones en el método. Como por ejemplo las que se recogen

en el teorema siguiente que, junto a las hipótesis a) y b) del teorema anterior añade una

nueva:

Teorema 3.7. Siendo D un cerrado de𝐈𝐑𝒏y siendo f : D → D una aplicación de clase

(𝑪𝟏(𝑫))𝒏 para la que, utilizando alguna norma vectorial y para la norma matricial a

ella subordinada, se verifican las dos hipótesis siguientes:

1) ∃𝛂 ∈ IR+ / ‖𝐉𝒌(𝒙) − [𝐉𝐟(𝒚)]‖ ≤𝛂 ‖𝒙 − 𝒚‖ ∀x, y ∈ D

2) ∃𝜷 ∈ IR+ / ‖[𝐉𝐟(𝒚)]−𝟏‖ <𝜷 ∀x, y ∈ D

entonces para la sucesión 𝒙(𝒊+𝟏) = 𝒙(𝒊) − [𝐉𝐟(𝒙(𝒊))]

−𝟏∗ 𝒇(𝒙(𝒊))}

∞𝒊 = 𝟎

obtenida a partir de

cualquier vector 𝒙(𝟎) ∈ D para el que se verifique la condición

3) ∃𝒖 ≤ 𝟐

𝜶∗𝜷 ∈ IR+ / ‖[𝐉𝐟(𝒙

𝟎)]−𝟏 ∗ 𝒇(𝒙(𝟎))‖ < u

existe el límite 𝒙∗ de la sucesión 𝒙(𝒊+𝟏) = 𝒙(𝒊) − [𝐉𝐟(𝒙(𝒊))]

−𝟏∗ 𝒇(𝒙(𝒊))}

∞𝒊 = 𝟎

que es una

raíz del sistema f (x) = 0 en D y se verifica que:

‖𝑥(𝑖) − 𝑥(𝑖−1)‖2

≤ 𝒓𝟐𝒊−𝟏

𝟏 − 𝒓𝟐𝒊∗ u

donde 𝑟 =𝛼∗𝛽∗𝑢

2< 1.

POR NEWTON

Este método se basa en utilizar el desarrollo de Taylor. Escribimos x1 = x0 + ∆x,

f (x1) = f (x0) + f ‘ (x0) ∆x + o (∆x2) , y suponiendo que f (x1) = 0, queda

𝑥1 = 𝑥0 −𝑓(𝑥0)

𝑓′(𝑥𝑛)

Page 223: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

223

. El método de Newton-Raphson se basa en esta ecuación y consiste en calcular los

valores de una sucesi´on de la forma:

𝑥𝑛+1 = 𝑥𝑛 −𝑓(𝑥𝑛)

𝑓′(𝑥𝑛)

Otro modo de obtener este metodo consiste en suponer que f : [a, b] → R es continua en

[a, b] y tal que f 00(x) no cambia de signo en [a, b] con f (a)f (b) < 0. El proceso para

encontrar un x tal que f (x) = 0 consiste en lo siguiente: 1) Fijamos c = a ´o b, tal que f (c)f

00(x) > 0, ∀x ∈ (a, b). 2) x0 = c. 3) Hallamos la ecuacion de la tangente que pasa por (x0, f

(x0)) y el punto de corte de dicha tangente con el eje X. El proceso se repite hasta

conseguir una sucesion de aproximaciones que converge a la raiz de f (x) = 0.

La ecuación de la recta tangente a la curva y = f (x) en (xn−1, f (xn−1)) viene dada por

y = f (xn−1) + f 0 (xn−1)(x − xn−1) .

La abscisa del punto de intersección de la recta tangente con el eje X,

xn = xn−1 − f (xn−1) f 0(xn−1) ,

y mediante esta relación obtenemos una sucesión, {xn}∞ n=1 de aproximaciones al valor

de la raíz buscada. El error que se comete en la iteración n-ésima sera

| r − xn |< M 2m | xn − xn−1 | ,

Donde 0 < m ≤| f (x) | y | f 00(x) |≤ M, ∀x ∈ (a, b)

Por punto fijo

Dada la ecuación f (x) = x − x 4/5 − 2 = 0

Si tomamos la función de iteración

g(x) = 𝑥4/5 + 2

Las iteraciones

Page 224: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

224

Suponemos que se quiere buscar una raíz de la función f (x) = x 3 + 4x 2 − 10 en [1, 2].

Se pueden hacer diferentes elecciones de la función ϕ(x), por ejemplo,

a) ϕ1(x) = x − 𝑥3 − 4𝑥2 + 10;

b) ϕ2(x) = 1

2(10 − 𝑥3)1/2 ;

c) ϕ3(x) = 𝑥 − ( 𝑥3 − 4𝑥2 + 10)/(8𝑥 + 3𝑥2);

d) ϕ4(x) = (10/(4 + 𝑥))1/2 ;

Ejercicio

Calcular el vector 𝑥(k) de la iteración k-ésima cuando k=4 si se utiliza el método de Newton-

Raphson en la resolución del sistema no lineal: 2 x−cos( y ) = 0, 2 y−sin( x ) = 0, tomando

x(0) = [0,0]T. Calcular en cada iteración k el valor de la estimación del error absoluto ||e(k)||

= || x(k) − x(k−1) ||∞ y también del error relativo || x(k) −x(k−1) ||∞ / || x(k) ||∞. Dar los

resultados con cuatro decimales exactos.

Queremos resolver un sistema de ecuaciones del tipo: f1(x1,x2,...,xn) = 0, f2(x1,x2,...,xn) =

0 , ... fn(x1,x2,...,xn) = 0 donde las funciones fi(x), i=1,2,...,n son arbitrarias. Llamando

entonces a F(x) = [f1(x),f2(x), ..., fn(x)]T queremos resolver F(x) = 0, con F:Rn → Rn . Si se

usa el método de Newton-Raphson, esto se traduce en usar el esquema iterativo:

x(k+1) = x(k) − (J(x(k)))−1 F(x(k)), k=0,1,2,...

J(x(k)) = [∂fi(x)

∂xj] x = 𝑥(k)

, 1 ≤ i, j ≤ n, la matriz de Jacobi.

Por tanto, al resolver el sistema por Newton-Raphson, debemos resolver en cada iteración

el sistema lineal: J(x(k)) vc(k) = −F(x(k)) y obtener luego la siguiente iteración usando este

vector de corrección recién calculado: x(k+1) = x(k) + vc(k) En nuestro caso la función es:

Page 225: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

225

F(x) =[2 x − cos( y )

2 y − sin( x )]

y la matriz de Jacobi:

J(x) =[2 sin( y ) −cos( x ) 2

]

Como la aproximación inicial es 𝑥(0) = [0,0]T, calculamos:

J(𝑥)(0) = [2 0

−1 2] , F(x0 ) = [

−10

]

Y por tanto, el sistema lineal a resolver es:

[2 0

−1 2] (𝑣𝑐)(0)= [

10]

Una vez resuelto es 𝑣𝑐(0) = [1/2,1/4]T , por lo que entonces:

𝑥(1) = 𝑥(0) + 𝑣𝑐(0) = [00] + [

1/21/4

] = [1/21/4

]

Con 𝑥(1) continuaríamos el proceso y obtendríamos 𝑥(2), etc., comprobando la

convergencia con cada 𝑥(k) calculado (es e(k)= vc(k−1)). Las iteraciones son:

A continuación viene la gráfica donde aparecen las funciones que intervienen en el sistema,

el punto de intersección pedido, la iteración solicitada en el enunciado y el conjunto de

puntos calculados en las diferentes iteraciones. La aproximación inicial aparece con un

pequeño círculo rojo.

Page 226: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

226

Ejercicio 2

Sea la ecuación no lineal siguiente:

𝑓(𝑥) = −𝑥3 − cos(𝑥) = 0 a) Aplicando el método de Newton encontrar la raíz próxima al valor 𝑥0 = −1.0 con una

precisión de 10−2.

Método de Newton-Raphson.

𝑓(𝑥) = −𝑥3 − cos(𝑥) = 0 𝑥0 = −1 Derivando la ecuación obtenemos:

𝑓′(𝑥) = −3𝑥2 + sin(𝑥) = 0 Formula:

𝑥𝑖 = 𝑥𝑖−1 −𝑓(𝑥𝑖−1)

𝑓′(𝑥𝑖−1) (𝑖 ≥ 1)

𝑥𝑖 = 𝑥𝑖−1 −−𝑥𝑖−1

3 − cos[𝑥𝑖−1]

−3𝑥𝑖−12 − sin[𝑥𝑖−1]

= 𝑥𝑖−1 +𝑥𝑖−1

3 − cos[𝑥𝑖−1]

−3𝑥𝑖−12 + sin[𝑥𝑖−1]

Tabla de datos

𝒊 𝒙𝒊 𝒇(𝒙𝒊) 𝒇′(𝒙𝒊) Error [%]

0 -1 0.459698 -3.841471

1 -0.880333 0.045351 -3.095909 13.59

2 -0.865684 0.000632 -3.009766 16.92

3 -0.865474 1.289200x10−7 -3.008539 0.02

Donde

𝒇(𝒙) = −𝒙𝟑 − 𝐜𝐨𝐬(𝒙) = 𝟎 Remplazamos el 𝑥0 = −1, en la ecuación para obtener el valor de 𝒇(𝒙𝒊)

Page 227: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

227

𝑓(−1) = −(−1)3 − cos(−1) = 0.459698

𝒇′(𝒙) = −𝟑𝒙𝟐 + 𝐬𝐢𝐧(𝒙) = 𝟎 Remplazamos el 𝑥0 = −1, en la ecuación derivada para obtener el valor de 𝒇′(𝒙𝒊)

𝑓′(−1) = −3(−1)2 + sin(−1) = −3.841471 Procedemos a remplazar los valores obtenidos en la ecuación, en la fórmula para obtener

el 𝒙𝒊

𝒙𝒊 = 𝒙𝒊−𝟏 −𝒇(𝒙𝒊−𝟏)

𝒇′(𝒙𝒊−𝟏)

𝑥𝑖 = −1 −0.459698

−3.841471= −0.880333

ERROR

𝑒𝑟𝑟𝑜𝑟 =|𝑥𝑖 − 𝑥𝑖−1 |

|𝑥𝑖|∗ 100%

=|−0.880333 − (−1)|

|−0.880333|∗ 100% = 13.59%

La raíz aproximada es:

𝑥 = 𝑥3 = −0.865474

Page 228: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

228

EJERCICIO 3

Representacion de la función 𝒇(𝒙) = −𝒙𝟑 − 𝐜𝐨𝐬(𝒙) = 𝟎 . Aplicando el método de Newton encontrar el cero de la función

𝑦 =𝐿𝑜𝑔(𝑥)

2+ 𝑒−𝑥 −

1

5

Próximo al valor de 𝑥0 = 1.5, iterando hasta que se cumpla que el error sea menor que

10−3 Fórmulas

𝑥𝑖 = 𝑥𝑖−1 −𝑓(𝑥𝑖−1)

𝑓′(𝑥𝑖−1)

𝑥𝑖 = 𝑥𝑖−1 −−

15

+ e−𝑥𝑖 −𝐿𝑜𝑔(𝑥𝑖)

2

−𝑒−𝑥𝑖 −1

2𝑥𝑖

=𝑥𝑖(3𝑒−𝑥𝑖 + 10(1 + 𝑥𝑖) − 5𝑒−𝑥𝑖𝐿𝑜𝑔[𝑥𝑖])

5(𝑒−𝑥𝑖+2𝑥𝑖)

Tabla de datos

𝒊 𝒙𝒊 𝒇(𝒙𝒊) Error [%]

0 1.5 -0.179602

1 1.177243 0.026539 27.41

2 1.213457 0.000431 2.98

3 1.214065 1.177954x10−7 0.05

𝒇(𝒙𝒊) =𝑳𝒐𝒈(𝒙)

𝟐+ 𝒆−𝒙 −

𝟏

𝟓

Remplazamos el valor e 𝑥0 = 1.5, en la ecuación para obtener el valor de 𝒇(𝒙𝒊)

𝑓(1.5) =𝐿𝑜𝑔(𝑥)

2+ 𝑒−(1.5) −

1

5= −𝟎. 𝟏𝟕𝟗𝟔𝟎𝟐

Page 229: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

229

𝒙𝒊 = 𝒙𝒊−𝟏 −−

𝟏𝟓

+ 𝐞−𝒙𝒊 −𝑳𝒐𝒈(𝒙𝒊)

𝟐

−𝒆−𝒙𝒊 −𝟏

𝟐𝒙𝒊

𝑥𝑖 = 𝑥𝑖−1 −−

15

+ e−1.5 −𝐿𝑜𝑔(1.5)

2

−𝑒−1.5 −1

2(1.5)

= 𝟏. 𝟕𝟕𝟐𝟒𝟑

ERROR

𝑒𝑟𝑟𝑜𝑟 =|𝑥𝑖 − 𝑥𝑖−1 |

|𝑥𝑖|∗ 100%

=|0.322757 − 1.5|

|0.322757|∗ 100% = 𝟐𝟕. 𝟒𝟏%

La raíz aproximada es:

𝑥𝑖 = 𝑥3 = 𝟏. 𝟐𝟏𝟒𝟎𝟕 Representación de la función

𝒚 =𝑳𝒐𝒈(𝒙)

𝟐+ 𝒆−𝒙 −

𝟏

𝟓

Problema 1. Aplíquese el método de Punto Fijo para sistemas no lineales para aproximar el sistema

de ecuaciones no lineales siguiente, iniciando el método en el punto inicial

P0 = (𝑥1(0), 𝑥2

(0), 𝑥3(0))= (0.1, 0.1, −0.1)𝑇e iterando hasta que

∥Pi+1 - Pi ∥∞≤ 10−5

𝑓1 (𝑥1, 𝑥2, 𝑥3) = 3 𝑥1 – 𝑐𝑜𝑠(𝑥2 𝑥3) – 1/2 = 0, 𝑓2 (𝑥1, 𝑥2, 𝑥3) = 𝑥1

2 − 81 (𝑥2 − 0.1)2

+ 𝑠𝑒𝑛 𝑥3 + 1.06 = 0, 𝑓3 (𝑥1, 𝑥2, 𝑥3) = 𝑒−𝑥1 𝑥2

+ 20 𝑥3 + (10 𝜋 − 3)/ 3 = 0. Método del Punto Fijo para sistemas de ecuaciones no lineales. SE FORMA EL SISTEMA DE ECUACIONE.

Page 230: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

230

𝑓1 (𝑥1, 𝑥2, 𝑥3) = [

– 𝑐𝑜𝑠(𝑥2 𝑥3) + 3 𝑥1 +1

2

𝑥12

− 81 (𝑥2 − 0.1)2 + 𝑠𝑒𝑛 𝑥3 + 1.06

+ 20 𝑥3 + 𝑒−𝑥1 𝑥2 +1

3(−3 + 10 𝜋 )

]=[000]

El punto inicial en matriz es:

P0=

[ 𝑥1

(0)

𝑥2(0)

𝑥3(0)

]

=[0.10.1

−0.1]

El límite de P es:

lim𝑥→0

𝑃(𝑥) = 𝑃 = (𝑥1(0)

, 𝑥2(0)

, 𝑥3(0)

)𝑡

Si y solo si lim𝑥→0

𝑃𝑖 = 𝑃𝑖 𝑝𝑎𝑟𝑎 𝑐𝑎𝑑𝑎 𝑖 = 1,2, … . , 𝑛.

Ecuaciones preparadas para el método del Punto Fijo.

[ 𝑥1

(0)

𝑥2(0)

𝑥3(0)

]

=

[

1

6(2 cos ((𝑥2

(𝑘−1)) (𝑥3

(𝑘−1)))+1 )

1

9 √(𝑥1

(𝑘−1))2+𝑠𝑒𝑛 (𝑥3

(𝑘−1)) +1.06 − 0.1

120

(−𝑒−(𝑥1(𝑘−1)

)(𝑥2(𝑘−1)

) +13

(−3+10 𝜋 ))]

Solución. Resolviendo por el método de punto fijo multivariable, con sustituciones simultaneas, primero se despejaran de las ecuaciones las variables de la siguiente forma:

g1=x1=1

3cos(𝑥2𝑥3) +

1

6

g2=x2=1

9√𝑥1

2 + 𝑠𝑒𝑛(𝑥3) + 1.06 − 0.1

g3=x3=−1

20𝑒−𝑥1𝑥2 −

10𝜋−3

60

Para verificar que el sistema converge se deberán cumplir con las siguientes condiciones en las formulas con derivadas parciales:

|𝛿𝑔1

𝛿𝑥1| + |

𝛿𝑔2

𝛿𝑥2| + |

𝛿𝑔3

𝛿𝑥3| = 0 + |

2𝑥1

18√𝑥12 + 𝑠𝑒𝑛(𝑥3) + 1.06

| + |1

20𝑥2𝑒

−𝑥1𝑥2| < 1

|𝛿𝑔1

𝛿𝑥1| + |

𝛿𝑔2

𝛿𝑥2| + |

𝛿𝑔3

𝛿𝑥3| = |−

1

3𝑥3𝑠𝑒𝑛(𝑥2𝑥3)| + 0 + |

1

20𝑥2𝑒

−𝑥1𝑥2| < 1

|𝛿𝑔1

𝛿𝑥1| + |

𝛿𝑔2

𝛿𝑥2| + |

𝛿𝑔3

𝛿𝑥3| = |−

1

3𝑥3𝑠𝑒𝑛(𝑥2𝑥3)| + |

cos (𝑥3)

18√𝑥12 + 𝑠𝑒𝑛(𝑥3) + 1.06

| + 0 < 1

Luego de probar algunos valores se tomarán como valores iniciales: 𝑥1 0 ,2 0 ,𝑥3 0 = 0.1,0.1,−0.1

Page 231: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

231

1ra iteración

2da iteración

𝑥1(2)

=1

3cos(𝑥2

(1)𝑥3

(1)) +

1

6= 0.499996

𝑥2(2)

=1

9√(𝑥3

(1))2 + 𝑠𝑒𝑛(𝑥3

(1)) + 1.06 − 0.1 = 0000028

𝑥3(1)

= −1

20𝑒−𝑥1

(1)𝑥2

(1)

−10𝜋 − 3

60= −0.524101

𝑒𝑟𝑟𝑜𝑟 = √(𝑥1(2)

− 𝑥1(1)

)2

+ (𝑥2(2)

− 𝑥2(1)

)2

+ (𝑥3(2)

− 𝑥3(1)

)2

= 0.009473

Luego evaluando las derivadas parciales para determinar la convergencia del método:

|𝛿𝑔1

𝛿𝑥1| + |

𝛿𝑔2

𝛿𝑥2| + |

𝛿𝑔3

𝛿𝑥3| = 0 + 0.061744 + 0.000470 = 0.062213

|𝛿𝑔1

𝛿𝑥1| + |

𝛿𝑔2

𝛿𝑥2| + |

𝛿𝑔3

𝛿𝑥3| = 0.000864 + 0 + 0.025117 = 0.025982

|𝛿𝑔1

𝛿𝑥1| + |

𝛿𝑔2

𝛿𝑥2| + |

𝛿𝑔3

𝛿𝑥3| = 0.000016 + 0.053458 + 0 = 0.053473

Viendo estos valores se puede decir que el método convergerá, pero como el error es mayor a la tolerancia se deberá continuar con otra iteración. Viendo estos valores se puede decir que el método convergerá, pero como el error es mayor a la tolerancia se deberá continuar con otra iteración.

Table de datos

𝑖 𝑥𝑖 𝑦𝑖 𝑧𝑖 𝑒𝑟𝑟𝑜𝑟

0 0.1 0.1 -0.1

1 0.499983 0.020176 -0.524101 0.745561

2 0.499981 -0.000028 -0.524106 0.020204

3 0.500000 -0.000028 -0.523598 0.000508

4 0.500000 0.000000 -0.523598 2.8𝑥10−5

5 0.500000 0.000000 -0.523599 7.1𝑥10−7

La solución aproximada del sistema es:

𝑃5 = [0.50

−0.523599]

𝑥 = 0.5 y = 0

z = −0.523599

𝑒𝑟𝑟𝑜𝑟 = 7.1𝑥10−7

Page 232: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

232

Page 233: MÉTODOS NUMÉRICOS CON MATLAB - · PDF fileMétodos Numéricos Ing. William Caiza 7 CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los

Métodos Numéricos Ing. William Caiza

233