Post on 07-Feb-2018
Universidad
Politécnica Salesiana
MÉTODOS
NUMÉRICOS
CON MATLAB
Ing.William Caiza
2015
Métodos Numéricos Ing. William Caiza
2
Copyright © 2015 por Ing. William Caiza. Todos los derechos reservados.
Métodos Numéricos Ing. William Caiza
3
Dedicatoria
ESTA PÁGINA ES OPCIONAL.
Métodos Numéricos Ing. William Caiza
4
Agradecimientos
ESTA PAGINA ES OPCIONAL
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
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
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
𝑵𝟏𝟎 = 𝒂𝒌𝟏𝟎𝒌 + 𝒂𝒌−𝟏𝟏𝟎𝒌−𝟏 + ⋯+ 𝒂𝟏𝟏𝟎𝟏 + 𝒂𝟎𝟏𝟎𝟎 ⇒ 𝒂𝒌 = {𝟎, 𝟏, 𝟐, 𝟑, … , 𝟗}
⇒ 𝑵𝟏𝟎 = 𝒂𝒌𝒂𝒌−𝟏 …𝒂𝟏𝒂𝟎
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 ….
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
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.
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
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
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
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)
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
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
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
𝒇(𝒙) = 𝒔𝒆𝒏(𝒙)
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!
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
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
𝑬𝒓 = 𝟔. 𝟑𝟏𝟏𝟏 %
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
𝑬𝒓 = 𝟎. 𝟎𝟐𝟒𝟕 %
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
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
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=
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:
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.
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
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.
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)
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
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
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)
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)
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));
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
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)
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.
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)= 𝒙=√(𝟑&𝒙^𝟐−𝟒𝒙+𝟕)
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:
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
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;
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
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
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
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
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.
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
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
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
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)
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.
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
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:
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
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
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
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, …
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 = 𝑝𝑘 −𝑓(𝑝𝑘)
𝑓′(𝑝𝑘)
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
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
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𝑥
𝒙 =𝟏𝟓𝟕
𝟏𝟓𝟔= 𝟏. 𝟎𝟎𝟔
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.
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.
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.
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
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:
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
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
𝑀𝐴𝑇𝑅𝐼𝑍 𝐴𝑈𝑀𝐸𝑁𝑇𝐴𝐷𝐴
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)
Métodos Numéricos Ing. William Caiza
70
Ejecución del Programa
Todo sistema de ecuaciones se puede escribir de la forma:
𝐴𝑥 = 𝐵
Ejemplo:
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 ⇒ ∀𝑖 > 𝑗
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)
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
Métodos Numéricos Ing. William Caiza
74
Implementación del Código en Matlab
Script (Código del Programa)
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
𝑏𝑛
]
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
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
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
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
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)
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
𝟐𝒙 + 𝒚 = 𝟔𝒙 + 𝛌𝐲 = 𝟒
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
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
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));
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
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
𝑨𝒙 = 𝒃
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)
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?
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
Métodos Numéricos Ing. William Caiza
90
Eliminación de Gauss Jordan
(1) (2) (3)
(4) (5) Página web: http://matesfacil.com/matrices/resueltos-matrices-SEL-GAUSS.html
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
Métodos Numéricos Ing. William Caiza
92
2) El modelo de ajuste es aquel que:
𝑆𝑒 𝑑𝑒𝑏𝑒 𝑀𝑖𝑛 ∑ 𝑒𝑖2
𝑛=1
𝑖=1
𝑠𝑢𝑗𝑒𝑡𝑜 𝑎 𝑙𝑎𝑠 𝑟𝑒𝑠𝑡𝑟𝑖𝑐𝑐𝑖𝑜𝑛𝑒𝑠 ∶
�̂�𝒐 , 𝜷𝟏
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
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
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.
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
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
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
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)
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
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
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:
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
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'));
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
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
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
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
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𝑥 ⇒ 𝒚 = 𝒚 𝜷𝟎 = 𝜶 𝜷𝟏 = 𝜷
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.
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−�̅� ∑𝑥𝑖
∑𝑥𝑖 = 𝑛�̅�
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
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:
𝐼𝑛𝑔𝑟𝑒𝑠𝑜 𝑑𝑒𝑙 𝑑𝑜𝑐𝑒𝑛𝑡𝑒 = 𝑓(𝑎ñ𝑜𝑠 𝑑𝑒 𝑠𝑒𝑟𝑣𝑖𝑐𝑖𝑜, 𝑡í𝑡𝑢𝑙𝑜𝑠 𝑜𝑏𝑡𝑒𝑛𝑖𝑑𝑜𝑠, 𝑝𝑢𝑏𝑙𝑖𝑐𝑎𝑐𝑖𝑜𝑛𝑒𝑠 ℎ𝑒𝑐ℎ𝑎𝑠)
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)
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
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
)
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
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);
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
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
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
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:
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.
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)
⋮ 𝑷𝒏(𝒙) = 𝑷𝒏−𝟏(𝒙) + 𝒃𝒏(𝒙 − 𝒙𝟎)(𝒙 − 𝒙𝟏)(𝒙 − 𝒙𝟐) × …× (𝒙 − 𝒙𝒏−𝟏)
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(𝑥) = 𝑎𝑥 + 𝑏𝑥 + 𝑐
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
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
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”.
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.
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]
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.
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
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
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.
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
Métodos Numéricos Ing. William Caiza
136
𝟑𝟒𝟑𝒂𝟐 + 𝟒𝟗𝒃𝟐 + 𝟕𝒄𝟐 + 𝒅𝟐 = 𝟐. 𝟓 (4)
3.
𝟔𝟎. 𝟕𝟓𝒂𝟏 + 𝟗𝒃𝟏 + 𝒄𝟏 = 𝟔𝟎. 𝟕𝟓𝒂𝟐 + 𝟗𝒃𝟐 + 𝒄𝟐 (5)
4.
𝟐𝟕𝒂𝟏 + 𝟐𝒃𝟏 = 𝟐𝟕𝒂𝟐 + 𝟐𝒃𝟐 (6)
5.
𝟏𝟖𝒂𝟏 + 𝟐𝒃𝟏 = 𝟎 (7)
𝟒𝟐𝒂𝟐 + 𝟐𝒃𝟐 = 𝟎 (8)
Respuesta:
𝒂𝟏 = 𝟎. 𝟏𝟑𝟑𝟑
𝒃𝟏 = −𝟏.𝟐
𝒄𝟏 = 𝟐. 𝟑
𝒅𝟏 = 𝟐. 𝟖
𝒂𝟐 = −𝟎.𝟎𝟖𝟎
𝒃𝟐 = 𝟏. 𝟔𝟖
𝒄𝟐 = −𝟏𝟎. 𝟔𝟔
𝒅𝟐 = 𝟐𝟐. 𝟐𝟒
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
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
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(𝑥)𝑑𝑥
𝑏
𝑎
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
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
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
𝒉 = 𝟏, 𝒉 =𝟏
𝟐 , 𝒉 =
𝟏
𝟒
𝑰(𝒉=𝟏) =𝟏
𝟐[𝒔𝒆𝒏(𝟏) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟖𝟕𝟓𝟑𝟖
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 :
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
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
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));
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
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
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
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]);
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
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
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
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));
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
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ℎ
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]
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.
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:
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
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𝑦
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
𝒀𝟎𝒊+𝟏 = 𝒀𝒊 + 𝒇(𝒙𝒊, 𝒚𝒊) × 𝒉
𝒀𝟎𝒊+𝟏 = 𝟐 + 𝟑 × 𝟏
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
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
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
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
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
|
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:
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
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
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
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
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.
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:
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
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.
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)". %
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.
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;
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.
𝒚′′ − 𝟐𝒚′ + 𝟓𝒚 = −𝟖𝒆−𝒕 𝒚(𝟎) = 𝟐 𝒚′(𝟎) = 𝟏𝟐
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𝑡 + 𝜋)
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)
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)
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.
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
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
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.
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());
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.
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
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
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
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
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.
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
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)
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
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
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);
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);
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.
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.
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);
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).
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)
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.
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);
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
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;
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
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
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');
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:
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
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
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
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á
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.
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:
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:
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.
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)
𝑓′(𝑥𝑛)
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
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:
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.
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 𝒇(𝒙𝒊)
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
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= −𝟎. 𝟏𝟕𝟗𝟔𝟎𝟐
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.
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
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
Métodos Numéricos Ing. William Caiza
232
Métodos Numéricos Ing. William Caiza
233