MÉTODOS NUMÉRICOS CON MATLAB

Transcripción

MÉTODOS NUMÉRICOS CON MATLAB
2015
Universidad
Politécnica Salesiana
MÉTODOS
NUMÉRICOS
CON MATLAB
Ing.William Caiza
Métodos Numéricos
Ing. William Caiza
Copyright © 2015 por Ing. William Caiza. Todos los derechos reservados.
2
Métodos Numéricos
Ing. William Caiza
Dedicatoria
ESTA PÁGINA ES OPCIONAL.
3
Métodos Numéricos
Ing. William Caiza
Agradecimientos
ESTA PAGINA ES OPCIONAL
4
Métodos Numéricos
Ing. William Caiza
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
5
Métodos Numéricos
Ing. William Caiza
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
6
Métodos Numéricos
Ing. William Caiza
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
𝑵𝟏𝟎 = 𝒂𝒌 𝟏𝟎𝒌 + 𝒂𝒌−𝟏 𝟏𝟎𝒌−𝟏 + ⋯ + 𝒂𝟏 𝟏𝟎𝟏 + 𝒂𝟎 𝟏𝟎𝟎 ⇒ 𝒂𝒌 = {𝟎, 𝟏, 𝟐, 𝟑, … , 𝟗}
⇒ 𝑵𝟏𝟎 = 𝒂𝒌 𝒂𝒌−𝟏 … 𝒂𝟏 𝒂𝟎
7
Métodos Numéricos
Ing. William Caiza
1.1.2 Notación Binaria
Notación Decimal
Notación Binaria
0
0
1
1
2
10
3
11
4
100
5
101
6
110
7
111
8
1000
9
1001
𝑵𝟐 = 𝒂𝒌 𝟐𝒌 + 𝒂𝒌−𝟏 𝟐𝒌−𝟏 + ⋯ + 𝒂𝟏 𝟐𝟏 + 𝒂𝟎 𝟐𝟎 ⇒ 𝒂𝒌 = {𝟎, 𝟏}
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 ….
𝑛
8
Métodos Numéricos
Ing. William Caiza
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 2921
=
900
900
9
Métodos Numéricos
Ing. William Caiza
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
0
2
6
0
2
3
1
2
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.
10
Métodos Numéricos
Ing. William Caiza
Ejemplo 3
Transformar 6,312510 a binario.
Parte Entera
610 = 𝟏𝟏𝟎𝟐
6
0
2
3
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⇒𝟎
2
1
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
1
1
= 0 + 4 + 0 + 16 + 0 + 0
4+1
5
=
=
= 𝟎, 𝟑𝟏𝟐𝟓
16
16
⇒ 𝟔, 𝟑𝟏𝟐𝟓𝟏𝟎 = 𝟏 𝟏 𝟎, 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎 𝟎 …
Ejemplo 4
Conversión de periódica (3.5̅)
3. 5̅ =
35 − 3 32
=
9
9
Verificamos
Parte Entera
32 9
50 3,55…
50
=3.5
Ejemplo 5
11
Métodos Numéricos
Ing. William Caiza
Conversión de semi-periódica (3.25̅)
3.25̅ =
Verificamos
Parte Entera
293 90
230 3,255…
500
500
325 − 32 293
=
90
90
=3.25̅
Ejemplo 6
5
Conversión de 1.3 + 3
13 5 39 + 50 89
+ =
=
10 3
30
30
Ejemplo 7
Conversión de 6.312510
6.3125
63125 12625 2525 505 101
∗ 10000 =
=
=
=
=
10000
10000
2000
400
80
16
Ejemplo 8
Conversión de 6.312510 a binario
Parte Entera
6 2
0 3 2
: 110
1 1
Parte Fraccionaria
0.3125*(2)= 0.625 =
0.625*(2)= 1.25 =
0.25*(2)= 0.5
=
0.5*(2)= 1
=
6.312510 = 110.01012
Ejemplo 9
̅̅̅̅ a binario
Conversión de 5.341
5341 − 53 5288 2644
=
=
990
990
495
Parte Entera
5 2
1 2 2
0 1
: 101.
1012 = 1(2)2 + 0(2)1 + 1(2)0
4
+ 0
+1
=5
12
0
1
0
1
Métodos Numéricos
Ing. William Caiza
Parte Fraccionaria
̅̅̅̅
0.341
0.341*(2)= 0.682 = 0
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
Sin importar q sea periódica
Verificación
̅̅̅̅ = 01010111
0.341
= 1(2)−2 + 1(2)−4 + 1(2)−6 + 1(2)−7 + 1(2)−8
=
1 1
1
1
1
+
+
+
+
+⋯
4 16 64 128 250
=
64 + 16 + 4 + 2 + 1
87
=
256
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
13
Métodos Numéricos
Ing. William Caiza
± 𝑀𝑎𝑛𝑡𝑖𝑠𝑎. 𝐵𝑎𝑠𝑒 𝑒𝑥𝑝𝑜𝑛𝑒𝑛𝑡𝑒
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
Signo (1 bit)
Exponente (8 bits)
Mantisa (23 bits)
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,
255−1
desde 0 hasta 255, el desplazamiento será
= 127, el formato de simple precisión
2
tiene un exponente de 8 bits en formato exceso 127, se utiliza para representar
exponentes con valores entre -126 y 127.
14
Métodos Numéricos
Ing. William Caiza
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
1 bit
8 bits
0
10001011
23
bits
01101001000100000000000
Ejemplo:
Dado el siguiente número binario normalizado
1 bit
8 bits
1
10010001
23
bits
10001110001000000000000
15
Métodos Numéricos
Ing. William Caiza
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
16
Métodos Numéricos
Ing. William Caiza
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 𝑥6 𝑥8
+ + +⋯
2! 3! 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
𝑓 (𝑛) (0)𝑥 𝑛
+. . . +
+. ..
2!
𝑛!
Ejemplo a):
Encontrar la serie de McLaurin

𝒇(𝒙) = 𝒔𝒆𝒏(𝒙)
17
𝑛!
+ 𝐸𝑛
Métodos Numéricos
Ing. William Caiza
𝑓(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
𝑓(𝑥) = 𝑃𝑛(𝑥) = 𝑓(𝑎) +
𝑓 ′ (𝑎)(𝑥 − 𝑎) 𝑓 ′′ (𝑎)(𝑥 − 𝑎)2 𝑓 𝑛 (𝑎)(𝑥 − 𝑎)𝑛
+
+
+⋯
1!
2!
𝑛!
𝑓(𝑥) = 𝑆𝑒𝑛 (3.5)
(3.5)3 (3.5)5
𝑆𝑒𝑛 (3.5) = 3.5 −
+
3!
5!
18
Métodos Numéricos
Ing. William Caiza
𝑆𝑒𝑛 (3.5) = 0.73098
𝑉𝑎𝑙𝑜𝑟 𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑑𝑜
𝑉𝑎𝑙𝑜𝑟 𝑟𝑒𝑎𝑙 ∶ 𝑆𝑒𝑛(3.5) = −0.35078
E𝑎 = |−0.35078 − 0.730981 |
𝐄𝒂 = 𝟏. 𝟎𝟖𝟏𝟕𝟔
E𝑟 =
|−0.35078 − 0.730981 |
∗ 100
|−0.35078|
𝐄𝒓 = 𝟑. 𝟎𝟖𝟑𝟖𝟕
Ejemplo d):
𝐹(𝑥) = 𝑆𝑒𝑛 (𝑥)
1)
2)
3)
4)
5)
𝑓 ′ (𝑎)(𝑥 − 𝑎) 𝑓 ′′ (𝑎)(𝑥 − 𝑎)2 𝑓 𝑛 (𝑎)(𝑥 − 𝑎)𝑛
+
+
+⋯
1!
2!
𝑛!
Encuentre la serie de Taylor del Sen(x)
Encuentre el valor de la serie en x =3.45
Encuentre el valor de la serie en a=3, x=3.45
Encuentre el error
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)
x3
x5
x7
Sen(x) = x − 3! + 5! − 7! +
Sen(3.45) = 3.45 −
x9
9!
+⋯
(3.45)3 (3.45)5 (3.45)7 (3.45)9
+
−
+
= −0.284384
3!
5!
7!
9!
19
+
Métodos Numéricos
Ing. William Caiza
Sen(3.45) = Sen(3) + Cos(3)(3.45 − 3) −
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
| ∗ 100
−0.30541
𝑬𝒓 = 𝟔. 𝟑𝟏𝟏𝟏 %
20
+
Métodos Numéricos
Ing. William Caiza
El error para a=3 de Sen(3.45)
𝐸𝑟 = |
−0.303541 + 0.303388
| ∗ 100
−0.30541
𝑬𝒓 = 𝟎. 𝟎𝟓𝟎𝟒 %
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
𝑓(𝑥) = 𝑃𝑛 = 𝑓(𝑎) +
𝑓 ′ (𝑎)(𝑥 − 𝑎) 𝑓 ′′ (𝑎)(𝑥 − 𝑎)2 𝑓 𝑛 (𝑎)(𝑥 − 𝑎)𝑛
+
+
+⋯
1!
2!
𝑛!
1.
𝑆𝑒𝑛 (√𝑥) =
𝑆𝑒𝑛 (√𝑎) + 𝐶𝑜𝑠 (√𝑎) ∗ (𝑥 − 𝑎)
2√𝑎
−√𝑎 ∗ 𝑆𝑒𝑛 (√𝑎) − 𝐶𝑜𝑠 (√𝑎) (𝑥 − 𝑎)2
+(
)∗
2!
4𝑎√𝑎
2.
𝑆𝑒𝑛 (√3.45) =
𝑆𝑒𝑛 (√3.4) + 𝐶𝑜𝑠 (√3.4) ∗ (3.45 − 3.4)
2√3.4
∗
(3.45 − 3.4)2
2!
𝑆𝑒𝑛 (√3.45) = 0,958967
𝐸𝑟 = |
0.959204 − 0,958967
| ∗ 100
0.959204
𝑬𝒓 = 𝟎. 𝟎𝟐𝟒𝟕 %
21
+(
−√3.4 ∗ 𝑆𝑒𝑛 (√3.4) − 𝐶𝑜𝑠 (√3.4)
4(3.4)√3.4
)
Métodos Numéricos
Ing. William Caiza
Ejemplo f):

Demostrar
𝒇(𝜽) = 𝒆𝒊𝜽 = 𝐜𝐨𝐬(𝜽) + 𝒊𝒔𝒆𝒏(𝜽)
𝑓(0) = 𝑒 𝑖𝜃 = 𝑒 𝑖(0) = 𝑒 0 = 1
𝑓 ′ (𝜃) = 𝑖𝑒 𝑖𝜃 = 𝑓′(0) = 𝑖
𝑓 ′′ (𝜃) = 𝑖 2 𝑖𝑒 𝑖𝜃 = 𝑓 ′′ (0) = 𝑖 2
𝑓 ′′′ (𝜃) = 𝑖 3 𝑖𝑒 𝑖𝜃 = 𝑓 ′′′ (0) = 𝑖 3
𝑓 (4) (𝜃) = 𝑖 4 𝑖𝑒 𝑖𝜃 = 𝑓 (4) (0) = 𝑖 4
𝑓 (5) (𝜃) = 𝑖 5 𝑖𝑒 𝑖𝜃 = 𝑓 (5) (0) = 𝑖 5
𝑒
𝑖𝜃
𝑖 2𝜃2 𝑖 3𝜃3 𝑖 4𝜃4
= 1 + 𝑖𝜃 +
+
+
+. ..
2!
3!
4!
𝑒 𝑖𝜃 = (1 −
𝜃2 𝜃4 𝜃6
𝜃3 𝜃5
+
−
+ ⋯ ) + 𝑖 (𝜃 −
+
+⋯)
2! 4! 6!
3! 5!
𝒆𝒊𝜽 = 𝐜𝐨𝐬(𝜽) + 𝒊𝒔𝒆𝒏(𝜽)
Polinomio de Taylor para funciones de dos variables
Definición sea 𝑓: ℝ2
ℝ
* Función escalar de variable vectorial
* Función real de variable vectorial
El polinomio de Taylor de orden n asociado a 𝑓 𝑒𝑛 (𝑎, 𝑏)𝑒𝑠:
𝑓(𝑥, 𝑦) = 𝑃𝑛(𝑎, 𝑏)
1 𝜕
𝜕
= 𝑓(𝑎, 𝑏) + (
𝑓(𝑎, 𝑏)(𝑥 − 𝑎) +
𝑓(𝑎, 𝑏)(𝑦 − 𝑏))
1! 𝜕𝑥
𝜕𝑦
+
1 𝜕2
𝜕2
2𝜕 2
( 2 𝑓(𝑎, 𝑏)(𝑥 − 𝑎)2 + 2 𝑓(𝑎, 𝑏)(𝑦 − 𝑏)2 +
𝑓(𝑎, 𝑏)(𝑥 − 𝑎)(𝑦 − 𝑏))
2! 𝜕𝑥
𝜕𝑦
𝜕𝑥𝜕𝑦
22
Métodos Numéricos
Ing. William Caiza
+
1 𝜕3
𝜕3
3𝜕 3
( 3 𝑓(𝑎, 𝑏)(𝑥 − 𝑎)3 + 3 𝑓(𝑎, 𝑏)(𝑦 − 𝑏)3 + 2
𝑓(𝑎, 𝑏)(𝑥 − 𝑎)2 (𝑦 − 𝑏)
3! 𝜕𝑥
𝜕𝑦
𝜕𝑥 𝜕𝑦
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
23
Métodos Numéricos
Ing. William Caiza
𝑓 (𝑛+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
max|𝑓 (𝑛+1) (𝑡)|
(𝑛 + 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
1
𝑝2 (𝑥) = −1 + ( 𝑥 − π)2
2
|3 − π|3
|𝑒𝑟𝑟𝑜𝑟| ≤
𝑚𝑎𝑥|𝑠𝑒𝑛(𝑡)|; 𝑡 ∈ [3, π].
6
|𝑒𝑟𝑟𝑜𝑟| ≤ 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=
24
Métodos Numéricos
Ing. William Caiza
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)=e x, 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) =
4. Encontrar la serie de Maclaurin para f(x) =
5. Encontrar la serie de Maclaurin para f(x) =
Páginas web:
25
ex + e−x
2
ex − e−x
2
1
1+x2
Métodos Numéricos
Ing. William Caiza
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.
26
Métodos Numéricos
Ing. William Caiza
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
27
Métodos Numéricos
Ing. William Caiza
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.
𝐶𝑖 =
28
Métodos Numéricos
Ing. William Caiza
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)
y= -exp(x)tan(x)
200
150
100
50
0
0
0,5
1
1,5
2
2,5
3
3,5
-50
-100
Figura2.3: grafico del método de la Bisección
Cuadro de datos:
f(ai )f(Ci ) > 0; ai = Ci , bi = bi
29
Métodos Numéricos
Ing. William Caiza
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
30
Métodos Numéricos
Ing. William Caiza
(r2,y2)
r2
C1
(r2,y2)
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 − 𝑓(𝑏)
𝑐−𝑏
Igualando las dos expresiones obtenemos
31
(2)
Métodos Numéricos
Ing. William Caiza
𝑓(𝑏) − 𝑓(𝑎) −𝑓(𝑏)
=
⇒ (𝑐 − 𝑏)(𝑓(𝑏) − 𝑓(𝑎)) = −𝑓(𝑏)(𝑏 − 𝑎)
𝑏−𝑎
𝑐−𝑏
𝑐=−
𝑓(𝑏)(𝑏 − 𝑎)
𝑓(𝑏)(𝑏 − 𝑎)
+𝑏 ⇒ 𝑐 =𝑏−
𝑓(𝑏) − 𝑓(𝑎)
𝑓(𝑏) − 𝑓(𝑎)
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)
32
Métodos Numéricos
Ing. William Caiza
tan(x)*cos(x)
1,5
1
0,5
0
-4
-2
-0,5
0
2
4
6
8
-1
-1,5
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
33
Métodos Numéricos
Ing. William Caiza
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));
34
Métodos Numéricos
Ing. William Caiza
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
35
Métodos Numéricos
Ing. William Caiza
⇒ 𝒑 = 𝟏 ∴ 𝒈(𝒙) 𝒆𝒔 𝒖𝒏 𝒑𝒖𝒏𝒕𝒐 𝒇𝒊𝒋𝒐
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 x 3 + 4x 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
4𝑥 2 = 10 − 𝑥 3
√𝑥 2 = √
10 − 𝑥 3
10 − 𝑥 3
√
|𝑥| = ±
4
4
𝑥=√
10 − 𝑥 3
4
(1)
𝑥 = 𝑔(𝑥)
𝑥(𝑥 2 + 4𝑥) = 10
𝑥=
𝑥2
10
+ 4𝑥
36
(2)
Métodos Numéricos
Ing. William Caiza
𝑥 = 𝑔(𝑥)
𝑥 3 = 10 − 4𝑥 2
3
3
√𝑥 3 = √10 − 4𝑥 2
3
𝑥 = √10 − 4𝑥 2 (3)
𝑥 = g(x)
Verificación de la ecuación (1)
𝑓(𝑥) = 𝑥 − 𝑔(𝑥)
10 − 𝑥 3
𝑓(𝑥) = 𝑥 − √
4
𝑓(𝑥) = 𝑥 −
𝑓(𝑥) =
√10 − 𝑥 3
2
2𝑥 − √10 − 𝑥 3
2
𝑓(𝑥) = 0
2𝑥 − √10 − 𝑥 3
=0
2
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 .
37
Métodos Numéricos
Ing. William Caiza
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)= 𝐱 = √𝐱 𝟐 − 𝟒𝐱 + 𝟕
F(x)= 𝒙=√(𝟑&𝒙^𝟐−𝟒𝒙+𝟕)
15
10
5
0
-4
-3
-2
-1
-5
0
1
2
3
-10
-15
-20
-25
Figura 1.10: grafica del método del punto fijo
38
4
5
Métodos Numéricos
Ing. William Caiza
Gráfico de la ecuación (2) en la cual las rectas se intersectan y las funciones convergen.
k
0
1
2
3
4
5
6
7
8
9
pk
2
0,75
1,78515625
1,12446938
1,71065425
1,23009637
1,66295816
1,29165893
1,62835032
1,3334784
pk+1=g(pk)
0,75
1,78515625
1,12446938
1,71065425
1,23009637
1,66295816
1,29165893
1,62835032
1,3334784
1,60175513
Pk
2
1,44224957
1,49047078
1,4827081
1,48391569
1,48372676
1,48375629
1,48375168
1,4837524
1,48375229
pk+1=g(pk)
1,44224957
1,49047078
1,4827081
1,48391569
1,48372676
1,48375629
1,48375168
1,4837524
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) ;
𝑝1 − 𝑝0
Igualando tenemos que:
39
𝑚 = 𝑓 ′ (𝑝0 ) (2)
Métodos Numéricos
Ing. William Caiza
𝑓 ′ (𝑝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,2, …
𝑓 ′ (𝑝 )
𝑘−1
Ejemplo 7: Aplicar el método de Newton-Raphson para resolver la siguiente
ecuación
𝒍𝒏 𝒙𝟐 = 𝟎. 𝟕
𝑙𝑛 𝑥 2 − 0.7 = 0
⇒ 𝑓(𝑥) = 𝑙𝑛 𝑥 2 − 0.7
𝑓(𝑥)=ln〖𝑥^2 〗−0.7
3
2
1
0
-3
-2
-1
-1 0
1
2
3
4
5
-2
-3
-4
-5
-6
Figura 2.12: Grafica Del Método De Newton Raphson
𝑓 ′ (𝑥) =
2
𝑥
40
6
Métodos Numéricos
Ing. William Caiza

𝑓(𝑝 )
𝑝𝑘+1 = 𝑝𝑘 − 𝑓′ (𝑝𝑘 )
𝑘
𝑝𝑘+1 = 2 −

𝑓(𝑝 )
𝑙𝑛(22 ) − 0.7
⟹ 𝑝𝑘+1 = 1.3137
2
2
𝑝𝑘+1 = 𝑝𝑘 − 𝑓′ (𝑝𝑘 )
𝑘
𝑝𝑘+1 = 1.3137 −
𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟 |
𝑙𝑛(1.31372 ) − 0.7
⟹ 𝑝𝑘+1 = 1.415
2
1.3137
𝐸𝑅𝑅𝑂𝑅 = |1.415 − 1.3137| ⇒ 0.101

𝑓(𝑝 )
𝑝𝑘+1 = 𝑝𝑘 − 𝑓′ (𝑝𝑘 )
𝑘
𝑝𝑘+1 = 1.415 −
𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟 |
𝑙𝑛(1.4152 ) − 0.7
⟹ 𝑝𝑘+1 = 1.419
2
1.415
𝐸𝑅𝑅𝑂𝑅 = |1.419 − 1.415| ⇒ 0.004

𝑓(𝑝 )
𝑝𝑘+1 = 𝑝𝑘 − 𝑓′ (𝑝𝑘 )
𝑘
𝑙𝑛(1.4192 ) − 0.7
𝑝𝑘+1 = 1.419 −
⟹ 𝑝𝑘+1 = 1.419
2
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;
41
Métodos Numéricos
Ing. William Caiza
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
42
Métodos Numéricos
Ing. William Caiza
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
f(x)=(x-2)^2
30
25
20
15
10
5
0
-4
-2
0
2
43
4
6
8
Métodos Numéricos
Ing. William Caiza
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.
f(x)=(x-2)^3
20
10
0
-2
-1
-10
0
1
2
3
4
5
-20
-30
-40
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
𝑓(𝑥𝑖 )(𝑓′(𝑥𝑖 ))2
𝑥𝑖+1 = 𝑥𝑖 −
𝑓′(𝑥𝑖 )[(𝑓 ′ (𝑥𝑖 ))2 − 𝑓(𝑥𝑖 )𝑓 ′′ (𝑥𝑖 ))]
𝑓(𝑥𝑖 )𝑓′(𝑥𝑖 )
𝑥𝑖+1 = 𝑥𝑖 − ′
(𝑓 (𝑥𝑖 ))2 − 𝑓(𝑥𝑖 )𝑓 ′′ (𝑥𝑖 ))
Ejemplo 11: encontrar los ceros de la siguiente función
44
Métodos Numéricos
Ing. William Caiza
f(x)=(x-3)(x-1)^2
40
20
0
-3
-2
-1
0
1
2
3
4
5
6
-20
-40
-60
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
45
Métodos Numéricos
Ing. William Caiza
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.
46
Métodos Numéricos
Ing. William Caiza
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.
METODO DE LA BISECCION
5
4
3
2
1
0
-3
-2
-1
-1
0
-2
47
1
2
3
4
5
Métodos Numéricos
Ing. William Caiza
Ejercicios propuestos
1. Determine las raíces reales de f(x) = −2 + 7x − 5x 2 + 16x 3
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 − 88x 2 + 45,4x 3 − 9x 4 + 0,65x 5
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:
c
9.8(68.1)
f(c) =
(1 − e−(68.1)10 ) − 40
c
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
−2.2688(12 − 16)
xr = 16 −
= 14.9113
6.0669 − (−2.2688)
Que tiene un error relativo verdadero de 0.89 por ciento.
Segunda iteración:
f(xl) f(xr) = – 1.5426
48
Métodos Numéricos
Ing. William Caiza
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
−0.2543(12 − 14.9113)
xr = 14.9113 −
= 14.7942
6.0669 − (−0.2543)
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
2,5
2
1,5
1
0,5
0
-2
-1
-0,5 0
1
2
3
4
-1
-1,5
-2
-2,5
Ejercicios propuestos
1. Determine la raíz real de:
(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
f(x) =
49
5
Métodos Numéricos
Ing. William Caiza
2. Calcule la raíz cuadrada positiva de f(x) = x 2 − 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.
(c,0)
L
secante
Para hallar el punto c, igualamos dos fórmulas para
la pendiente m de la recta secante L.
b) (𝑐, 0) 𝑦 (𝑏, 𝑓(𝑏))
a) (𝑎, 𝑓(𝑎)) 𝑦 (𝑏, 𝑓(𝑏))
𝑚𝐿𝑠𝑒𝑐𝑎𝑛𝑡𝑒 =
𝑓(𝑏) − 𝑓(𝑎)
𝑏−𝑎
(1)
𝑚𝐿𝑠𝑒𝑐𝑎𝑛𝑡𝑒 =
0 − 𝑓(𝑏)
𝑐−𝑏
(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).
50
(2)
Métodos Numéricos
Ing. William Caiza
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.
51
Métodos Numéricos
Ing. William Caiza
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
52
Métodos Numéricos
Ing. William Caiza
4𝑥 2 = 10 − 𝑥 3
𝑥(𝑥 2 + 4𝑥) = 10
10 − 𝑥 3
√𝑥 2 = √
4
10 −
|𝑥| = ±√
4
10−𝑥 3
𝑥=√
4
𝑥=
𝑥3
10
𝑥 2 + 4𝑥
(2)
𝑥 = 𝑔(𝑥)
(1)
𝑥 3 = 10 − 4𝑥 2
3
3
√𝑥 3 = √10 − 4𝑥 2
3
𝑥 = 𝑔(𝑥)
𝑥 = √10 − 4𝑥 2 (3)
𝑥 = 𝑔(𝑥)
VERIFICACIÓN DE LA ECUACIÓN (1):
𝑓(𝑥) = 0
𝑓(𝑥) = 𝑥 − 𝑔(𝑥)
2𝑥 − √10 − 𝑥 3
=0
2
10 − 𝑥 3
𝑓(𝑥) = 𝑥 − √
2𝑥 − √10 − 𝑥 3 = 0
4
2
(2𝑥)2 = (√10 − 𝑥 3 )
√10 − 𝑥 3
𝑓(𝑥) = 𝑥 −
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:
53
Métodos Numéricos
Ing. William Caiza
𝒇(𝒙) = 𝒙𝟑 − 𝒙𝟐 + 𝟒𝒙 − 𝟕
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
54
Métodos Numéricos
Ing. William Caiza
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
55
Métodos Numéricos
Ing. William Caiza
Implementación del Código en Matlab

Script (Código de Programación)

Ejecución del Programa
56
Métodos Numéricos
Ing. William Caiza
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) ;
𝑝1 − 𝑝0
𝑚 = 𝑓 ′ (𝑝0 ) (2)
Igualando tenemos que:
0 − 𝑓(𝑝𝑥 )
𝑝1 − 𝑝0
(𝑝1 − 𝑝0 )𝑓 ′ (𝑝0 ) = −𝑓(𝑝0 )
𝑝1 𝑓 ′ (𝑝0 ) − 𝑝0 𝑓 ′ (𝑝𝑜 ) = −𝑓(𝑝0 )
𝑓(𝑝0 ) + 𝑝0 𝑓 ′ (𝑝0 )
𝑝1 = −
𝑓 ′ (𝑝0 )
𝑓(𝑝0 )
𝑝1 = 𝑝0 − ′
𝑓 (𝑝0 )
Este proceso puede repetirse para obtener la sucesión {𝑝𝑘 } que converge ap.
𝑓 ′ (𝑝0 ) =
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 −
57
𝑓(𝑝𝑘−1 )
; 𝑘 = 1,2, …
𝑓 ′(𝑝𝑘−1 )
Métodos Numéricos
Ing. William Caiza
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

𝑙𝑛(22 ) − 0.7
= 2−
⟹ 𝑝𝑘+1 = 1.3137
2
2
𝑓(𝑝 )
𝑝𝑘+1 = 𝑝𝑘 − 𝑓′ (𝑝𝑘 )
𝑘
𝑝𝑘+1 = 1.3137 −
𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟 |
𝑙𝑛(1.31372 ) − 0.7
⟹ 𝑝𝑘+1 = 1.415
2
1.3137
𝐸𝑅𝑅𝑂𝑅 = |1.415 − 1.3137| ⇒ 0.101

𝑓(𝑝 )
𝑝𝑘+1 = 𝑝𝑘 − 𝑓′ (𝑝𝑘 )
𝑘
58
Métodos Numéricos
Ing. William Caiza
𝑝𝑘+1 = 1.415 −
𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟 |
𝑙𝑛(1.4152 ) − 0.7
⟹ 𝑝𝑘+1 = 1.419
2
1.415
𝐸𝑅𝑅𝑂𝑅 = |1.419 − 1.415| ⇒ 0.004

𝑓(𝑝 )
𝑝𝑘+1 = 𝑝𝑘 − 𝑓′ (𝑝𝑘 )
𝑘
𝑝𝑘+1 = 1.419 −
𝐸𝑅𝑅𝑂𝑅 = |𝑥𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟 |
𝑙𝑛(1.4192 ) − 0.7
⟹ 𝑝𝑘+1 = 1.419
2
1.419
𝐸𝑅𝑅𝑂𝑅 = |1.419 − 1.419| ⇒ 0
59
Métodos Numéricos
Ing. William Caiza
Ejemplo:
𝒚 = (𝒙 − 𝟏)(𝒙 + 𝟑)
𝑦 = 𝑥 2 + 3𝑥 − 𝑥 − 3
𝑦 = 𝑥 2 + 2𝑥 − 3
−𝑏
−2
𝑿𝒎𝒊𝒏 =
=
= −1
2𝑎 2(1)
𝒀𝒎𝒊𝒏 = (−1)2 + 2(−1) − 3
-1-2-3 = -4.
5
-3
-1
-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
60
1
2
Métodos Numéricos
Ing. William Caiza
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))
2
𝑓(7⁄6) = (7⁄6) + 2(7⁄6) − 3
49/36 + 7/3 -3
49 + 84 − 108
=
36
𝟐𝟓
=
𝟑𝟔
𝑚(7⁄6) = 2(7⁄6) + 2
7
7+6
𝟏𝟑
= +2=
=
3
3
𝟑
𝟐𝟓 𝟏𝟑
𝟕
=
(𝒙 − )
𝟔
𝟑
𝟔
13 13(7) 25
𝑦=
−
+
3
18
36
𝒚−
𝟏𝟑
𝟏𝟓𝟕
𝒙−
𝟑
𝟑𝟔
Si y = 0 en 2
13
157
0=
𝑥−
3
36
157 13
=
𝑥
36
3
𝟏𝟓𝟕
𝒙=
= 𝟏. 𝟎𝟎𝟔
𝟏𝟓𝟔
𝟐) 𝒚 =
61
Métodos Numéricos
Ing. William Caiza
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.
62
Métodos Numéricos
Ing. William Caiza
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.
63
Métodos Numéricos
Ing. William Caiza
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.
64
Métodos Numéricos
Ing. William Caiza
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
65
Métodos Numéricos
Ing. William Caiza
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:
66
Métodos Numéricos
Ing. William Caiza
• 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 3
𝐴=[ 2
1 4] ⟹ |𝐴| = (1 + 12 + 4) − (−3 + 8 − 2) ⇒ |𝐴| = 17 − 3 = 14
−1 2 1
67
⇒ |𝐴| ≠ 0
Métodos Numéricos
Ing. William Caiza
1 −1 3 1 0
[2
1 4| 0 1
−1 2 1 0 0
1
0
1 −1 3 1 0 0
1
0] 𝐹2 ← 𝐹2 − 2𝐹1 ⇒ [0 3 −2| −2 1 0] 𝐹2 ← 𝐹2
3
1 𝐹3 ← 𝐹3 − 2𝐹1
0 1
4 1 0 1
−1
⇒ [0
1
0
1
1 0
⇒
0 1
0 0
[
3 1
2 2
− |−
3 3
4 1
0
1
3
0
1 0
0 𝐹 ←𝐹 +𝐹
1
1
2
⇒ 0 1
0]
𝐹3 ← 𝐹3 − 𝐹2
1
[0 0
1
7 1
3
3 3
2| 2 1
− −
3| 3 3
14 5
1
−
3 3
3
1
1
7
7 −
0
2
3
𝐹1 ← 𝐹1 − 𝐹3
1 0
3
3
2
1
2 ⇒ 0 1
2|| −
0
𝐹2 ← 𝐹2 + 𝐹3
3
3
−
0 0
3
3 5
1
3
1
−
[
14
14 14]
1
1
1
−
2
2
2
1 −1 3
1
3
2
1
=[ 2
⇒ [0
1 4] ∙ −
7
7
7
−1 2 1
0
5
1
3
[ 14 − 14 14 ]
−
RANGO DE UNA MATRIZ
x – 9y + 5z = 33
x + 3y – z = -9
x–y+z=5
1 −9 5
1 −9 5
1 −9 5
2 ) 𝑓2/2 (0 2 −1)
3 −1) 𝑓2 − 𝑓3 (0 4
1 −1 1 𝑓3 − 𝑓1 0 8 −4 𝑓3/4 0 −2 1 𝑓3 + 𝑓2
1 −9 5
(0 2 −1) 𝑅𝐴𝑁𝐺𝑂 (𝐴) = 2
0 0
0
(1
𝑀𝐴𝑇𝑅𝐼𝑍 𝐴𝑈𝑀𝐸𝑁𝑇𝐴𝐷𝐴
68
0
1]
3
𝐹3 ← 𝐹3 ( )
14
1
1
1
−
2
2
2
0 3
2
1
0| −
7
7
1 7
5
1
3
−
14
14 14 ]
−
Verificación:
𝐴 ∙ 𝐴−1
0
0 0
1 0]
0 1
Métodos Numéricos
Ing. William Caiza
1 −9 5 33
1 −9 5 33
3 −1 |−9) 𝑓2 − 𝑓1 (1 12 −6 |−42) 𝑓2/6
1 −1 1 5
1 −1 1 5
(1
1 −9 5 33
1 −9 5 33
(0 2 −1 |−7)
2 −1 |−7)
1 −1 1 5 𝑓3 + 𝑓2 1 1
0 −2 𝑓3 − 𝑓1
(0
1 −9 5 33
1 −9 5 33
(0 2 −1 |−7)
2 −1 | −7 )
1 10 −5 −35 𝑓3/5 0 2 −1 −7 𝑓3 − 𝑓2
(0
1 −9 5 33
2 −1 |−7) 𝑅𝐴𝑁𝐺𝑂 (𝑀𝐴𝑃) = 2 < 𝑚, 𝑑𝑜𝑛𝑑𝑒 𝑚, 𝑒𝑠 𝑒𝑙 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑒 𝑓𝑖𝑙𝑎𝑠
0 0
0 0
(0
=> ∃ 𝑖𝑛𝑓𝑖𝑛𝑖𝑡𝑎𝑠 𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛𝑒𝑠
2𝑦 − 1 = 7
X – 9y 5 z = 33
x = 33 + 9y – 5z
7+𝑧
𝑥 = 33 + 9 ( 2 ) − 5𝑧
Donde
𝑥 = 33 +
2y = 7 + z
𝑥 = 33 +
𝒚=
𝟕+𝒛
𝒙=
𝟐
𝟏𝟐𝟗
𝟐
63
2
63
2
𝟏
9
+ 2 𝑧 − 5𝑧
1
− 2𝑧
− 𝟐𝒛
Sea z = t
129
1
𝑥 = 2 − 2𝑡
𝑡 { 𝑦 = 7+𝑡 , 𝑇𝐸𝑁𝐸𝑅 𝐸𝑁 𝐶𝑈𝐸𝑁𝑇𝐴 𝑄𝑈𝐸 𝑃𝐴𝑅𝐴 𝑈𝑁𝐴 𝑀𝐴𝑇𝑅𝐼𝑍 𝐼𝑁𝑉𝐸𝑅𝑆𝐴 𝐷𝐸𝐵𝐸:
2
𝑧=𝑡
Implementación del Código en Matlab
 Script (Código del Programa)
69
Métodos Numéricos
Ing. William Caiza
Ejecución del Programa
Todo sistema de ecuaciones se puede escribir de la forma:
𝐴𝑥 = 𝐵
Ejemplo:
70
Métodos Numéricos
Ing. William Caiza
3 2
𝐴 = [−1 1
−1 3
1
1
]
;
𝑏
=
[
−1
2]
1
−1
𝐴𝑥 = 𝑏
3 2
[−1 1
−1 3
3𝑋1 + 2𝑋2 + 𝑋3
1 𝑋1
1
1
−1] [𝑋2 ] = [ 2 ] ⇒ [ −𝑋1 + 𝑋2 − 𝑋3 ] = [ 2 ]
−𝑋1 + 3𝑋2 + 𝑋3
1 𝑋3
−1
−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
𝐴 = [𝑎21
𝑎31
𝑎12
𝑎22
𝑎32
𝑎13
𝑎23 ]
𝑎33
𝑎𝑖𝑗 ⇒ 𝑖 < 𝑗
𝑎𝑖𝑗 ⇒ 𝑖 = 𝑗
𝑎𝑖𝑗 ⇒ 𝑖 > 𝑗
MATRIZ TRIANGULAR SUPERIOR
1
𝐴 = [0
0
2
2
0
1
−1]
1
[𝑎𝑖𝑗 ] = 0 ⇒ ∀𝑖 > 𝑗
MATRIZ TRIANGULAR INFERIOR
71
Métodos Numéricos
Ing. William Caiza
1
𝐴 = [2
3
0
−1
−2
0
0]
4
[𝑎𝑖𝑗 ] = 0 ⇒ ∀𝑖 < 𝑗
Si A es una matriz triangular superior entonces se dice que el sistema 𝐴𝑥 = 𝑏 es un sistema
triangular superior de ecuaciones lineales:
(1)
𝑎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,𝑛−1 𝑋𝑛−1 − 𝑎𝑛−2,𝑛 𝑋𝑛
𝑋𝑛−2 =
𝑎𝑛−2,𝑛−2
𝑏𝑛−3 − 𝑎𝑛−2,𝑛−2 𝑋𝑛−2 − 𝑎𝑛−3,𝑛−1 𝑋𝑛−1 − 𝑎𝑛−3,𝑛 𝑋𝑛
𝑋𝑛−3 =
𝑎𝑛−3,𝑛−3
𝑋𝑛 =
Generalizando tenemos:
𝑏𝑘 − ∑𝑛𝑗=𝑘+1 𝑎𝑘𝑗 𝑋𝑗
𝑋𝑘 =
𝑎𝑘𝑘
Ejemplo
Aplicando el método de sustitución hacia atrás de una matriz 4X4
72
Métodos Numéricos
Ing. William Caiza
𝑎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 =
𝑋3 =
𝑏4
𝑎44
(Constante y conocido)
𝑏3 − 𝑎34 𝑋4
𝑎33
𝑏2 − 𝑎23 𝑋3 − 𝑎24 𝑋4 𝑏2 − (𝑎23 𝑋3 + 𝑎24 𝑋4 )
=
𝑎22
𝑎22
𝑏1 − 𝑎12 𝑋2 − 𝑎13 𝑋3 − 𝑎14 𝑋4 𝑏1 − (𝑎12 𝑋2 + 𝑎13 𝑋3 +)
𝑋1 =
=
𝑎11
𝑎22
𝑋2 =
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
73
Métodos Numéricos
Ing. William Caiza
Implementación del Código en Matlab

Script (Código del Programa)
74
Métodos Numéricos
Ing. William Caiza
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
[𝐴|𝑏] = [𝑎21
𝑎𝑛1
𝑎12 … 𝑎1𝑛 𝑏1
𝑎22 … 𝑎2𝑛 |𝑏2 ]
𝑎𝑛2 … 𝑎𝑛𝑛 𝑏𝑛
75
Métodos Numéricos
Ing. William Caiza
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)
𝒂
𝒎𝒌𝟏 = 𝒂𝒌𝟏 , 𝒌 = 𝟐, 𝟑, 𝟒, …
𝟏𝟏
Multiplicador
Pivote
1
[2
4
−3
𝑆𝑖 𝑘 = 2 ⇒ 𝑚21 =
𝑆𝑖 𝑘 = 3 ⇒ 𝑚31 =
Multiplicador
2
0
2
1
1
4
2
3
𝑎21
2
= = 2 ; 𝐹2 ← 𝐹2 − 𝑚21 𝐹1
𝑎11
1
1
2
1
0
−4
2
[
4
2
2
−3 1
3
4 13
3| 28]
1 20
2 6
4 13
−5| 2 ]
1 20
2 6
𝑎31
4
= = 4 ; 𝐹3 ← 𝐹3 − 𝑚31 𝐹1
𝑎11
1
1
[0
0
−3
𝑆𝑖 𝑘 = 4 ⇒ 𝑚41 =
𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌,𝟏 𝑭𝟏
2
1
−4
2
−6 −2
1
3
13
4
−5 | 2 ]
−15 −32
6
2
𝑎41
−3
=
= −3 ; 𝐹4 ← 𝐹4 − 𝑚41 𝐹1
𝑎11
1
76
Fila Pivote
Métodos Numéricos
Ing. William Caiza
1
[0
0
0
2
13
1 4
−4
2 −5 | 2 ]
−6 −2 −15 −32
45
7
6 14
Segunda columna
𝒎𝒌𝟐 =
𝑆𝑖 𝑘 = 3 ⇒ 𝑚32 =
1
0
[
0
0
𝑎32
−6 3
=
= ; 𝐹3 ← 𝐹3 − 𝑚32 𝐹2
𝑎22
−4 2
𝑎42
7
7
=
= − ; 𝐹4 ← 𝐹4 − 𝑚42 𝐹2
𝑎22
−4
4
2
1 4
13
−4
2 −5
2
|
]
0 −5 − 15⁄2 −35
0 19⁄2 21⁄4 97⁄2
Tercera columna
𝒎𝒌𝟑 =
𝑆𝑖 𝑘 = 4 ⇒ 𝑚43
1
0
[
0
0
𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌𝟐 𝑭𝟐
2
1 4
13
−4
2 −5 | 2 ]
0 −5 − 15⁄2 −35
45
7
6 14
𝑆𝑖 𝑘 = 4 ⇒ 𝑚42 =
1
0
[
0
0
𝒂𝒌𝟐
, 𝒌 = 𝟑, 𝟒, …
𝒂𝟐𝟐
𝒂𝒌𝟑
, 𝒌 = 𝟒, …
𝒂𝟑𝟑
𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌𝟑 𝑭𝟑
19
𝑎43
19
=
= 2 =−
; 𝐹 ← 𝐹4 − 𝑚43 𝐹3
𝑎33
−5
10 4
2
1 4
13
−4
2 −5 | 2 ]
0 −5 − 15⁄2 −35
−18
0
0 9
−9𝑋4 = −18 ⇒ 𝑿𝟒 = 𝟐
15
15
−5𝑋3 − 𝑋4 = −35 ⇒ −5𝑋3 − (2) = −35 ⇒ 𝑿𝟑 = 𝟒
2
2
−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
77
Métodos Numéricos
Ing. William Caiza
Resolver el siguiente sistema de ecuaciones mediante pivoteo y multiplicadores:
𝒎𝒌𝟏 =
𝒂𝒌𝟏
, 𝒌 = 𝟐, 𝟑 …
𝒂𝟏𝟏
3𝑥 − 2𝑦 + 𝑧 = 2
𝑥 + 𝑦 − 𝑧 = −1
−𝑥 + 2𝑦 + 3𝑧 = 1
𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌,𝟏 𝑭𝟏
Calculemos el rango
3 −2 1
[1
1 −1]
−1 2
3
Primera columna
𝑆𝑖 𝑘 = 2 ⇒ 𝑚21 =
𝑎21
1 1
= = ; 𝐹2 ← 𝐹2 − 𝑚21 𝐹1
𝑎11
3 3
3
−2
1
5
4
[0
− ]
3
3
−1 2
3
𝑆𝑖 𝑘 = 3 ⇒ 𝑚31 =
3 −2
1
5
4
0
−
3
3
4
10
[0 3
3 ]
𝑎31
−1
1
=
= − ; 𝐹3 ← 𝐹3 − 𝑚31 𝐹1
𝑎11
3
3
Segunda columna
𝒎𝒌𝟐 =
𝑆𝑖 𝑘 = 3 ⇒ 𝑚32 =
𝒂𝒌𝟐
, 𝒌 = 𝟑 𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌𝟐 𝑭𝟐
𝒂𝟐𝟐
𝑎32
−6 3
=
= ; 𝐹3 ← 𝐹3 − 𝑚32 𝐹2
𝑎22
−4 2
3 −2
1
5
4
0
−
3
3
22
[0 0
5 ]
Calculemos el rango de la matriz ampliada
78
Métodos Numéricos
Ing. William Caiza
3 −2 1 2
[1
1 −1| −1]
−1 2
3 1
𝒎𝒌𝟏 =
𝒂𝒌𝟏
, 𝒌 = 𝟐, 𝟑 …
𝒂𝟏𝟏
𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌,𝟏 𝑭𝟏
Primera columna
𝑆𝑖 𝑘 = 2 ⇒ 𝑚21 =
3
−2
[ 0 5/3
−1
2
𝑎21
1 1
= = ; 𝐹2 ← 𝐹2 − 𝑚21 𝐹1
𝑎11
3 3
2
1
−4/3| −5/3]
5/3
3
𝑆𝑖 𝑘 = 3 ⇒ 𝑚31 =
𝑎31
−1
1
=
= − ; 𝐹3 ← 𝐹3 − 𝑚31 𝐹1
𝑎11
3
3
3 −2
1
2
[0 5/3 −4/3| −5/3]
0 4/3 10/3 5/3
Segunda columna
𝒂𝒌𝟐
, 𝒌 = 𝟑 𝑭𝒌 ← 𝑭𝒌 − 𝒎𝒌𝟐 𝑭𝟐
𝒂𝟐𝟐
𝑎32
−6 3
𝑆𝑖 𝑘 = 3 ⇒ 𝑚32 =
=
= ; 𝐹3 ← 𝐹3 − 𝑚32 𝐹2
𝑎22
−4 2
𝒎𝒌𝟐 =
3 −2
1
2
0
5/3
−4/3
−5/3
[
|
]
0
0
22/5 1/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
79
Métodos Numéricos
Ing. William Caiza
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
𝟐𝒙 + 𝟑𝒚 + 𝒛 = 𝟏
𝟑𝒙 − 𝟐𝒚 − 𝟒𝒛 = −𝟑
𝟓𝒙 − 𝒚 − 𝒛 = 𝟒
3
3
1 1
2
2 3
1 1 𝐹 1
𝐹
←
𝐹
−
3𝐹
13
1
2
1
2
2| 2] 2
[3 −2 −4| −3]
[
0
−
2 3 −2 −4 −3 𝐹3 ← 𝐹3 − 5𝐹1
2
5 −1 −1 4
17
5 −1 −1 4
[0 − 2
1
80
1
1
2
2
2
11| 9
−
− 𝐹2 ← 𝐹2 (− )
13
2| 2
7 3
−
2 2 ]
Métodos Numéricos
Ing. William Caiza
1
0
[0
𝐹1
𝐹2
3
2
1
1
2
2
11| 9
1
−
−
13| 13
17
7
3
−
−
2
2
2 ]
10
← 𝐹1 + 𝐹3 1 0
13
[0 1
11
← 𝐹2 − 𝐹3 0 0
13
1
3
𝐹1 ← 𝐹1 − 𝐹2
2
0
17
𝐹3 ← 𝐹3 + 𝐹2
2
[0
0 1
0| −1]
1 2
10
7
−
13 13
1 0
13
11| 9
𝐹3 ← 𝐹3 ( )
1 −
−
48 0 1
13| 13
48 96
[0 0
0
13 13 ]
0 −
10
7
−
13 13
11|| 9
−
−
13 13
1
2 ]
−
⇒𝒙=𝟏
𝒚 = −𝟏
𝒛=𝟐
2. Resolver el siguiente sistema mediante Gauss-Jordan
𝟑𝒙 − 𝟐𝒚 + 𝟑𝒛 = 𝟓
𝟐𝒙 + 𝟒𝒚 − 𝒛 = 𝟐
2
5
1
3
3
[
| 3 ]
16
4
2
−3 −
3
3
2
5
5
3
1
1 0
3 1 −3
2
3
8 | 2 ]
𝐹2 ← 𝐹2 ( ) [
|
] 𝐹1 ← 𝐹1 + 𝐹2 [
9
1
1
9
16
3
0 1 −
−
−
0 1 −
16 4
16 4
1
𝐹1 1 − 2 1 5
−2 3 5
| ]𝐹 ← [
| 3] 𝐹2 ← 𝐹2 − 2𝐹1 [
3
4 −1 2 1
3
2 4 −1 2
0
𝟑 𝟓
− 𝒕
𝟐 𝟖
𝟗
𝟏
𝒚=
𝒕−
𝟏𝟔
𝟒
𝒛=𝒕
5
3
3 5
𝑥+ 𝑧= ⇒𝑥= − 𝑧
8
2
2 8
9
1
9
1
𝑦− 𝑧=− ⇒𝑦=
𝑧−
16
4
16
4
𝑧=𝑡
𝒙=
∴ 𝑬𝒍 𝒔𝒊𝒔𝒕𝒆𝒎𝒂 𝒕𝒊𝒆𝒏𝒆 𝒊𝒏𝒇𝒊𝒏𝒊𝒕𝒂𝒔 𝒔𝒐𝒍𝒖𝒄𝒊𝒐𝒏𝒆𝒔
3. Obtener λ para que el sistema de ecuaciones tenga:
a) Solución única
b) Infinitas soluciones
c) No tenga solución
𝟐𝒙 + 𝒚 = 𝟔
𝒙 + 𝛌𝐲 = 𝟒
81
−
Métodos Numéricos
Ing. William Caiza
1
1
3
1
𝐹
𝐹2 1 1
1 1
2 1 6
3
3
2
[
| ]𝐹 ←
[
| ]𝐹 ←
[
2| 4] 𝐹2 ← 𝐹2 − 𝐹1 [
2| 2 ] 𝐹1
1 1 2
1
1 λ 4 1
2
λ − 2 0 1 2λ − 1
1 λ
0 λ−
2
2
3
−
1
1
1 0
2(λ − 1)
← 𝐹1 − 𝐹2
|
⇒ 2λ − 1 ≠ 0 ⇒ λ ≠
0 1
2
2
2
[
2λ − 1 ]
1

𝑆𝑖 λ =

𝑆𝑖 λ ≠ 2 ⇒ 𝑒𝑥𝑖𝑠𝑡𝑒 ú𝑛𝑖𝑐𝑎 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛

2
1
⇒ 𝑛𝑜 𝑒𝑥𝑖𝑠𝑡𝑒 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛
𝑁𝑜 𝑒𝑥𝑖𝑠𝑡𝑒 𝑖𝑛𝑓𝑖𝑛𝑖𝑡𝑎𝑠 𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛𝑒𝑠
4. Obtener λ para que el sistema de ecuaciones tenga:
d) Solución única
e) Infinitas soluciones
f) No tenga solución
𝟐𝒙 + 𝛌𝐲 = 𝟏
𝛌𝐱 + 𝟐𝐲 = 𝟏
λ
1
λ
1
1
𝐹1
2 λ 1
2 | 2 ]𝐹 ← 𝐹 ( 2 )
[
| ] 𝐹1 ← [1 2| 2] 𝐹2 ← 𝐹2 − λ𝐹1 [
2
4 − λ2 2 − λ 2
λ 2 1
2
4 − λ2
λ 2 1
0
2
2
1
1
λ
λ
1 0 2+λ
[1 2| 2 ] 𝐹1 ← 𝐹1 − 𝐹2 [
|
]
1
0 1 1
2
0 1
2+λ
2+λ
⇒ 4 − λ2 ≠ 0 ⇒ 4 ≠ λ2 ⇒ √λ2 ≠ √4 ⇒ λ ≠ 2
|𝒙| = 𝟐
i.
𝑆𝑖 λ ≥ 0 ⇒ |λ| = λ ⇒ |λ| = 2 ⇒ λ = 2
ii.
𝑆𝑖 λ < 0 ⇒ |λ| = −λ ⇒ |λ| = 2 ⇒ λ = −2



𝑆𝑖 λ = −2 ⇒ 𝑛𝑜 𝑒𝑥𝑖𝑠𝑡𝑒 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛
1 0 1⁄2
[
|
] ⇒0≠2
0 0 2
𝑆𝑖 λ ≠ ±2 ⇒ 𝑒𝑥𝑖𝑠𝑡𝑒 ú𝑛𝑖𝑐𝑎 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛
𝑆𝑖 λ = 2 ⇒ 𝑒𝑥𝑖𝑠𝑡𝑒 𝑖𝑛𝑓𝑖𝑛𝑖𝑡𝑎𝑠 𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛𝑒𝑠
1 1 1⁄2
[
|
]
0 0 0
Algoritmo del método de Gauss-Jordan
82
Métodos Numéricos
Ing. William Caiza
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
83
Métodos Numéricos
Ing. William Caiza
Figura 3.4:Resultado Del Programa
DESCOMPOSICIÓN L.U- FACTORIZACIÓN TRIANGULAR
𝑈11
𝑈=[ 0
0
𝑈12
𝑈22
0
𝑈13
𝑈23 ]
𝑈33
𝐿11
𝐿 = [𝐿21
𝐿31
0
𝐿22
𝐿32
0
0 ]
𝐿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));
84
Métodos Numéricos
Ing. William Caiza
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
85
Métodos Numéricos
Ing. William Caiza
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
𝑨𝒙 = 𝒃
86
Métodos Numéricos
Ing. William Caiza
𝟖
𝑨 = [−𝟒
𝟒
−𝟔 𝟐
𝟏𝟏 −𝟕]
−𝟕 𝟔
𝟐𝟖
𝒃 = [−𝟒𝟎]
𝟑𝟑
𝟖 −𝟔
𝑨 = [−𝟒 𝟏𝟏
𝟒 −𝟕
𝐿11
𝟐
−𝟕] = [𝐿21
𝐿31
𝟔
𝑈11
0
0 ][ 0
𝐿33
0
0
𝐿22
𝐿32
𝑈12
𝑈22
0
𝑈13
𝑈23 ]
𝑈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
1
−
1
2
1
1
−
[ 2
2
0
0
1]
8 −6 2
[0 8 −6]
0 0
2
𝑨𝒙 = 𝒃
𝑳𝑼𝒙 = 𝒃
𝑼𝒙 = 𝒚 (𝟐)
𝑳𝒚 = 𝒃 (𝟏)
Resolviendo (1)
1
1
−
2
1
[ 2

0
0

28
0|
| −40
1
6
−
1
]
2

1
𝒚𝟏 = 𝟐𝟖
Resolviendo (2)
87
1
− 2 𝑦1 + 𝑦2 = −40 ⇒ −14 + 𝑦2 = −40 ⇒
𝒚𝟐 = −𝟐𝟔
1
1
𝑦 − 𝑦2 + 𝑦3 = 33 ⇒ 14 + 13 + 𝑦3 = 33 ⇒
2 1
2
𝒚𝟑 = 𝟔
Métodos Numéricos
Ing. William Caiza
8
[0
0
 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 ⇒ 𝒙𝟏 = 𝟐
−6 2 28
8 −6| −40]
0
2
6
𝑨𝒙 = 𝒃
𝟖
[−𝟒
𝟒
−𝟔 𝟐 𝒙𝟏
𝟐𝟖
𝒙
𝟏𝟏 −𝟕] [ 𝟐 ] = [−𝟒𝟎]
−𝟕 𝟔 𝒙𝟑
𝟑𝟑
𝟖𝒙𝟏 − 𝟔𝒙𝟐 + 𝟐𝒙𝟑 = 𝟐𝟖 ⇒ 𝟖(𝟐) − 𝟔(−𝟏) + 𝟐(𝟑) = 𝟐𝟖 ⇒ 𝟐𝟖 = 𝟐𝟖
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?
88
Métodos Numéricos
Ing. William Caiza
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
89
Métodos Numéricos
Ing. William Caiza
Eliminación de Gauss Jordan
(1)
(2)
(3)
(4)
(5)
Página web: http://matesfacil.com/matrices/resueltos-matrices-SEL-GAUSS.html
90
Métodos Numéricos
Ing. William Caiza
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
91
Métodos Numéricos
Ing. William Caiza
2) El modelo de ajuste es aquel que:
𝑛=1
𝑆𝑒 𝑑𝑒𝑏𝑒 𝑀𝑖𝑛 ∑ 𝑒𝑖2 𝑠𝑢𝑗𝑒𝑡𝑜 𝑎 𝑙𝑎𝑠 𝑟𝑒𝑠𝑡𝑟𝑖𝑐𝑐𝑖𝑜𝑛𝑒𝑠 ∶
𝑖=1
̂ 𝒐 , 𝜷𝟏
𝜷
92
Métodos Numéricos
Ing. William Caiza
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
𝑖=1
= ∑(𝑦𝑖 − 𝛽̂0 + 𝛽̂1 𝑥𝑖 )2
𝑖=1
̂0 + 𝛽
̂1 𝑥𝑖 ) + (𝛽
̂0 + 𝛽
̂1 𝑥𝑖 )2 ]
= ∑[𝑦𝑖2 − 2𝑦𝑖 ( 𝛽
2
̂0 − 2𝑦𝑖 𝛽
̂1 𝑥𝑖 + 𝛽
̂0 2 + 2𝛽
̂0 𝛽
̂1 𝑥𝑖 + 𝛽
̂1 𝑥𝑖 ]
= ∑[𝑦𝑖2 − 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
93
Métodos Numéricos
Ing. William Caiza
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
X
3
1
6
1
10
1
5
2
10
2
12
2
5
3
10
3
10
3
8
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
94
Métodos Numéricos
Ing. William Caiza
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.
95
Métodos Numéricos
Ing. William Caiza
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
Suma
Promedio
y
3
6
10
5
10
12
5
10
10
8
79
7,9
xy
3
6
10
10
20
24
15
30
30
16
164
x^2
1
1
1
4
4
4
9
9
9
4
46
Vendedores Vs televisores
14
y = x + 5,9
R² = 0,076
12
Televisores
x
1
1
1
2
2
2
3
3
3
2
20
2
10
8
6
4
2
0
0
1
2
Vendedores
B1=
B0=
1
5,9
NOTA: El valor de 𝛽1 es el acompañante de 𝑥 y el valor de 𝛽0 es la constante.
96
3
4
Métodos Numéricos
Ing. William Caiza
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
(𝑥 − x̅)2
𝑛−1
4.2.1 Propiedades

Si SCxx = suma de los cuadrados de los xx
SCxx = ∑(xi − x̅)2 , demuestre que SCxx = ∑ xi 2 − nx̅ 2
∑(xi 2 − 2xi x̅ + x̅ 2 ) = ∑ xi 2 − 2 ∑ xi x̅ + ∑ x̅ 2
97
Métodos Numéricos
Ing. William Caiza
= ∑ xi 2 − 2x̅nx̅ + nx̅ 2
= ∑ xi 2 − 2nx̅ 2 + nx̅ 2
= ∑ 𝐱 𝐢 𝟐 − 𝐧𝐱̅ 𝟐

Si SCyy =suma de los cuadrados de los yy, demuestre que es igual:
∑(yi 2 − 2yi y̅ + y̅ 2 ) = ∑ yi 2 − 2 ∑ yi y̅ + ∑ y̅ 2
= ∑ yi 2 − 2y̅ny̅ + ny̅ 2
= ∑ yi 2 − 2ny̅ 2 + ny̅ 2
𝐒𝐂𝐲𝐲 = ∑ 𝐲𝐢 𝟐 − 𝐧𝐲̅ 𝟐
𝐒𝐂𝐱𝐲 = ∑(𝐱 𝐢 − 𝐱̅)(𝐲𝐢 − 𝐲̅) = ∑ 𝐱 𝐢 𝐲𝐢 − 𝐧𝐱̅𝐲̅
Demostración:
SCxy = ∑(xi − x̅)(yi − y̅)
= ∑(xi yi − x̅yi − y̅xi + x̅y̅)
= ∑ xi yi − ∑ x̅yi − ∑ y̅xi + ∑ x̅y̅
= ∑ xi yi − ny̅x̅ − ny̅x̅ + nx̅y̅
= ∑ 𝐱 𝐢 𝐲𝐢 − 𝐧𝐱̅𝐲̅
TEOREMA: Bajo los supuestos anteriores, demuestre:
̂𝟎 = 𝐲̅ − 𝛃
̂𝟏 𝐱̅
𝛃
;
̂𝟏 = 𝐒𝐂𝐱𝐲
𝛃
𝐒𝐂
𝐱𝐱
;
Ejemplo 2
∑ 𝑆𝐶𝐸 = 0
2
∑(𝑦𝑖 − 𝑦
̂)
=0
𝑖
Modelo: Min(SCE)
Sujeto a:
𝜕
𝑆𝐶𝐸 = 0
̂𝑜
𝜕𝛽
𝜕
𝑆𝐶𝐸 = 0
̂1
𝜕𝛽
98
̂𝟎 + 𝛃
̂𝟏 𝐱
𝐲=𝛃
Métodos Numéricos
Ing. William Caiza
𝑛
𝑛
̂0 + 𝛽
̂1 𝑥𝑖 ))2
𝑆𝐶𝐸 = ∑(𝑦𝑖 − 𝑦
̂)
= ∑(𝑦𝑖 – (𝛽
𝑖
2
𝑖=1
𝑖=1
̂0 + 𝛽
̂1 𝑥𝑖 ) + (𝛽
̂0 + 𝛽
̂1 𝑥𝑖 )2 ]
𝑆𝐶𝐸 = ∑[𝑦𝑖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 − 2 ∑ 𝑦𝑖 𝛽
Primera restricción del modelo
𝜕
∑ 𝒚𝒊 𝟐
̂𝑜
𝜕𝛽
𝝏
𝑺𝑪𝑬 = 𝟎
̂𝒐
𝝏𝜷
𝜕
(𝑦 2 + 𝑦2 2 + ⋯ + 𝑦𝑛 2 )
=
̂𝑜 1
𝜕𝛽
𝜕
𝜕𝑦12
𝜕𝑦𝑛2
+
+⋯+
=0
̂𝑜 𝜕𝛽
̂𝑜
̂𝑜
𝜕𝛽
𝜕𝛽
𝜕
𝜕
̂𝒐 =
̂ + 𝑦2 𝛽
̂𝑜 + ⋯ + 𝑦𝑛 𝛽
̂𝑜 )
∑ 𝒚𝒊 𝜷
(𝑦 𝛽
̂
̂𝑜 1 𝑜
𝜕𝛽𝑜
𝜕𝛽
= 𝑦1 + 𝑦2 + ⋯ + 𝑦𝑛
= ∑ 𝑦𝑖
𝜕
𝜕
̂𝒐 𝟐 =
̂𝑜 2 + 𝛽
̂𝑜 2 + ⋯ + 𝛽
̂𝑜 2 )
∑𝜷
(𝛽
̂
̂
𝜕𝛽𝑜
𝜕𝛽𝑜
̂
̂2 + ⋯ + 2𝛽𝑜
̂𝑛
= 2𝛽𝑜1 + 2𝛽𝑜
𝜕
𝜕
̂𝒐 𝜷
̂𝒊 𝒙𝒊 =
̂ 𝛽̂ 𝑥 + 𝛽
̂𝑜 𝛽̂𝑖 𝑥2 + ⋯ + 𝛽
̂𝑜 𝛽̂𝑖 𝑥𝑛 )
∑𝜷
(𝛽
̂𝑜
̂𝑜 𝑜 𝑖 1
𝜕𝛽
𝜕𝛽
̂𝑜 𝑥1 + 𝛽
̂𝑜 𝑥2 + ⋯ + 𝛽
̂𝑜 𝑥𝑛
=𝛽
= 𝛽̂𝑖 (𝑥1 + ⋯ + 𝑥𝑛 )
=𝛽̂𝑖 ∑ 𝑥𝑖
⇒ 𝑙𝑎 𝑝𝑟𝑖𝑚𝑒𝑟𝑎 𝑒𝑐𝑢𝑎𝑐𝑖ó𝑛 𝑛𝑜𝑟𝑚𝑎𝑙 𝑒𝑠:
̂𝑜 +2𝛽
̂1 ∑ 𝑥𝑖 = 0
−2 ∑ 𝑦𝑖 +2n𝛽
̂𝑜 + 𝛽
̂1 ∑ 𝑥𝑖 = 0 (1)
-∑ 𝑦𝑖 + 𝑛𝛽
̂0 ∑ 𝑥𝑖 +2𝛽
̂1 ∑ 𝑥𝑖 2 =0
−2 ∑ 𝑥 𝑦𝑖 + 2𝛽
̂0 ∑ 𝑥𝑖 +𝛽
̂1 ∑ 𝑥𝑖 2 =0 (2)
− ∑ 𝑥 𝑦𝑖 + 𝛽
𝜕
𝑆𝐶𝐸 = 0
̂𝑜
𝜕𝛽
99
Métodos Numéricos
Ing. William Caiza
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
x
1
3
5
6
y
1
3,5
6
7
sumatoria
(1+3+5+6) 15
𝑥̅ =
=4
(1+3.5+6+7) 17.5
𝑦̅=
4
=
4
𝑥𝑖 − 𝑥̅
𝑦𝑖 − 𝑦̅
(𝑥𝑖 − 𝑥̅ )( 𝑦𝑖 − 𝑦̅ )
(𝑥𝑖 − 𝑥̅ )^2
1
3,5
6
7
-2,75
-0,75
1.25
1.8
-3,375
-0,875
1.44
2.625
297/32
21/32
65/32
189/32
17,5
0
0
143/8
121/16
9/16
25/16
81/16
59/4
𝑥𝑖
𝑦𝑖
1
3
5
6
15
143
𝛽1 = 8 = 1.212
59
4
𝛽0 =
4
175
15
− 1.212 ∗
= −0.17
4
4
𝑦 = −0.17 + 1.212𝑥
Ejercicio 2
100
Métodos Numéricos
Ing. William Caiza
En un estudio para describir la relación entre la expansión al ruido y la hipertensión se
realizan las siguientes mediciones.
x
Prómedio
y
60
1
65
1
70
80
80
85
90
90
94
100
81,4
5
4
2
5
6
4
7
7
4,2
x-´x
21,4
16,4
11,4
-1,4
-1,4
3,6
8,6
8,6
12,6
18,6
y-ý
(x-´x)(yý)
(x-´x)^2
ý
(yi-ýi)^2
(ýi-´yi)^2
-3,2
68,48
457,96
1,1
0,01
10,24
9,61
-3,2
52,48
268,96
1,815
0,664225
10,24
5,688225
0,8
-0,2
-2,2
0,8
1,8
-0,2
2,8
2,8
-9,12
0,28
3,08
2,88
15,48
-1,72
35,28
52,08
219,2
129,96
1,96
1,96
12,96
73,96
73,96
158,76
345,96
1526,4
2,53
3,96
3,96
4,675
5,39
5,39
5,962
6,82
6,1009
0,0016
3,8416
0,105625
0,3721
1,9321
1,077444
0,0324
14,137994
𝑥̅ = 81.4
2
∑(𝑦1− ̅̅̅)
𝑦1 =14.134
𝑦̅ = 4.2
2
∑(𝑦̌1− ̅̅̅)
𝑦1 =31.229
𝛽1 =
(yi-ý)^2
0,64
2,7889
0,04
0,0576
4,84
0,0576
0,64 0,225625
3,24
1,4161
0,04
1,4161
7,84 3,104644
7,84
6,8644
45,6 31,229194
219.2
= 0.143
152.68
a.- Interpretación
Título del gráfico
Hipertensión=f(ruido)
8
𝑦 = −7.4402 + 0.143𝑥
7
b.- Si x=65
y = 0,1436x - 7,4895
R² = 0,6903
6
5
𝑦 = −7.4402 + 0.143(65)
4
𝑦 = 1.815
3
Si x=66
2
1
𝑦 = −7.4402 + 0.143(66)
𝑦 = 1.958
0
0
20
40
60
80
100
Por cada nivel que aumenta en el ruido, la hipertensión aumenta a 0.143 unidades
101
120
Métodos Numéricos
Ing. William Caiza
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:
102
Métodos Numéricos
Ing. William Caiza
𝑆𝐶𝑥𝑦
𝑛−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
Peso(kg)=x
739
16
1187
6
655
7
729
103
7
888
9
797
11
963
12
802
18
1551
20
1650
Métodos Numéricos
Ing. William Caiza
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'));
104
Métodos Numéricos
Ing. William Caiza
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
105
Métodos Numéricos
Ing. William Caiza
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
106
Métodos Numéricos
Ing. William Caiza
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
2
3
𝐻0 : 𝑟 = 0
𝐻1 : 𝑟 ≠ 0
𝑡𝑜𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜 = 𝑡0𝑏𝑠 =
𝑟√𝑛−2
√𝑖−𝑟 2
=
0.9419√10−2
√1−(0.9419)2
= 7,9313
Figura 4.12: Grafica De La Prueba De Hipótesis
107
Métodos Numéricos
Ing. William Caiza
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
𝑛
𝑛
𝑛
2
∑(𝑦𝑖 − 𝑦̅) = ∑(𝑦1 − 𝑦̂)
+ ∑( 𝑦̂𝑖 − 𝑦̅)2
𝑖
𝑖=1
2
𝑖=1
𝑖=1
108
Métodos Numéricos
Ing. William Caiza
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 𝑥
⇒𝒚=𝒚
𝜷𝟎 = 𝜶
𝜷𝟏 = 𝜷
109
Métodos Numéricos
Ing. William Caiza
𝒙 = 𝒍𝒏 𝒙
𝜶
𝒙
𝑦𝑥 = 𝛼
𝑙𝑛 𝑦𝑥 = 𝑙𝑛 𝛼
𝑙𝑛 𝑦 + 𝑙𝑛 𝑥 = 𝑙𝑛 𝛼
𝑙𝑛 𝑦 = 𝑙𝑛 𝛼 − 𝑙𝑛 𝑥
𝑦 = 𝛽0 + 𝛽1 𝑥
𝒚=
⇒ 𝒚 = 𝒍𝒏 𝒚
𝜷𝟎 = 𝒍𝒏 𝜶
𝜷𝟏 = −𝟏
𝒙 = 𝒍𝒏 𝒙
Coeficiente de determinación (𝑹𝟐 )
̂0 +𝛽
̂
Determina el porcentaje de variación del modelo justificativo por la relación lineal y=𝛽
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
̂𝒊 ; ∀𝒊 donde 𝒚𝒊 = 𝒚
̂ 𝒊 + 𝑼𝒊
1. 𝑬(𝑼𝒊 ) = 𝟎, 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.
110
Métodos Numéricos
Ing. William Caiza
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 −𝑥̅ ∑ 𝑥
𝑖
∑ 𝑥𝑖 = 𝑛𝑥̅
𝑖
111
Métodos Numéricos
Ing. William Caiza
̂1 = 𝑆𝑥𝑦
𝛽
∑ 𝑥 2 −𝑥̅ 𝑛𝑥̅
𝑆𝑥𝑥 = ∑ 𝑥𝑖 2 − 𝑛𝑥̅ 2
𝑖
̂1 = 𝑆𝑥𝑦
𝛽
∑ 𝑥𝑖 2 −𝑥̅ 2 𝑛
𝑺
̂𝟏 = 𝒙𝒚
𝜷
𝑺𝒙𝒙
Programa de Regresión Lineal.
Ejecución del Programa de Regresión Lineal
112
Métodos Numéricos
Ing. William Caiza
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:
𝐼𝑛𝑔𝑟𝑒𝑠𝑜 𝑑𝑒𝑙 𝑑𝑜𝑐𝑒𝑛𝑡𝑒 = 𝑓(𝑎ñ𝑜𝑠 𝑑𝑒 𝑠𝑒𝑟𝑣𝑖𝑐𝑖𝑜, 𝑡í𝑡𝑢𝑙𝑜𝑠 𝑜𝑏𝑡𝑒𝑛𝑖𝑑𝑜𝑠, 𝑝𝑢𝑏𝑙𝑖𝑐𝑎𝑐𝑖𝑜𝑛𝑒𝑠 ℎ𝑒𝑐ℎ𝑎𝑠)
113
Métodos Numéricos
Ing. William Caiza
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
𝜀1
𝛽1
1 𝑥11 𝑥12
(𝑦2 ) = (1 𝑥21 𝑥22 ) × (𝛽2 ) + (𝜀2 )
𝑦3
𝜀3
1 𝑥31 𝑥32
𝛽3
𝑦1
𝜀1
𝛽0 𝛽1 𝑥11 𝛽2 𝑥12
𝑦
𝜀
( 2 ) = (𝛽0 𝛽1 𝑥21 𝛽2 𝑥22 ) + ( 2 )
𝑦3
𝜀3
𝛽0 𝛽1 𝑥31 𝛽2 𝑥32
𝑦1
𝛽0 + 𝛽1 𝑥11 + 𝛽2 𝑥12 + 𝜀1
⇒ (𝑦2 ) = (𝛽0 + 𝛽1 𝑥21 + 𝛽2 𝑥22 + 𝜀2 )
𝑦3
𝛽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)
114
Métodos Numéricos
Ing. William Caiza
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
115
Métodos Numéricos
Ing. William Caiza
4.6.1 Derivación Matricial
Sea 𝑓 = 5𝑋1 + 2𝑋2 + 3𝑋3
𝑓(𝑋1 , 𝑋2 , 𝑋3 ) = 5𝑋1 + 2𝑋2 + 3𝑋3
5
𝜕𝑓
=
(
2)
𝜕𝑥
3
𝜕
∴ 𝑠𝑖 𝑓 = 𝑎′ 𝑥 ⇒ 𝜕𝑥 (𝑎′ 𝑥) = 𝑎
𝑋1
𝜕
′
(𝑎 𝑥) = (𝑋2 )
𝜕𝑥
𝑋3
′
𝑎 𝑥 = 𝑎𝑥1 + 𝑎𝑥2 + 𝑎𝑥3
𝑎1
𝜕
′
(𝑎 𝑥) = (𝑎2 ) = 𝑎
𝜕𝑥
𝑎3
𝑓 = 𝑋 ′ 𝐴𝑋; 𝐴𝑛 𝑠𝑖𝑚é𝑡𝑟𝑖𝑐𝑎 𝑦 𝑐𝑢𝑎𝑑𝑟𝑎𝑑𝑎
𝜕
(𝑋 ′ 𝐴𝑋) = 2𝐴𝑋
𝜕𝑥
𝑎11 𝑎12 𝑎13 𝑋1
(𝑋1 𝑋2 𝑋3 ) = (𝑎12 𝑎22 𝑎23 ) (𝑋2 )
𝑎13 𝑎23 𝑎33 𝑋3
116
Métodos Numéricos
Ing. William Caiza
𝑋1
(𝑎11 𝑋1 + 𝑎12 𝑋2 + 𝑎13 𝑋3 + 𝑎12 𝑋1 + 𝑎22 𝑋2 + 𝑎23 𝑋3 ) + 𝑎13 𝑋1 + 𝑎23 𝑋2 + 𝑎33 𝑋3 = (𝑋2 )
𝑋3
2
2
𝑎11 𝑋1 + 𝑎12 𝑋2 𝑋1 + 𝑎13 𝑋3 𝑋1 + 𝑎12 𝑋1 𝑋2 + 𝑎22 𝑋2 + 𝑎23 𝑋3 𝑋2 + 𝑎13 𝑋3 𝑋1 + 𝑎23 𝑋3 𝑋2 +𝑎33 𝑋32
𝑑
= 2𝑎11 𝑋1 + 2𝑎12 𝑋2 + 2𝑎13 𝑋3
𝑑𝑥1
𝑑
= 2𝑎12 𝑋1 + 2𝑎22 𝑋2 + 2𝑎23 𝑋3
𝑑𝑥2
𝑑
= 2𝑎33 𝑋3 + 2𝑎13 𝑋1 + 2𝑎23 𝑋2
𝑑𝑥3
𝑎11 𝑎12 𝑎13 𝑋1
𝑑
(𝑋′𝐴𝑋) = 2𝐴𝑋
= (𝑎12 𝑎22 𝑎23 ) (𝑋2 ) ∴ 𝑆𝑖 𝐴 𝑒𝑠 𝑠𝑠𝑖𝑚é𝑡𝑟𝑖𝑐𝑎
𝑑𝑥
𝑎13 𝑎23 𝑎33 𝑋3
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
117
Métodos Numéricos
Ing. William Caiza
𝑛
𝑛
∑ 𝑒𝑖 = ∑(𝑦𝑖 − (𝐵̅0 + 𝐵̅0 ∗ 𝑋𝑖))2
2
𝑖=1
𝑖=1
𝑛
= ∑[𝑦𝑖 2 − 2𝑦𝑖 (𝐵̅0 + 𝐵̅𝑖 ∗ 𝑋𝑖)]2
𝑖=1
𝑛
= ∑[𝑦𝑖 2 − 2𝑦𝑖 (𝐵̅0 + 𝐵̅𝑖 ∗ 𝑋𝑖) + (𝐵̅0 + 𝐵̅0 ∗ 𝑋𝑖)2 ]
𝑖=1
𝑛
2
= ∑[𝑦𝑖 2 − 2𝑦𝑖 𝐵̅0 − 2𝑦𝑖 𝐵̅𝑖 𝑋𝑖 + 𝐵̅0 + 2𝐵̅0 ∗ 𝐵̅1 ∗ 𝑋̅𝑖 + 𝐵̅1 𝑋𝑖 2 ]
𝑖=1
𝑑
𝑑
∑ 𝑒𝑖 2 =
𝑆𝐶𝐸 = 0
̅
̅
̅
𝑑𝐵0 𝐵1
𝑑𝐵0 𝐵̅1
𝑑
𝑆𝐶𝐸
𝑑𝐵̅0
=
2
𝑑
2
= 𝑑𝐵̅ [2𝑋𝑖 − 2𝐵̅0 ∑ 𝑦1 − 2𝐵̅1 ∑ 𝑥𝑖 𝑦𝑖+ ∑ 𝐵̅0 + 2𝐵̅0 𝐵̅1 ∗ 2𝑋𝑖 + 𝐵̅1 ∑ 𝑥1 2 ]
0
𝑑
𝑑
𝑑
2
(−2𝐵̅0 ∑ 𝑦1 +
∑ 𝐵̅1 +
2𝐵̅0 𝐵̅1 ∗ 2𝑋𝑖)
𝑑𝐵̅0
𝑑𝐵̅0
𝑑𝐵̅0
−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);
118
Métodos Numéricos
Ing. William Caiza
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
119
Métodos Numéricos
Ing. William Caiza
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
400
500
700
900
1000
60
120
150
210
260
290
Página web: http://ocw.unican.es/ensenanzas-tecnicas/fisica-i/practicas1/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
X
Y
1
9
5
2
12
5
3
6
1
4
9
4
5
7
2
6
9
2
7
5
1
8
9
3
9
7
3
10
3
1
11
10
4
12
6
2
13
11
5
14
4
2
15
13
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
120
Métodos Numéricos
Ing. William Caiza
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
Y
1986
18
1987
20
1988
22
1989
24
1990
25
1991
26
1992
28
1993
30
1994
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
1172,2
1209,2
1233,1
1256,9
1301,9
1320
1350,4
1357,9
1380,8
1381,8
1402,5
1403
1406,1
1423,7
ventas
593,8
596
598,3
600,8
603,3
607,7
608,5
611,2
592,4
585,6
589
589,4
593,5
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
121
18
20
21
14
20
19
11
Métodos Numéricos
Ing. William Caiza
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:
122
Métodos Numéricos
Ing. William Caiza
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
yi
1 1 2 3 4 5 5 6
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
precio 355 328 350 675
tamaño 0.16 0.17 0.16 0.17
precio 345 352 332 353
0.16
342
0.18
438
0.15
322
0.23
595
0.21
483
0.23
553
0.15
323
0.12
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.
123
Métodos Numéricos
Ing. William Caiza
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 )
⋮
𝑷𝒏 (𝒙) = 𝑷𝒏−𝟏 (𝒙) + 𝒃𝒏 (𝒙 − 𝒙𝟎 )(𝒙 − 𝒙𝟏 )(𝒙 − 𝒙𝟐 ) × … × (𝒙 − 𝒙𝒏−𝟏 )
124
Métodos Numéricos
Ing. William Caiza
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:
𝑓(𝑥1 ) − 𝑓(𝑥0 ) 𝑓[𝑥1 ] − 𝑓[𝑥0 ]
𝑓[𝑥0 , 𝑥1 ] =
=
𝑥1 − 𝑥0
𝑥1 − 𝑥0
La diferencia dividida de orden 2 es:
𝑓(𝑥2 ) − 𝑓(𝑥1 ) 𝑓(𝑥1 ) − 𝑓(𝑥0 )
−
𝑓[𝑥1 , 𝑥2 ] − 𝑓[𝑥0 , 𝑥1 ]
𝑥2 − 𝑥1
𝑥1 − 𝑥0
]
𝑓[𝑥0 , 𝑥1 , 𝑥2 =
=
𝑥2 − 𝑥0
𝑥2 − 𝑥0
La diferencia dividida de orden 3 es:
𝑓[𝑥2 , 𝑥3 ] − 𝑓[𝑥1 , 𝑥2 ] 𝑓[𝑥1 , 𝑥2 ] − 𝑓[𝑥0 , 𝑥1 ]
−
𝑓[𝑥1 , 𝑥2 , 𝑥3 ] − 𝑓[𝑥0 , 𝑥1 , 𝑥2 ]
𝑥3 − 𝑥1
𝑥2 − 𝑥0
]
𝑓[𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 =
=
𝑥3 − 𝑥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 (𝑥) = 𝑎𝑥 + 𝑏𝑥 + 𝑐
125
Métodos Numéricos
Ing. William Caiza
3 = 4𝑎 + 2𝑏 + 𝑐
2 = 16𝑎 + 4𝑏 + 𝑐
1 = 36𝑎 + 6𝑏 + 𝑐
𝑦 = 𝐴𝑋
𝐴−1 𝑦 = 𝐴−1 ∗ 𝐴 ∗ 𝑋
𝐴−1 ∗ 𝑦 = 𝑋
X=𝐴−1 ∗ 𝑦
4
𝐴 = [16
36
2
4
6
1
1]
1
4
𝐴−1 = [16
36
2 1
4 1
6 1
1
⋮ 0
0
4
𝐴−1 = [ 0
36
2
1
−4 −3
6
1
0 0
1 0]
0 1
1 0
⋮ 0 1
0 0
0
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
126
=
Métodos Numéricos
Ing. William Caiza
𝑓(𝑥0 ) = 0
𝑓(𝑥1 ) = 1,386294
𝑓(𝑥2 ) = 1,791759
𝑓(𝑥3 ) = 1,609438
𝑥0 = 1
𝑥1 = 4
𝑥2 = 6
𝑥3 = 5
Estimar 𝑓(𝑥 = 2), con un polinomio interpolador de 𝑃3 (𝑥) Newton
𝑏0 = 𝑓[𝑥0 ] = 𝑓(1) = 𝟎
𝑏1 = 𝑓[𝑥1 , 𝑥0 ] =
𝑃3 (𝑥 = 2) = 𝑓(𝑥 = 2)
𝑓[𝑥1 ] − 𝑓[𝑥0 ] 1,386294 − 0
=
= 𝟎, 𝟒𝟔𝟐𝟎𝟗𝟖
𝑥1 − 𝑥0
4−1
𝑓[𝑥2 ] − 𝑓[𝑥1 ] 𝑓[𝑥1 ] − 𝑓[𝑥0 ] 1,791759 − 1,386294 1,386294 − 0
−
−
𝑥2 − 𝑥1
𝑥1 − 𝑥0
6−4
4−1
𝑏2 = 𝑓[𝑥2 , 𝑥1 , 𝑥0 ] =
=
𝑥2 − 𝑥0
6−1
= −𝟎, 𝟎𝟓𝟏𝟖𝟕𝟑𝟏
𝑓[𝑥3 ] − 𝑓[𝑥2 ] 𝑓[𝑥2 ] − 𝑓[𝑥1 ] 𝑓[𝑥2 ] − 𝑓[𝑥1 ] 𝑓[𝑥1 ] − 𝑓[𝑥0 ]
−
−
𝑥3 − 𝑥2
𝑥2 − 𝑥1
𝑥2 − 𝑥1
𝑥1 − 𝑥0
−
𝑥3 − 𝑥1
𝑥2 − 𝑥0
𝑏3 = 𝑓[𝑥3 , 𝑥2 , 𝑥1 , 𝑥0 ] =
𝑥3 − 𝑥0
1,609438 − 1,791759 1,791759 − 1,386294 1,791759 − 1,386294 1,386294 − 0
−
−
6−4
5−6
6−4
4−1
−
6
−
1
5
−
4
=
5−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
127
Métodos Numéricos
Ing. William Caiza
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”.
128
Métodos Numéricos
Ing. William Caiza
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:
( 𝑦 − 𝑦0 )
(𝑥 − 𝑥0 ) 𝑝𝑎𝑟𝑎 𝑥1 > 𝑥 > 𝑥0
𝑓1 (𝑥) = 𝑦0 + 1
(𝑥1 − 𝑥0 ) 1
( 𝑦 − 𝑦1 )
(𝑥 − 𝑥1 ) 𝑝𝑎𝑟𝑎 𝑥2 > 𝑥 > 𝑥1
𝑓2 (𝑥) = 𝑦1 + 2
(𝑥2 − 𝑥1 )
( 𝑦 − 𝑦2 )
(𝑥 − 𝑥2 ) 𝑝𝑎𝑟𝑎 𝑥3 > 𝑥 > 𝑥2
𝑓3 (𝑥) = 𝑦2 + 3
(𝑥3 − 𝑥2 )
( 𝑦 − 𝑦3 )
(𝑥 − 𝑥3 ) 𝑝𝑎𝑟𝑎 𝑥4 > 𝑥 > 𝑥3
𝑓4 (𝑥) = 𝑦3 + 4
(𝑥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.
129
Métodos Numéricos
Ing. William Caiza
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)
F0
f1
(7,4)
f2
(10,3)
(1,2)
*En [1, 4]
FORMULA:
𝒇𝒊 (𝒙) = 𝑎𝑖 𝑥 + 𝑏𝑖
4−2
(𝑥 − 1)
𝑦−2=
4−1
2
2
2
4
𝑦 = 𝑥− +2 = 𝑥+
3
3
3
3
𝟐
𝟒
𝒇𝟎 (𝒙) = 𝒙 +
𝟑
𝟑

En [7 , 4]
𝒇𝟏 (𝒙) = 𝟒

En [7 , 10]
130
Métodos Numéricos
Ing. William Caiza
3−4
(𝑥 − 7)
10 − 7
1
𝑦 − 4 = − (𝑥 − 7)
3
1
7
𝑦 =− 𝑥+ +4
3
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.
131
Métodos Numéricos
Ing. William Caiza
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 u n 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,2
1
1; 1
0,8
0,6
2; 0,5
0,4
4; 0,25
0,2
0
0
𝟎. 𝟓 − 𝟏
(𝒙 − 𝟏)
𝟐−𝟏
𝟏
𝟏
𝒚=− 𝒙+ +𝟏
𝟐
𝟐
𝟏
𝟑
𝒚=− 𝒙+
𝟐
𝟐
1
2
3
𝒚 − 𝒚𝟏 = 𝒎(𝒙 − 𝒙𝟏 )
𝑳𝟏 : 𝒚 − 𝟏 =
4
𝟎. 𝟐𝟓 − 𝟎. 𝟓
(𝒙 − 𝟐)
𝟒−𝟐
𝟏
𝟏 𝟏
𝒚=− 𝒙+ +
𝟖
𝟒 𝟐
𝟏
𝟑
𝒚=− 𝒙+
𝟖
𝟒
𝑳𝟐 : 𝒚 − 𝟎. 𝟓 =
132
5
Métodos Numéricos
Ing. William Caiza
𝟏
𝟑
𝒚(𝟑) = − (𝟑) +
𝟖
𝟒
𝟑 𝟔
𝒚(𝟑) = − +
𝟖 𝟖
𝟑
𝒚(𝟑) =
𝟖
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
3
3; 2,5
7; 2,5
2,5
2
1,5
4,5; 1
1
9; 0,5
0,5
0
0
2
4
6
1)
𝟐𝟎. 𝟐𝟓𝒂𝟏 + 𝟒. 𝟓𝒃𝟏 + 𝒄𝟏 = 𝟏 (1)
𝟐𝟎. 𝟐𝟓𝒂𝟐 + 𝟒. 𝟓𝒃𝟐 + 𝒄𝟐 = 𝟏 (2)
𝟒𝟗𝒂𝟐 + 𝟕𝒃𝟐 + 𝒄𝟐 = 𝟐. 𝟓 (3)
𝟒𝟗𝒂𝟑 + 𝟕𝒃𝟑 + 𝒄𝟑 = 𝟐. 𝟓 (4)
2)
𝟗𝒂𝟏 + 𝟑𝒃𝟏 + 𝒄𝟏 = 𝟐. 𝟓 (5)
133
8
10
Métodos Numéricos
Ing. William Caiza
𝟖𝟏𝒂𝟑 + 𝟗𝒃𝟑 + 𝒄𝟑 = 𝟎. 𝟓 (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.
134
Métodos Numéricos
Ing. William Caiza
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
3
3; 2,5
2,5
7; 2,5
2
1,5
1
4,5; 1
0,5
0
0
1
2
3
4
5
Dadas las condiciones se obtienen las siguientes ecuaciones
1.
𝟗𝟏. 𝟏𝟐𝟓 𝒂𝟏 + 𝟐𝟎. 𝟐𝟓𝒃𝟏 + 𝟒. 𝟓𝒄𝟏 + 𝒅𝟏 = 𝟏 (1)
𝟗𝟏. 𝟏𝟐𝟓 𝒂𝟐 + 𝟐𝟎. 𝟐𝟓𝒃𝟐 + 𝟒. 𝟓𝒄𝟐 + 𝒅𝟐 = 𝟏 (2)
2.
𝟐𝟕𝒂𝟏 + 𝟗𝒃𝟏 + 𝟑𝒄𝟏 + 𝒅𝟏 = 𝟐. 𝟓 (3)
135
6
7
8
Métodos Numéricos
Ing. William Caiza
𝟑𝟒𝟑𝒂𝟐 + 𝟒𝟗𝒃𝟐 + 𝟕𝒄𝟐 + 𝒅𝟐 = 𝟐. 𝟓 (4)
3.
𝟔𝟎. 𝟕𝟓𝒂𝟏 + 𝟗𝒃𝟏 + 𝒄𝟏 = 𝟔𝟎. 𝟕𝟓𝒂𝟐 + 𝟗𝒃𝟐 + 𝒄𝟐 (5)
4.
𝟐𝟕𝒂𝟏 + 𝟐𝒃𝟏 = 𝟐𝟕𝒂𝟐 + 𝟐𝒃𝟐 (6)
5.
𝟏𝟖𝒂𝟏 + 𝟐𝒃𝟏 = 𝟎 (7)
𝟒𝟐𝒂𝟐 + 𝟐𝒃𝟐 = 𝟎 (8)
Respuesta:
𝒂𝟏 = 𝟎. 𝟏𝟑𝟑𝟑
𝒃𝟏 = −𝟏. 𝟐
𝒄𝟏 = 𝟐. 𝟑
𝒅𝟏 = 𝟐. 𝟖
𝒂𝟐 = −𝟎. 𝟎𝟖𝟎
𝒃𝟐 = 𝟏. 𝟔𝟖
𝒄𝟐 = −𝟏𝟎. 𝟔𝟔
𝒅𝟐 = 𝟐𝟐. 𝟐𝟒
136
Métodos Numéricos
Ing. William Caiza
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
b
∫ f(x)dx =
a
h
(f(x0 ) + f(x1 ) );
2
Regla del trapecio
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
137
Métodos Numéricos
Ing. William Caiza
ℎ=
𝑏−𝑎
𝑛
; 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
3 – 5 = (-2) (1)
n=5
𝑿𝒌 = 𝑿𝟎 + 𝒌𝒉
𝒉=
-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 − X 3 = ℎ(𝑡 − 3), 𝑡 ∈ [0,5]
si t = 0
x–5=1(0–3)
x = -3 + 5
138
Métodos Numéricos
Ing. William Caiza
x=2
2da Verificación de 2.
X − X 0 = ℎ(𝑡 − 3), 𝑡 ∈ [0,5]
si t = 5
x–2=1(5–0)
x=5+2
x=7
3ra Verificación de 2.
X − X 4 = ℎ(𝑡 − 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 ) + 𝐿1 (𝑥)𝑓(𝑥1 ))𝑑𝑥
𝑎 𝑖=0
𝑏
𝑎
𝑏
= 𝑓(𝑥0 ) ∫ 𝐿0 (𝑥)𝑑𝑥 + 𝑓(𝑥1 ) + ∫ 𝐿1 (𝑥)𝑑𝑥
𝑎
𝑎
139
Métodos Numéricos
Ing. William Caiza
𝑏
𝑏
𝑥 − 𝑥1
𝑥 − 𝑥0
= 𝑓(𝑥0 ) ∫
𝑑𝑥 + 𝑓(𝑥1 ) ∫
𝑑𝑥
𝑥0 − 𝑥1
𝑥1 − 𝑥0
𝑎
1
𝑎
Regla de Simpson 1/3
𝑏
∫ 𝑓(𝑥)𝑑𝑥 ≈
𝑎
ℎ
(𝑓(𝑥0 ) + 4𝑓(𝑥1 ) + 𝑓(𝑥2 ))
3
𝑏
𝑏
= ∫ 𝑓(𝑥)𝑑𝑥 = ∫ 𝑃2 (𝑥)𝑑𝑥, 𝑛 = 2
𝑎
𝑎
𝑏 2
𝑏
= ∫ ∑ 𝐿𝑖 (𝑥)𝑓(𝑥𝑖 ) 𝑑𝑥 = ∫ (𝐿0 (𝑥)𝑓(𝑥0 ) + 𝐿1 (𝑥)𝑓(𝑥1 ) + 𝐿2 (𝑥)𝑓(𝑥2 ))𝑑𝑥
𝑎 𝑖=0
𝑎
𝑏
= 𝑓(𝑥0 ) ∫
𝑎
𝑏
𝑏
𝐿𝑜 (𝑥)𝑑𝑥 + 𝑓(𝑥1 ) ∫ 𝐿1(𝑥)𝑑𝑥 + 𝑓(𝑥2 ) ∫ 𝐿2 (𝑥)𝑑𝑥
𝑎
𝑎
2
𝑥 − 𝑥𝑗
𝑥 − 𝑥𝑗
𝑗=0 𝑖
𝐿𝑖 = ∏
𝑖≠𝑗
𝐿0 (𝑥) =
𝑥 − 𝑥1 𝑥 − 𝑥2
∗
𝑥0 − 𝑥1 𝑥0 − 𝑥2
𝐿1 (𝑥) =
𝑥 − 𝑥0 𝑥 − 𝑥2
∗
𝑥1 − 𝑥0 𝑥1 − 𝑥2
𝐿2 (𝑥) =
𝑥 − 𝑥0 𝑥 − 𝑥1
∗
𝑥2 − 𝑥0 𝑥2 − 𝑥1
140
Métodos Numéricos
Ing. William Caiza
Ejemplo
𝜋
Sea f(x)=sen(x) integrar el método del trapecio en [ 6 ,
𝜋
5
]
Grafica
i.
ii.
𝑥
ℎ
1
∫𝑥 𝑓(𝑥)𝑑𝑥 ≈ 2 (𝑓0 + 𝑓1 ) REGLA DEL TRAPECIO
0
𝑥
ℎ
2
∫𝑥 𝑓(𝑥)𝑑𝑥 ≈ 3 (𝑓0 + 4𝑓1 + 𝑓2 ) REGLA DE SIMPSON
0
𝑥
3ℎ
3
iii.
3
∫𝑋 𝑓(𝑥)𝑑𝑥 ≈
iv.
4
∫𝑥 𝑓(𝑥)𝑑𝑥 ≈ 45 (7𝑓0 + 32𝑓1 + 12𝑓2 + 32𝑓3 + 7𝑓4 ) REGLA DE BOOLE
0
𝑥
8
(𝑓0 + 3𝑓1 + 3𝑓2 + 𝑓3 ) REGLA DE 8 DE SIMPSON
2ℎ
0
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
141
Métodos Numéricos
Ing. William Caiza
Nivel 1
𝟒
𝟏
𝑰(𝒉𝒎) − 𝑰(𝒉𝒆)
𝟑
𝟑
Donde,
hm : Integral más exacta
he : Integral menos exacta
𝟐
Integrar mediante Romberg ∫𝟏 𝒔𝒆𝒏(𝒙)𝒅𝒙
𝟐
𝟐
∫ 𝑺𝒆𝒏(𝒙)𝒅𝒙 = − 𝒄𝒐𝒔(𝒙) | = (𝟎. 𝟒𝟏𝟔𝟏𝟓 + 𝟎. 𝟓𝟒𝟎𝟑𝟎) = 𝟎. 𝟗𝟓𝟔𝟒𝟓
𝟏
𝟏
a) Nivel 0
𝒉 = 𝟏, 𝒉 =
𝟏
𝟏
;𝒉 = 𝒏
𝟐
𝟐
𝑰(𝒉=𝟏) =
𝟏
[𝒔𝒆𝒏(𝟏) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟖𝟕𝟓𝟑𝟖
𝟐
𝑰
𝟏
𝟑
[𝒔𝒆𝒏(𝟏) + 𝟐𝒔𝒆𝒏 ( ) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟗𝟑𝟔𝟒𝟑
𝟒
𝟐
𝟏
(𝒉= )
𝟐
=
𝟒
𝟏
(𝟎. 𝟗𝟑𝟔𝟒𝟑) − (𝟎. 𝟖𝟕𝟓𝟑𝟖) = 𝟎. 𝟗𝟓𝟔𝟕𝟖
𝟑
𝟑
Error:
𝒆𝒓𝒓𝒐𝒓 =
|𝟎. 𝟗𝟓𝟔𝟒𝟓 − 𝟎. 𝟗𝟓𝟔𝟕𝟖|
∗ 𝟏𝟎𝟎 = 𝟎. 𝟎𝟑%
|𝟎. 𝟗𝟓𝟔𝟒𝟓|
b) Nivel 0
𝒉 = 𝟏, 𝒉 =
𝑰(𝒉=𝟏) =
𝟏
𝟏
,𝒉 =
𝟐
𝟒
𝟏
[𝒔𝒆𝒏(𝟏) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟖𝟕𝟓𝟑𝟖
𝟐
142
Métodos Numéricos
Ing. William Caiza
𝑰
𝟏
(𝒉= )
𝟐
=
𝟏
𝟑
[𝒔𝒆𝒏(𝟏) + 𝟐𝒔𝒆𝒏 ( ) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟗𝟑𝟔𝟒𝟑
𝟒
𝟐
𝑰
𝟏
(𝒉= )
𝟒
=
𝟏
𝟓
𝟑
𝟕
[𝒔𝒆𝒏(𝟏) + 𝟐 (𝒔𝒆𝒏 ( ) + 𝒔𝒆𝒏 ( ) + 𝒔𝒆𝒏 ( )) + 𝒔𝒆𝒏(𝟐)] = 𝟎. 𝟗𝟓𝟏𝟒𝟔
𝟖
𝟒
𝟐
𝟒
Nivel 1
𝟒
𝟏
𝑰(𝒉𝒎) − 𝑰(𝒉𝒆)
𝟑
𝟑
𝟒
𝟏
(𝟎. 𝟗𝟑𝟔𝟒𝟑) − (𝟎. 𝟖𝟕𝟓𝟑𝟖) = 𝟎. 𝟗𝟓𝟔𝟕𝟖
𝟑
𝟑
𝟒
𝟏
(𝟎. 𝟗𝟓𝟏𝟒𝟑) − (𝟎. 𝟗𝟑𝟔𝟒𝟑) = 𝟎. 𝟗𝟓𝟔𝟒𝟕
𝟑
𝟑
Nivel 2
𝟏𝟔
𝟏
𝑰(𝒉𝒎) −
𝑰(𝒉𝒆)
𝟏𝟓
𝟏𝟓
𝟏𝟔
𝟏
(𝟎. 𝟗𝟓𝟔𝟒𝟕) −
(𝟎. 𝟗𝟓𝟔𝟕𝟖) = 𝟎. 𝟗𝟓𝟔𝟒𝟓
𝟏𝟓
𝟏𝟓
𝒆𝒓𝒓𝒐𝒓 =
|𝟎. 𝟗𝟓𝟔𝟒𝟓 − 𝟎. 𝟗𝟓𝟔𝟒𝟓|
∗ 𝟏𝟎𝟎 = 𝟎%
|𝟎. 𝟗𝟓𝟔𝟒𝟓|
Nivel 3
𝟔𝟒
𝟏
𝑰(𝒉𝒎) −
𝑰(𝒉𝒆)
𝟔𝟑
𝟏𝟓
Ejemplo
Dado el método del trapecio múltiple, tenemos:
𝑏
𝑚−1
ℎ
∫ 𝑓(𝑥)𝑑𝑥 = [𝑓(𝑎)] + 𝑓(𝑏) + 2 ∑ 𝑓(𝑥𝑗 )
2
𝑗=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 :
143
Métodos Numéricos
Ing. William Caiza
ℎ𝑘 =
𝑏−𝑎 𝑏−𝑎
= 𝑘+1 ; (ℎ𝑘 𝑒𝑠 𝑒𝑙 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑖𝑒𝑛𝑡𝑒 𝑎 𝑚𝑘 )
𝑚𝑘
2
𝒏 𝟐𝒏−𝟏
1
1
2
2
3
4
4
8
5 16
6 32
⋮
⋮
 Aplicando el trapecio múltiple, de las particiones indicadas anteriormente obtenemos:
2𝑘−1 −1
𝑏
ℎ𝑘
∫ 𝑓(𝑥)𝑑𝑥 = [𝑓(𝑎) + 𝑓(𝑏) + 2 ∑ 𝑓(𝑎 + 𝑖ℎ𝑘 )]
2
𝑖=1
𝑎
Demostración:
𝑋2
𝑋2
2
∫ 𝑓(𝑥) 𝑑𝑥 = ∫ 𝑃2 (𝑥)𝑑𝑥 = ∑ 𝑤𝑥 𝑓𝑥
𝑋0
𝑋0
𝑘=0
𝑃(𝑥2 ) (𝑋) = 𝑓(𝑥0 ) 𝑙(𝑥0 ) (𝑥) + 𝑓(𝑥1 ) 𝑙(𝑥1 ) + 𝑓(𝑥2 ) 𝑙(𝑥2 ) (𝑥)
Donde:
𝑙(𝑥0 ) =
𝑥 − 𝑥1
𝑥 − 𝑥2
∗
𝑥0 − 𝑥1 𝑥0 − 𝑥2
𝑙(𝑥1 ) =
𝑥 − 𝑥0
𝑥 − 𝑥2
∗
𝑥1 − 𝑥0 𝑥1 − 𝑥2
𝑙(𝑥2 ) =
𝑥 − 𝑥0
𝑥 − 𝑥1
∗
𝑥2 − 𝑥0 𝑥2 − 𝑥1
2
2
ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2)
ℎ(𝑡 − 0)ℎ(𝑡 − 2)
𝑓(𝑥0 ) ∫
ℎ𝑑𝑡 + 𝑓1 ∫
ℎ𝑑𝑡 +
−ℎ ∗ −2ℎ
ℎ ∗ −ℎ
0
0
2
+𝑓(𝑥2 ) ∫
0
ℎ(𝑡) ∗ ℎ(𝑡 − 1)
ℎ𝑑𝑡
2ℎ ∗ ℎ
2
𝑓(𝑥0 ) ℎ 2
𝑓(𝑥 ) ℎ 2
∫ (𝑡 − 1)(𝑡 − 2)𝑑𝑡 − 𝑓(𝑥1 ) ℎ ∫ (𝑡)(𝑡 − 2)𝑑𝑡 + 20 ∫ (𝑡)(𝑡 − 1)𝑑𝑡
2
2
0
0
0
144
Métodos Numéricos
Ing. William Caiza
2
𝑓(𝑥0 ) ℎ 2 2
𝑓(𝑥2 ) ℎ 2 2
2
∫ (𝑡 − 3𝑡 + 2)𝑑𝑡 − 𝑓(𝑥1 ) ℎ ∫ (𝑡 − 2𝑡)𝑑𝑡 +
∫ (𝑡 − 𝑡)𝑑𝑡
2
2
0
0
0
𝑓(𝑥0 ) ℎ 𝑡 3 3𝑡 2
𝑓(𝑥 ) ℎ 𝑡 3 𝑡 2 2
𝑡 3 2𝑡 2 2
2
( −
+ 2𝑡| ) − 𝑓(𝑥1 ) ℎ ( −
| )+ 2 ( − | )
0
2
3
2
3
2 0
2
3
2 0
𝑓(𝑥0 ) ℎ 2
𝑓(𝑥 ) ℎ 2
4
( ) − 𝑓(𝑥1 ) ℎ (− ) + 2 ( )
2
3
3
2
3
ℎ
3
(𝑓(𝑥0 ) + 4𝑓(𝑥1 ) + 𝑓(𝑥2 ) )
R. Simpson 1/3
𝑛−1
𝑛−2
𝑖=1
𝑖=1
𝒉
𝐼 = [𝒇(𝒙𝟎 ) + 4 ∑ 𝒇(𝒙𝟐𝒊−𝟏 ) + 2 ∑ 𝒇(𝒙𝟐𝒊 ) + 𝒇(𝒙𝒏 ) ]
𝟑
1
𝑅𝑒𝑔𝑙𝑎 𝑠𝑖𝑚𝑝𝑠𝑜𝑛 𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑒
3
Demostración Regla Simpson 3/8
𝑥3
3
3
∫𝑥 𝑓(𝑥) = 8 ℎ(𝑓𝑥0 + 3𝑓𝑥1 + 3𝑓𝑥2 + 𝑓𝑥3 ) 𝑅𝑒𝑔𝑙𝑎 𝑑𝑒 8 𝑆𝑖𝑚𝑝𝑠𝑜𝑛
0
Demostración:
𝑋3
𝑥3
3
∫ 𝑓(𝑥) 𝑑𝑥 = ∫ 𝑃3 𝑑𝑥 = ∑ 𝑊𝑥 𝑓𝑥
𝑋0
𝑥0
𝑘=0
𝑃3 (𝑥) = 𝑓𝑥0 𝑙𝑥0 (𝑥) + 𝑓𝑥1 𝑙𝑥1 (𝑥) + 𝑓𝑥2 𝑙𝑥2 (𝑥) + 𝑓𝑥3 𝑙𝑥3 (𝑥)
Donde:
𝑙𝑥0 =
𝑥 − 𝑥0 𝑥 − 𝑥2 𝑥 − 𝑥3
∗
∗
𝑥0 − 𝑥1 𝑥0 − 𝑥2 𝑥0 − 𝑥3
𝑙𝑥1 =
𝑥 − 𝑥0 𝑥 − 𝑥2 𝑥 − 𝑥3
∗
∗
𝑥1 − 𝑥0 𝑥1 − 𝑥2 𝑥1 − 𝑥3
𝑙𝑥2 =
𝑥 − 𝑥0 𝑥 − 𝑥1 𝑥 − 𝑥3
∗
∗
𝑥2 − 𝑥0 𝑥2 − 𝑥1 𝑥2 − 𝑥3
𝑙𝑥3 =
𝑥 − 𝑥0 𝑥 − 𝑥1 𝑥 − 𝑥2
∗
∗
𝑥3 − 𝑥0 𝑥3 − 𝑥1 𝑥3 − 𝑥2
145
Métodos Numéricos
Ing. William Caiza
𝑥3
𝑓𝑥0 = ∫
0
ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 3)ℎ𝑑𝑡
−ℎ ∗ −2ℎ ∗ −3ℎ
𝑥3
ℎ(𝑡) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 3)ℎ𝑑𝑡
+ 𝑓𝑥1 ∫
ℎ ∗ −ℎ ∗ −2ℎ
𝑥0
𝑥3
ℎ(𝑡) ∗ ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 3)
+ 𝑓𝑥2 ∫
2ℎ ∗ ℎ ∗ −ℎ
𝑥0
𝑥3
ℎ𝑡 ∗ ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2)ℎ𝑑𝑡 𝑓𝑥0 ℎ 𝑥3
+ 𝑓𝑥3 ∫
−
∫ (𝑡 − 1)(𝑡 − 2)(𝑡 − 3)𝑑𝑡
3ℎ ∗ 2ℎ ∗ ℎ
6 𝑥0
𝑥0
𝑓𝑥 ℎ 𝑥3
𝑓𝑥 ℎ 𝑥3
+ 1 ∫ 𝑡(𝑡 − 2)(𝑡 − 3)𝑑𝑡 − 2 ∫ 𝑡(𝑡 − 1)(𝑡 − 3)
2 𝑥0
2 𝑥0
𝑥
3
𝑓𝑥 ℎ
+ 3 ∫ 𝑡(𝑡 − 1)(𝑡 − 2)𝑑𝑡
6 𝑥0
𝑓𝑥0 ℎ 𝑥3 2
−
∫ (𝑡 3 − 3𝑡 + 2)(𝑡 − 3)𝑑𝑡
6 𝑥0
𝑓𝑥1 ℎ 𝑥3 3
𝑓𝑥3 ℎ 𝑥3 3
2
+
∫ (𝑡 − 4𝑡 + 3𝑡)𝑑𝑡 +
∫ 𝑡 − 3𝑡 + 2𝑡𝑑𝑡
2 𝑥0
6 𝑥0
𝑓𝑥 ℎ 𝑥3
− 3 ∫ (𝑡)3 − 3𝑡 2 + 2𝑡𝑑𝑡
6 𝑥0
𝑓(𝑥 ) ℎ 𝑥3
𝑓(𝑥 )ℎ 𝑡 4 5𝑡 3
3
− 0 ∫ (𝑡 3 − 6𝑡 2 + 11𝑡 − 6)𝑑𝑡 + 1 [ −
+ 3𝑡 2 | ]
0
6
2
4
3
𝑥0
𝑓(𝑥 ) ℎ 𝑡 4 4𝑡 3 3𝑡 2 3
𝑓(𝑥 ) ℎ 𝑡 4
3
+ 2 [ +
+
| ] + 3 [ − 𝑡3 + 𝑡2| ]
0
2
4
3
2 0
6
4
3
9
9
3
𝑓𝑥0 ℎ + 𝑓𝑥1 ℎ + 𝑓𝑥2 ℎ + 𝑓𝑥3 ℎ
8
8
8
8
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));
146
Métodos Numéricos
Ing. William Caiza
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
147
Métodos Numéricos
Ing. William Caiza
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
148
Métodos Numéricos
Ing. William Caiza
𝑃𝑎𝑟𝑎 𝑙𝑎 𝑔𝑟á𝑓𝑖𝑐𝑎 𝑡𝑒𝑛𝑒𝑚𝑜𝑠:
𝑏
𝑥1
𝑥3
𝑥2
𝑥4
∫ 𝑓(𝑥)𝑑𝑥 = = ∫ 𝑃1 (𝑥)𝑑𝑥 + ∫ 𝑃1 (𝑥)𝑑𝑥 + ∫ 𝑃1 (𝑥)𝑑𝑥 + ∫ 𝑃1 (𝑥)𝑑𝑥
𝑎
𝑥0
𝑥1
𝑥2
𝑥3
ℎ
ℎ
ℎ
ℎ
= (𝑓(𝑥0 ) + 𝑓(𝑥1 )) + (𝑓(𝑥1 ) + 𝑓(𝑥2 )) + (𝑓(𝑥2 ) + 𝑓(𝑥3 )) + (𝑓(𝑥3 ) + 𝑓(𝑥4 ))
2
2
2
2
ℎ
= (𝑓(𝑥0 ) + 2𝑓(𝑥1 )) + 2𝑓(𝑥2 ) + 2𝑓(𝑥3 ) + 𝑓(𝑥4 )
2
𝐺𝑒𝑛𝑒𝑟𝑎𝑙𝑖𝑧𝑎𝑛𝑑𝑜 𝑠𝑒 𝑡𝑖𝑒𝑛𝑒:
𝒃
𝒏−𝟏
𝒉
∫ 𝒇(𝒙)𝒅𝒙 = (𝒇(𝒙𝟎 ) + 𝟐 ∑ 𝒇(𝒙𝒋 ) + 𝒇(𝒙𝒏 ))
𝟐
𝒋=𝟏
𝒂
Ejemplo 1
7
Dado ∫3 𝑥 2 𝑑𝑥 , 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
7−3
1
=4
ℎ
4
∫ 𝑓(𝑥)𝑑𝑥 = (𝑓(3) + 𝑓(7)) = (9 + 49) = 116
2
2
3
b) ℎ =
7−3
3
=
4
3
4 13
𝑥1 = 3 + =
3
3
8 17
𝑥2 = 3 + =
3
3
𝑥3 = 3 + 4 = 7
7
∫ 𝑓(𝑥)𝑑𝑥 =
3
ℎ
13
ℎ
13
17
ℎ
17
(𝑓(3) + 𝑓 ( )) + (𝑓 ( ) + 𝑓 ( )) + (𝑓 ( ) + 𝑓(7))
2
3
2
3
3
2
3
ℎ
13
17
(𝑓(3) + 2𝑓 ( ) + 2𝑓 ( ) + 𝑓(7))
2
3
3
ℎ
169
289
= (9 + 2 (
) + 2(
) + 49) = 106,518
2
9
9
=
c) ℎ =
7−3
5
=
4
5
149
Métodos Numéricos
Ing. William Caiza
4
19
𝑥1 = 3 + (1) =
5
5
4
23
𝑥2 = 3 + (2) =
5
5
4
27
𝑥3 = 3 + (3) =
5
5
4
31
𝑥4 = 3 + (4) =
5
5
4
𝑥5 = 3 + (5) = 7
5
7
∫ 𝑓(𝑥)𝑑𝑥 =
3
ℎ
19
ℎ
19
23
ℎ
23
27
(𝑓(3) + 𝑓 ( )) + (𝑓 ( ) + 𝑓 ( )) + (𝑓 ( ) + 𝑓 ( ))
2
5
2
5
5
2
5
5
ℎ
27
31
ℎ
31
+ (𝑓 ( ) + 𝑓 ( )) + (𝑓 ( ) + 𝑓(7))
2
5
5
2
5
ℎ
19
23
27
31
(𝑓(3) + 2𝑓 ( ) + 2𝑓 ( ) + 2𝑓 ( ) + 2𝑓 ( ) + 𝑓(7))
2
5
5
5
5
2
361
529
729
961
= (9 + 2 (
) + 2(
) + 2(
) + 2(
) + 49) = 105,76
5
25
25
25
25
=
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]);
150
Métodos Numéricos
Ing. William Caiza
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
151
Métodos Numéricos
Ing. William Caiza
n=2
Imagen 6.3: Regla de Simpson 1/3
𝒃
∫ 𝒇(𝒙)𝒅𝒙 =
𝑏
∫𝑎 𝑓(𝑥)𝑑𝑥
Demostrar que
𝑏 − 𝑎 𝑥2 − 𝑥0
ℎ=
=
2
2
𝒂
𝒉
(𝒇(𝒙𝟎 ) + 𝟒𝒇(𝒙𝟏 ) + 𝒇(𝒙𝟐 ))
𝟑
ℎ
= 3 (𝑓(𝑥0 ) + 4𝑓(𝑥1 ) + 𝑓(𝑥2 ))
𝑥2
𝑏
∫ 𝑓(𝑥)𝑑𝑥 = ∫ [𝐿0 (𝑥)𝑓(𝑥0 ) + 𝐿1 (𝑥)𝑓(𝑥1 ) + 𝐿2 (𝑥)𝑓(𝑥2 )]
𝑎
Donde:
𝐿0 (𝑥) =
𝑥0
𝑥 − 𝑥1
𝑥 − 𝑥2
×
;
𝑥0 − 𝑥1 𝑥0 − 𝑥2
𝑥2
𝑏
𝐿1 (𝑥) =
𝑥 − 𝑥0
𝑥 − 𝑥2
𝑥 − 𝑥0
𝑥 − 𝑥1
×
; 𝐿2 (𝑥) =
×
𝑥1 − 𝑥0 𝑥1 − 𝑥2
𝑥2 − 𝑥0 𝑥2 − 𝑥1
𝑥2
𝑥 − 𝑥1
𝑥 − 𝑥2
𝑥 − 𝑥0
𝑥 − 𝑥2
∴ ∫ 𝑓(𝑥)𝑑𝑥 = 𝑓(𝑥0 ) ∫
×
𝑑𝑥 + 𝑓(𝑥1 ) ∫
×
𝑑𝑥
𝑥0 − 𝑥1 𝑥0 − 𝑥2
𝑥1 − 𝑥0 𝑥1 − 𝑥2
𝑎
𝑥0
𝑥2
+ 𝑓(𝑥2 ) ∫
𝑥0
𝑥0
𝑥 − 𝑥0
𝑥 − 𝑥1
×
𝑑𝑥
𝑥2 − 𝑥0 𝑥2 − 𝑥1
𝑃𝑎𝑟𝑎 𝑥 = 𝑥0 + ℎ𝑡
𝑑𝑥 ℎ𝑑𝑡
=
𝑑𝑡
𝑑𝑡
∴ 𝑑𝑥 = ℎ𝑑𝑡
(𝐸𝑐𝑢𝑎𝑐𝑖ó𝑛 2)
𝑆𝑖 𝑥 = 𝑥0 𝑒𝑛 (1) 𝑠𝑒 𝑡𝑖𝑒𝑛𝑒:
𝑥0 = 𝑥0 + ℎ𝑡
0 = ℎ𝑡
∴ 𝑡=0
(𝐸𝑐𝑢𝑎𝑐𝑖ó𝑛 3)
𝑆𝑖 𝑥 = 𝑥2 𝑒𝑛 (1) 𝑠𝑒 𝑡𝑖𝑒𝑛𝑒:
𝑥2 = 𝑥0 + ℎ𝑡
𝑥2 − 𝑥0 = ℎ𝑡
2ℎ = ℎ𝑡
∴ 𝑡=2
152
Métodos Numéricos
Ing. William Caiza
2
2
2
(𝑡 − 1)ℎ (𝑡 − 2)ℎ
𝑡ℎ (𝑡 − 2)ℎ
𝑡ℎ (𝑡 − 1)
= 𝑓(𝑥0 ) ∫
×
ℎ𝑑𝑡 + 𝑓(𝑥1 ) ∫ ×
ℎ𝑑𝑡 + 𝑓(𝑥2 ) ∫
×
ℎ𝑑𝑡
−ℎ
−2ℎ
ℎ
−ℎ
2ℎ
ℎ
0
=
0
2
2
0
2
ℎ
ℎ
𝑓(𝑥0 ) ∫(𝑡 − 1)(𝑡 − 2)𝑑𝑡 − ℎ𝑓(𝑥1 ) ∫ 𝑡(𝑡 − 2)𝑑𝑡 + 𝑓(𝑥2 ) ∫ 𝑡(𝑡 − 1)𝑑𝑡
2
2
0
0
0
2. Regla de Simpson 3/8
n=3
Imagen 6.4: Regla de Simpson 3/8
𝒃
∫ 𝒇(𝒙)𝒅𝒙 =
𝒂
𝟑𝒉
(𝒇(𝒙𝟎 ) + 𝟑𝒇(𝒙𝟏 ) + 𝟑𝒇(𝒙𝟐 ) + 𝒇(𝒙𝟑 ))
𝟖
Ejemplo 2
8
Dada ∫5 𝑠𝑒𝑛(𝑥)𝑑𝑥
a) Integrar mediante el trapecio
b) Integrar 5 veces mediante el trapecio
c) Integrar 5 veces simpson 1/3
RESOLUCION:
a) ℎ =
8
8−5
1
=3
ℎ
3
∫ 𝑠𝑒𝑛(𝑥)𝑑𝑥 = (𝑓(5) + 𝑓(8)) = (𝑠𝑒𝑛(5) + 𝑠𝑒𝑛(8)) = 0.0456
2
2
5
 Valor real
8
∫ 𝑠𝑒𝑛(𝑥)𝑑𝑥 = −cos(𝑥)85 = 0.429
5
 Error
153
Métodos Numéricos
Ing. William Caiza
0.429 − 0.0456
𝑒𝑟𝑟𝑜𝑟 = |
| = 0.89 × 100% = 89%
0.429
b) ℎ =
8
8−5
5
=
3
5
ℎ
28
ℎ
28
31
ℎ
31
34
∫ 𝑠𝑒𝑛(𝑥)𝑑𝑥 = (𝑠𝑒𝑛(5) + 𝑠𝑒𝑛 ( )) + (𝑠𝑒𝑛 ( ) + 𝑠𝑒𝑛 ( )) + (𝑠𝑒𝑛 ( ) + 𝑠𝑒𝑛 ( ))
2
5
2
5
5
2
5
5
5
ℎ
34
37
ℎ
37
+ (𝑠𝑒𝑛 ( ) + 𝑠𝑒𝑛 ( )) + (𝑠𝑒𝑛 ( ) + 𝑠𝑒𝑛(8))
2
5
5
2
5
3
28
31
34
37
=
(𝑠𝑒𝑛(5) + 2𝑠𝑒𝑛 ( ) + 2𝑠𝑒𝑛 ( ) + 2𝑠𝑒𝑛 ( ) + 2𝑠𝑒𝑛 ( )) + 𝑠𝑒𝑛(8) = 0.4162
10
5
5
5
5
0.429 − 0.4162
𝑒𝑟𝑟𝑜𝑟 = |
| = 0.03 × 100% = 3%
0.429
c) ℎ =
8
8−5
4
=
3
4
∫ 𝑠𝑒𝑛(𝑥)𝑑𝑥 =
5
=
ℎ
23
26
ℎ
26
29
(𝑠𝑒𝑛(5) + 4𝑠𝑒𝑛 ( ) + 𝑠𝑒𝑛 ( )) + (𝑠𝑒𝑛 ( ) + 4𝑠𝑒𝑛 ( ) + 𝑠𝑒𝑛(8))
3
4
4
3
4
4
1
23
26
29
(𝑠𝑒𝑛(5) + 4𝑠𝑒𝑛 ( ) + 2𝑠𝑒𝑛 ( ) + 4𝑠𝑒𝑛 ( ) + 𝑠𝑒𝑛(8)) = 0.42997
4
4
4
4
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));
154
Métodos Numéricos
Ing. William Caiza
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
155
Métodos Numéricos
Ing. William Caiza
Figura 6.9: Ejecución del programa
6.4 Regla de Boole
𝑥4
∫ 𝑓(𝑥)𝑑𝑥 =
𝑥0
2ℎ
(7𝑓𝑥0 + 32𝑓𝑥1 + 12𝑓𝑥2 + 32𝑓𝑥3 + 7𝑓𝑥4 ) 𝑅𝑒𝑔𝑙𝑎 𝐵𝑜𝑜𝑙𝑒
45
Demostración:
𝑥4
𝑥4
4
∫ 𝑓(𝑥)𝑑𝑥 = ∫ 𝑃4 (𝑥) = ∑ 𝑤𝑥 𝑓𝑥
𝑥0
𝑥0
𝑥=0
𝑃4 (𝑥) = 𝑓𝑥0 𝑙𝑥0 (𝑥) + 𝑓𝑥1 𝑙𝑥1 (𝑥) + 𝑓𝑥2 𝑙𝑥2 (𝑥) + 𝑓𝑥3 𝑙𝑥3 (𝑥) + 𝑓𝑥4 𝑙𝑥4 (𝑥)
Donde:
𝑥 − 𝑥0 𝑥 − 𝑥2 𝑥 − 𝑥3 𝑥 − 𝑥4
ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 3) ∗ ℎ(𝑡 − 4)
𝑙 𝑥0 =
∗
∗
∗
=
𝑥0 − 𝑥1 𝑥0 − 𝑥2 𝑥0 − 𝑥3 𝑥0 − 𝑥4
−ℎ ∗ −2ℎ ∗ −3ℎ ∗ −4ℎ
𝑙 𝑥1 =
𝑥 − 𝑥0 𝑥 − 𝑥2 𝑥 − 𝑥3 𝑥 − 𝑥4
ℎ(𝑡) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 3) ∗ ℎ(𝑡 − 4)
∗
∗
∗
=
𝑥1 − 𝑥0 𝑥1 − 𝑥2 𝑥1 − 𝑥3 𝑥1 − 𝑥4
ℎ ∗ −ℎ ∗ −2ℎ ∗ −3ℎ
156
Métodos Numéricos
Ing. William Caiza
𝑙 𝑥2 =
𝑥 − 𝑥0 𝑥 − 𝑥1 𝑥 − 𝑥3 𝑥 − 𝑥4
ℎ𝑡 ∗ ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 3) ∗ ℎ(𝑡 − 4)
∗
∗
∗
=
𝑥2 − 𝑥0 𝑥2 − 𝑥1 𝑥2 − 𝑥3 𝑥2 − 𝑥4
2ℎ ∗ ℎ ∗ −ℎ ∗ −2ℎ
𝑙 𝑥3 =
𝑥 − 𝑥0 𝑥 − 𝑥1 𝑥 − 𝑥2 𝑥 − 𝑥4
ℎ𝑡 ∗ ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 4)
∗
∗
∗
=
𝑥3 − 𝑥0 𝑥3 − 𝑥1 𝑥3 − 𝑥2 𝑥3 − 𝑥4
3ℎ ∗ 2ℎ ∗ ℎ ∗ −ℎ
𝑙 𝑥4 =
𝑥 − 𝑥0 𝑥 − 𝑥1 𝑥 − 𝑥2 𝑥 − 𝑥3
ℎ𝑡 ∗ ℎ(𝑡 − 1) ∗ ℎ(𝑡 − 2) ∗ ℎ(𝑡 − 3)
∗
∗
∗
=
𝑥4 − 𝑥0 𝑥4 − 𝑥1 𝑥4 − 𝑥2 𝑥4 − 𝑥3
4ℎ ∗ 3ℎ ∗ 2ℎ ∗ ℎ
𝑓𝑥0 ℎ 4
𝑓𝑥1 ℎ 4
∫ (𝑡 − 1)(𝑡 − 2)(𝑡 − 3)(𝑡 − 4)𝑑𝑡 −
∫ 𝑡(𝑡 − 2)(𝑡 − 3)(𝑡 − 4)𝑑𝑡 +
24 0
6 0
𝑓𝑥2 ℎ 4
𝑓𝑥 ℎ 4
∫ 𝑡(𝑡 − 1)(𝑡 − 3)(𝑡 − 4)𝑑𝑡 − 3 ∫ 𝑡(𝑡 − 1)(𝑡 − 2)(𝑡 − 4)𝑑𝑡 +
4 0
6 0
𝑓𝑥4 ℎ 4
∫ 𝑡(𝑡 − 1)(𝑡 − 2)(𝑡 − 3)𝑑𝑡
24 0
𝑓𝑥0 ℎ 4 2
𝑓𝑥 ℎ 4
∫ (𝑡 − 3𝑡 + 29(𝑡 2 − 7𝑡 + 12) − 1 ∫ (𝑡 3 − 5𝑡 2 + 6𝑡) (𝑡 − 4)𝑑𝑡 +
24 0
6 0
𝑓𝑥2 ℎ 4 3
𝑓𝑥3 ℎ 4 3
2
∫ (𝑡 − 4𝑡 + 3𝑡) (𝑡 − 4)𝑑𝑡 −
∫ (𝑡 − 3𝑡 2 + 2𝑡)(𝑡 − 4)𝑑𝑡 +
4 0
6 0
𝑓𝑥4 ℎ 4 3
∫ (𝑡 − 3𝑡 2 + 2𝑡)(𝑡 − 3)𝑑𝑡
24 0
𝑓𝑥0 ℎ 4 4
𝑓𝑥1 ℎ 4 4
3
2
∫ (𝑡 − 10𝑡 + 35𝑡 − 50𝑡 + 24)𝑑𝑡 −
∫ (𝑡 − 9𝑡 3 + 26𝑡 2 − 24𝑡) 𝑑𝑡 +
24 0
6 0
𝑓𝑥2 ℎ 4 4
𝑓𝑥 ℎ 4
∫ (𝑡 − 8𝑡 3 + 19𝑡 2 − 12𝑡) 𝑑𝑡 − 3 ∫ (𝑡 4 − 7𝑡 3 + 14𝑡 2 − 8𝑡) +
2 0
6 0
𝑓𝑥4 ℎ 4 4
∫ (𝑡 − 6𝑡 3 + 11𝑡 2 − 6𝑡)𝑑𝑡 +
24 0
𝑓𝑥0 ℎ 𝑡 5 10𝑡 4 35𝑡 3 50𝑡 2
𝑓𝑥 ℎ 𝑡 5 9𝑡 4 26𝑡 3 24𝑡 2 4
4
[ −
+
−
+ 24𝑡| ] − 1 [ −
+
−
| ]
0
24 5
4
3
2
6 5
4
3
2 0
+
𝑓𝑥2 ℎ 𝑡 5 8𝑡 4 19𝑡 3 12𝑡 2 4
𝑓𝑥 ℎ 𝑡 5 7𝑡 4 14𝑡 3 8𝑡 2 4
[ −
+
−
| ]− 3 [ −
+
−
| ]
4 5
4
3
2 0
6 5
4
3
2 0
157
Métodos Numéricos
Ing. William Caiza
𝑓𝑥4 ℎ 𝑡 5 6𝑡 4 11𝑡 3 6𝑡 2 4
[ −
+
−
| ]
24 5
4
3
2 0
𝒇𝒙𝟎 𝒉 𝟏𝟒
𝟔𝟒
𝟐𝟒
𝟔𝟒
𝟏𝟒
[ ] − 𝒇𝒙𝟏 𝒉 [− ] + 𝒇𝒙𝟐 𝒉 [ ] − 𝒇𝒙𝟑 𝒉 [− ] + 𝒇𝒙𝟒 𝒉 [ ]
𝟐𝟒 𝟒𝟓
𝟒𝟓
𝟒𝟓
𝟒𝟓
𝟒𝟓
𝟐𝒉
𝟒𝟓
[𝟕𝒇𝒙𝟎 + 𝟑𝟐𝒇𝒙𝟏 + 𝟏𝟐𝒇𝒙𝟐 + 𝟑𝟐𝒇𝒙𝟑 + 𝟏𝟕𝒇𝒙𝟒 ]
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.
5
∫ (4x − 3)3 dx
−3
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.
3
∫ x 2 ex dx
0
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.
1
∫ 152x dx
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.
158
Métodos Numéricos
Ing. William Caiza
3
∫ (5 + 3cosx) dx
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
gcd
tanh (√
t)
cd
m
Donde cd =coeficiente de arrastre de segundo orden, a) Si g=9.8 m/s 2 , 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:
π
2
∫ (8 + 4cosx)dx
0
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:
3
∫ (1 − e−x )dx
0
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:
3
∫ (1 − e−x )dx
0
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:
159
Métodos Numéricos
Ing. William Caiza
4
∫ (1 − x − 4x 3 + 2x 5 )dx
−2
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
160
Métodos Numéricos
Ing. William Caiza
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𝑦
𝑑𝑥
161
Métodos Numéricos
Ing. William Caiza
𝑑𝑦
= 𝑦(𝑥 2 − 1.2)
𝑑𝑥
𝑑𝑦
= ∫(𝑥 2 − 1.2)𝑑𝑥
𝑦
𝑥3
ln 𝑦 =
− 1,2𝑥 + 𝑐
3 3
∫
𝑥
𝑦 = 𝑒 3 −1,2𝑥+𝑐
Encontrando el valor de c mediante la condicon iniciual y(o)=1, entonces
03
1 = 𝑒 3 −1,2∗0+𝑐
1 = 𝑒𝑐
𝐿𝑛1 = 𝑐
𝐶=0
𝑖
𝑥𝑖
𝑦𝑖
0
1
0
0,25
1
0,7
2
0,5
0,5009375
3
0,75 0,38196484
4
5
6
7
8
1 0,3210892
1,25 0,30503474
1,5 0,33267851
1,75 0,42000662
2 0,6155722
𝑓(𝑥𝑖, 𝑦𝑖)
-1,2
-0,79625
0,47589063
0,24350259
0,06421784
0,11057509
0,34931244
0,78226233
1,72360216
𝑦𝑖+1
𝑌𝑖(𝑟𝑒𝑎𝑙)
0,7
0,5009375
Error
1
0
0,7446 0,059897932
0,38196484
0,5721 0,124388219
0,3210892
0,4679 0,183661373
0,30503474
0,33267851
0,42000662
0,6155722
1,04647274
0,4203
0,4278
0,5091
0,7308
1,3056
0,236047593
0,286968824
0,346536024
0,425278299
0,528513939
Ejemplo 2.- Con el método de Euler integre numéricamente la ecuación
𝑦` = 4𝑒 0,8𝑥 − 0.5𝑦
[0,4]
Condición 𝑦(0) = 2
𝑖
0
1
2
3
𝑥𝑖
0
1
2
3
4
4
h=1 pasos de 1
𝑓(𝑥𝑖, 𝑦𝑖)
𝑌𝑖(𝑟𝑒𝑎𝑙)
𝑦𝑖
𝑦𝑖+1
2
3
5
6,40216371
6,70108186 5,55162279 12,2527046 13,6857774
16,3197819 11,6522387 27,9720207 30,1066952
37,1992489 25,4930811 62,69233 66,7839558
83,3377673 56,4612371 139,799004 65,8995022
𝒀𝟎 𝒊+𝟏 = 𝒀𝒊 + 𝒇(𝒙𝒊 , 𝒚𝒊 ) × 𝒉
𝒀𝟎 𝒊+𝟏 = 𝟐 + 𝟑 × 𝟏
162
Error
4,70108186
9,61870008
20,879467
46,1385184
4,71913255
Métodos Numéricos
Ing. William Caiza
𝒀𝟎 𝒊+𝟏 = 𝟓
𝒀` 𝒊+𝟏
𝒀` 𝒊+𝟏
𝒀` 𝒊+𝟏
𝒀` 𝒊+𝟏
= 𝒇(𝒙𝒊+𝟏 , 𝒀𝟎 𝒊+𝟏 )
= 𝒇(𝟏 ; 𝟓)
= 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
163
Métodos Numéricos
Ing. William Caiza
𝐴=−
14 0,8𝑥 40 −0,5𝑥
𝑒
+ 𝑒
13
13
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
+ 4𝑥 3 − 10𝑥 2 + 8.5𝑥 + 𝐶
2
04
1=− 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
164
Métodos Numéricos
Ing. William Caiza
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
8
7
6
5
y verd
4
y euler
3
2
1
0
0
2
4
6
8
10
12
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
= yt 3 − 1.5y
dt
EULER h=0,5
i xi
yreal
0 0
1.0000
f(xi,yi)
0
165
yi+1
1
Métodos Numéricos
Ing. William Caiza
1
2
3
4
0.5
1
1.5
2
0.4798
0.2865
0.3737
2.7183
-1.5000
-0.3438
-0.0391
0.1099
0.2500
0.0781
0.0586
0.1135
3,0000
2,5000
EULER h=0,25
2,0000
EULER h=0,5
1,5000
Y REAL
PUNTO MEDIO
1,0000
RK CUARTO ORDEN
0,5000
0,0000
0
0,5
1
1,5
2
2,5
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
166
Métodos Numéricos
Ing. William Caiza
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 ′i= f(xi, yi )
la expresión anterior se utiliza para extrapolar linealmente a yi+1,mediante la siguiente
expresión
y i+10= yi + f(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 i+1′= f(xi+1, y i+10)
combinando las dos pendientes, para obtener un pendiente promedio se obtiene:
f(xi, yi )+f(xi+1, y i+10)
Ȳ′ =
∗ℎ
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:
j
j−1
(y −y )
|Ea | = | i+1 j i+1 |
(y i+1)
167
Métodos Numéricos
Ing. William Caiza
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 + (a1 k1 + a2 k 2 )h (𝟏)
Donde: k1 = f(xi , yi )
(𝟐)
;
k 2 = 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
h
2!
(𝟒)
Encontrando f′(xi , yi ) :
f′(xi , yi ) =
df(xi , yi ) ∂f dx ∂f dy
=
∗ + ∗
dx
∂x dx ∂y dx
f′(xi , yi ) =
Yi+1
df ∂f dy
+ ∗
(𝟓)
dx ∂y dx
df ∂f dy h2
= Yi + f(xi , yi )h + ( + ∗ )
(𝟔)
dx ∂y dx 2!
Utilizando la serie de Taylor de dos variables; tenemos:
g(x + r; y + s) = g(x; y) ∗ r ∗
∂g
∂g
+s∗ +⋯
∂x
∂y
Veamos el valor de:
∂f
∂f
f(xi + (p1 )h , yi + q11 (k1 )h) = f(xi , yi ) + p1 h ∂x + q11 (k1 )h ∂y + O(h2 ) (7)
Si 𝐚𝟐 = 𝟏/𝟐 tenemos:
168
Métodos Numéricos
Ing. William Caiza
a1+ a2 = 1
1
a2 p1 = 2
≫
≫
1
a2 q11 = 2
a1 = 1 −
1
= 1/2
2
p1 = 1
≫
q11 = 1
Entonces:
1
1
Yi+1 = Yi + ( k1 + k 2 )h
2
2
k1 = f(xi , yi )
METODO HEUN
k 2 = f(xi + h , yi + (k1 )h)
Si 𝐚𝟐 = 𝟏 tenemos:
a1+ a2 = 1
1
a2 p1 = 2
≫
≫
1
a2 q11 = 2
a1 = 1 − 1 = 0
p1 = 1/2
≫
q11 = 1/2
Entonces:
Yi+1 = Yi + ( k 2 )h
k1 = f(xi , yi )
METODO DE PUNTO MEDIO
k 2 = 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:
φ = a1 k 1 + a 2 k 2 + … + a n k n
169
Métodos Numéricos
Ing. William Caiza
Donde las ai son constantes y las ki son:
k1 = f(xi ; yi )
k 2 = f(xi + p1 h; yi + q11 k1 h)
k 3 = f(xi + p2 h; yi + q 21 k1 h++ q 22 k 2 h)…
k n = f(xi + pn h; yi + q n−1 k1h+q n−1 2k 2 h +…….+ q n−1 (n − 1k n h )
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:
1
Yi+1 = Yi + (k1 + 4k 2 + k 3 )h
6
k1 = f(xi , yi )
1
1
k 2 = f (xi + h , yi + (k1 )h)
2
2
k 3 = f(xi + h , yi − (k1 )h) + 2k 2 h)
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
170
Métodos Numéricos
Ing. William Caiza
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:
1
Yi+1 = Yi + (k1 + 2k 2 + 2k 3 + k 4 )h
6
k1 = f(xi , yi )
k 2 = f(xi + 1/2h , yi + 1/2(k1 )h)
k 3 = f(xi + 1/2h , yi + 1/2(k 2 )h))
k 4 = f(xi + h , yi + (k 3 )h)
Demostración:
El método de RK de cuarto orden está basado en lo siguiente:
Yi+1 = Yi + (a1 k1 + a2 k 2 + a3 k 3 + a4 k 4 )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
dy
Yi+1 = Yi + dx|
1 d4 y
xi ,yi
|
4! dx4 xi ,yi
(xi+1 − xi ) +
(xi+1 − xi )4
1 d2 y
2!
dx2
|
xi ,yi
(xi+1 − xi )2 +
1 d3 y
|
3! dx3 xi ,yi
(xi+1 − xi )3 +
(2)
dy
Sabiendo que dx = f(xi , yi )
y
h = (xi+1 − xi )
Entonces:
1
1
1
Yi+1 = Yi + f(xi , yi )h + 2! f′(xi , yi ) (h)2 + 3! f′′(xi , yi ) (h)3 + 4! f′′′(xi , yi ) (h)4
Basándonos en la ecuación (2) y (3), una de las soluciones más usadas es:
1
Yi+1 = Yi + (k1 + 2k 2 + 2k 3 + k 4 )h
6
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
171
Métodos Numéricos
Ing. William Caiza
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
= yt 3 − 1.5y
dt
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
3,0000
2,5000
EULER h=0,25
2,0000
EULER h=0,5
1,5000
Y REAL
PUNTO MEDIO
1,0000
RK CUARTO ORDEN
0,5000
0,0000
0
0,5
1
1,5
2
2,5
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
(7k1 + 32k 3 + 12k 4 + 32k 5 + 7k 6 )h
90
172
Métodos Numéricos
Ing. William Caiza
Donde:
k1 = f(xi , yi )
1
1
k 2 = f (xi + h , yi + (k1 )h)
4
4
1
1
1
k 3 = f (xi + h , yi + (k1 )h + (k 2 )h))
4
8
8
1
1
k 4 = f (xi + h , yi − (k 2 )h + (k 3 )h)
2
2
3
3
9
k 5 = f (xi + h , yi + (k1 )h + (k 4 )h)
4
16
16
3
2
12
12
8
(k 3 )h −
(k 4 )h + (k 5 )h)
k 5 = f (xi + h , yi − (k1 )h + (k 2 )h +
7
7
7
7
7
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) = -2x 3 + 12 x 2 – 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.
173
Métodos Numéricos
Ing. William Caiza
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
= yt 3 − 1.5y
dt
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
= (1 + 2x)√y
dx
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:
174
Métodos Numéricos
Ing. William Caiza
d2 y
−t+y=0
dt 2
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:
d2 y
dy
+ 0.6 + 8y = 0
2
dx
dx
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
= y sen3 (t)
dx
y(0) = 1
6.-Solucione en forma numérica el problema siguiente, de t = 0 a 3:
dy
= −y + t 2 ,
dt
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
yz 2
=−
dx
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:
m
d2 x
dx
+ c + kx = 0
2
dt
dt
175
Métodos Numéricos
Ing. William Caiza
Donde x=desplazamiento desde la posición de equilibrio (m), t=tiempo(s), m=20(kg) masa y
s
c= coeficiente de amortiguamiento (N ∙ m). El coeficiente de amortiguamiento c adopta tres
valores, 5 (subamortiguado), 40 (amortiguamiento crítico) y 200 (sobreamortiguado). La
s
constante del resorte es k = 20 (N ∙ 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
= −k√y
dt
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:
d2 x
dx
+ (5x) + (x + 7)sen(wt) = 0
2
dt
dt
Donde:
dx
(0) = 1,5
dt
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.
176
Métodos Numéricos
Ing. William Caiza
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)".
%
177
Métodos Numéricos
Ing. William Caiza
% 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.
178
Métodos Numéricos
Ing. William Caiza
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;
179
Métodos Numéricos
Ing. William Caiza
ANEXOS
Propiedades de Laplace
 L{ f(t) + g(t) } = F(s) + G(s)
 L{ a.f(t) } = a.F(s)
1
𝑠
 L{ f(at) } = 𝑎 𝐹 (𝑎)





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{ ∫0 f(T). dt } =
𝐹(𝑠)
𝑠
Tabla de la transformada de Laplace
f(t)
𝑢(𝑡)
F(s)
1
𝑠
1
𝑠2
𝑛!
2𝑛+1
𝜔
2
𝑠 + 𝜔2
𝑠
𝑠2 + 𝜔2
1
𝑒 −𝑎𝑠
1
𝑠−𝑎
𝑡
𝑡𝑛
𝑠𝑒𝑛(𝜔𝑡)
cos(𝜔𝑡)
𝛿(𝑡)
𝛿(𝑡 − 𝑎)
𝑒 𝑎𝑡
𝑡. 𝑓(𝑡)
−
∞
1
𝑓(𝑡)
𝑡
𝑓(𝑡) ∗ 𝑔(𝑡)
𝜕𝐹(𝑠)
𝜕𝑠
∫ 𝐹(𝑢)𝑑𝑢
𝑠
𝐹(𝑠). 𝐺(𝑠)
EJERCICIOS DE LAPLACE CON ECUACIONES DIFERENCIASLES POR LAPLACE

Usando la transformada de Laplace encuentre la solución de la ecuación.
𝒚′′ − 𝟐𝒚′ + 𝟓𝒚 = −𝟖𝒆−𝒕
𝒚(𝟎) = 𝟐
𝒚′ (𝟎) = 𝟏𝟐
180
Métodos Numéricos
Ing. William Caiza
ℒ(𝑦 ′ (𝑡))(𝑠) = 𝑠𝑌(𝑠) − 𝑦(0) = 𝑠𝑌(𝑠) − 2
ℒ(𝑦 ′′ (𝑡))(𝑠) = 𝑠 2 𝑌(𝑠) − 𝑠𝑦(0) − 𝑦 ′(0) = 𝑠 2 𝑌(𝑠) − 2𝑠 − 12
8
ℒ(−8𝑒 −𝑡 )(𝑠) = −8ℒ(𝑒 −𝑡 )(𝑠) = −
𝑠+1
Aplicación la transformada de Laplace a nuestra ecuación obtenemos:
−8
(𝑠 2 − 2𝑠 + 5)𝑌(𝑠) − 2𝑠 − 8 =
,
𝑠+1
Lo que implica:
2𝑠 2 + 10𝑠
𝑌(𝑠) = 2
(𝑠 − 2𝑠 + 5)(𝑠 + 1)
3(𝑠 − 1) + 2(4)
1
=
−
.
2
2
(𝑠 − 1) + 𝑠
𝑠+1
Por lo tanto
3(𝑠 − 1) + 2(4)
1
𝑦(𝑡) = ℒ −1 (
−
) (𝑡)
2
2
(𝑠 − 1) + 𝑠
𝑠+1
𝑠−1
2
1
= 3ℒ −1 ((𝑠−1)2 +𝑠2 ) (𝑡)+4ℒ −1 ((𝑠−1)2 +𝑠2 ) (𝑡) − ℒ −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.
𝒅𝟐 𝒈(𝒕)
+ 𝟒𝒈(𝒕) = 𝒔𝒆𝒏 (𝟒𝒕)𝒄𝒐𝒏 𝒈(𝟎) = 𝟎
𝒅𝒕𝟐
𝒚 𝒈′ (𝟎) =
𝟏
𝟓
ℒ{D2 g(t) + 4g(t)} = ℒ{sen(4t)}
ℒ{D2 g(t) + 4ℒ{g(t)} = ℒ{sen(4t)}
{S 2 G(s) − Sg(0) − g ′ (0)} + 4{G(s)} = {
4
}
S 2 + 42
1
4
+ 4𝐺(𝑠) = 2
5
(𝑆 + 42 )
1
4
𝐺(𝑠)(𝑆 2 + 4) − = 2
5 (𝑆 + 42 )
4
1 20 + (𝑆 2 + 42 )
𝑆 2 + 36
2
𝐺(𝑠)(𝑆 + 4) = 2
+ =
=
(𝑆 + 42 ) 5
5(𝑆 2 + 42 )
5(𝑆 2 + 42 )
1 2
(𝑆 + 62 )
(𝑆 2 + 62 )
5
𝐺(𝑠) =
⟹ 𝐺(𝑠) =
5(𝑆 2 + 42 )(𝑆 2 + 42 )
5(𝑆 2 + 42 )(𝑆 2 + 42 )
Aplicando la transformada Inversa de Laplace
1 2
(𝑆 + 62 )
5
−1 {𝐺(𝑠)}
−1
ℒ
=ℒ {
}
5(𝑆 2 + 42 )(𝑆 2 + 42 )
𝑆 2 𝐺(𝑠) − 0 −
ℒ −1 {𝐺(𝑠)} = 𝑔(𝑡) = 0.2667𝑆𝑒𝑛(2𝑡) + 0.0834𝑠𝑒𝑛(4𝑡 + 𝜋)
181
Métodos Numéricos
Ing. William Caiza

Resuelva usando transformada de Laplace la ecuación
𝒚′′ + 𝟒𝒚 = 𝒇(𝒕) ,
𝒚(𝟎) = 𝒚′ (𝟎) = 𝟎
Donde
0
𝑓(𝑡) = {
𝑡
0≤𝑡<3
𝑡≥3
Primero observamos que:
𝑓(𝑡) = 𝑡𝐻(𝑡 − 3) = (𝑡 − 3)𝐻(𝑡 − 3) + 3𝐻(𝑡 − 3),
Donde
𝐻(𝑡) = {
0
1
𝑡<0
𝑡≥0
Entonces si 𝑌(𝑠) = ℒ(y(t))(s),aplicando transformada de Laplace a la ecuación diferencial
obtenemos
3𝑠 + 1 −3𝑠
(𝑆 2 + 4)𝑌(𝑠) =
𝑒
𝑠2
Esto implica
3𝑠 + 1
𝑌(𝑠) = 2 2
𝑒 −3𝑠
𝑠 (𝑠 + 4)
3𝑠 + 1
𝑦(𝑡) = ℒ −1 ( 2 2
𝑒 −3𝑠 ) (𝑡)
𝑠 (𝑠 + 4)
3𝑠 + 1
𝐴 𝐴 𝐶𝑠 + 𝐷
= + 2+ 2
+ 4) 𝑠 𝑠
𝑠 +4
𝑠 2 (𝑠 2
Resolviendo se obtiene
3
1
3
1
𝐴 = 4, 𝐵 = 4, 𝐶 = − 4, 𝐷 = − 4
Asi
3𝑠 + 1
31 1 1 3 𝑠
1 𝑠
=
+ 2− 2
− 2
+ 4) 4 𝑠 4 𝑠
4𝑠 + 4 4𝑠 + 4
𝑠 2 (𝑠 2
𝑔(𝑡) = ℒ −1 (
3𝑠 + 1
3 1
3
1
(𝑡)
)
=
+
𝑡
−
cos(2𝑡)
−
sin(2𝑡)
𝑠 2 (𝑠 2 + 4)
4 4
4
8
Por lo tanto
𝑦(𝑡) = 𝑔(𝑡 − 3)𝐻(𝑡 − 3)
3 1
3
1
= ( + (𝑡 − 3) − cos(2(𝑡 − 3)) − sin(2(𝑡 − 3))) 𝐻(𝑡 − 3)
4 4
4
8
182
Métodos Numéricos
Ing. William Caiza

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𝑡)}
1
3!
4
𝑠
=4
+6 4−3 2
+2 2
𝑠−5
𝑠
𝑠 + 16
𝑠 +4
4
36
12
2𝑠
=
+
−
+
𝑠 − 5 𝑠 4 𝑠 2 + 16 𝑠 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!
4
4
𝑠+4
=
+
+
+
(𝑠 − 1)3 (𝑠 − 1)2 𝑠 − 1 (𝑠 + 4)2 − 4
5𝑠 4 + 29𝑠 3 + 9𝑠 2 − 21𝑠 + 20
=
(𝑠 − 1)3 (𝑠 + 2)(𝑠 + 6)
183
Métodos Numéricos
Ing. William Caiza
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.
184
Métodos Numéricos
Ing. William Caiza
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,
porque
en
para todo (x, y) satisfaciendo la condición
es igual a cero en la restricción, pero los ceros de
F(x, y) están todos
.
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
185
Métodos Numéricos
Ing. William Caiza
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
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
186
de modo que al
Métodos Numéricos
Ing. William Caiza
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.
187
Métodos Numéricos
Ing. William Caiza
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());
188
Métodos Numéricos
Ing. William Caiza
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.
189
Métodos Numéricos
Ing. William Caiza
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
190
Métodos Numéricos
Ing. William Caiza
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
191
Métodos Numéricos
Ing. William Caiza
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
192
Métodos Numéricos
Ing. William Caiza
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
193
Métodos Numéricos
Ing. William Caiza
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.
194
Métodos Numéricos
Ing. William Caiza
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
195
Métodos Numéricos
Ing. William Caiza
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)
196
Métodos Numéricos
Ing. William Caiza
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
197
Métodos Numéricos
Ing. William Caiza
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
198
Métodos Numéricos
Ing. William Caiza
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);
199
Métodos Numéricos
Ing. William Caiza
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);
200
Métodos Numéricos
Ing. William Caiza
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.
201
Métodos Numéricos
Ing. William Caiza
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.
202
Métodos Numéricos
Ing. William Caiza
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);
203
Métodos Numéricos
Ing. William Caiza
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).
204
Métodos Numéricos
Ing. William Caiza
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)
205
Métodos Numéricos
Ing. William Caiza
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.
206
Métodos Numéricos
Ing. William Caiza
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);
207
Métodos Numéricos
Ing. William Caiza
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
208
Métodos Numéricos
Ing. William Caiza
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;
209
Métodos Numéricos
Ing. William Caiza
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)
4)
Mediante un (for) Definimos el vector para poder realizar las graficas.
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
210
Métodos Numéricos
Ing. William Caiza

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
211
Métodos Numéricos
Ing. William Caiza
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');
212
Métodos Numéricos
Ing. William Caiza
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:
213
Métodos Numéricos
Ing. William Caiza
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
214
Métodos Numéricos
Ing. William Caiza
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
215
Métodos Numéricos
Ing. William Caiza
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
216
Métodos Numéricos
Ing. William Caiza
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
𝑓1 (𝑥1 , 𝑥2 , … . . , 𝑥𝑛 ) = 0
, 𝑥2 , … . . , 𝑥𝑛 ) = 0
𝑓(𝑥) = 0 ⇔ {𝑓…2 (𝑥
…1… …
………………
𝑓𝑛 (𝑥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) + б𝑥)
1
𝑇
= 𝑓𝑗 (𝑥 (0) ) + {𝛻𝑓𝑗 (𝑥 (0) )} ∗ б𝑥 + ∗ {б𝑥}𝑇 ∗ [𝐻𝑓𝑖 (𝑥 (0) + Ѳ𝑗 ∗ б𝑥)] ∗ б𝑥
2
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:
1
𝑇
𝑓𝑗 (𝑥 (0) ) + {𝛻𝑓𝑗 (𝑥 (0) )} ∗ б𝑥 + ∗ {б𝑥}𝑇 ∗ [𝐻𝑓𝑖 (𝑥 (0) + Ѳ𝑗 ∗ б𝑥)] ∗ б𝑥 = 0
2
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á
217
Métodos Numéricos
Ing. William Caiza
suficientemente cerca de la solución (es decir si ‖б𝑥‖es suficientemente pequeño) los
1
términos (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 NewtonRaphson 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
∗
∞
obtenida a partir de cualquier vector 𝑥 (0) ∈ D converge hacia la única
𝑖=0
solución de la ecuación f (x) = 0 en D.
218
Métodos Numéricos
Ing. William Caiza
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:
219
Métodos Numéricos
Ing. William Caiza
𝑞 ′ (𝑡) =
𝑓(𝑦 + (𝑡 + ∆𝑡) ∗ (𝑥 − 𝑦)) − 𝑓(𝑦 + 𝑡(𝑥 − 𝑦))
𝑑𝑞
(𝑡) = lim
∆𝑡⟶0
𝑑𝑡
∆𝑡
𝑓(𝑧 + ∆𝑡(𝑥 − 𝑦)) − 𝑓(𝑧)
= [Jf (𝑧)](𝑥 − 𝑦)
∆𝑡⟶0
∆𝑡
= lim
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)‖ =
1
‖∫ (𝑞
1
′ (𝑡)
−𝑞
′ (0)
∗ 𝑑𝑡‖ ≤ ∫ ‖(𝑞 ′ (𝑡) − 𝑞 ′ (0)‖ ∗ 𝑑𝑡 ≤
0
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:
220
Métodos Numéricos
Ing. William Caiza
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:
−1
𝑓(𝑥 (𝑖) ) = −[Jf (𝑥 (𝑖) )] (𝑥 (𝑖+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.
221
Métodos Numéricos
Ing. William Caiza
2
Simplemente nos indica que si en algún momento ‖𝑥 (𝑖) − 𝑥 (𝑖−1) ‖ < (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:
‖𝑥
donde 𝑟 =
𝛼∗𝛽∗𝑢
2
(𝑖)
−𝑥
𝒓𝟐𝒊−𝟏
‖ ≤
∗ u
𝟏 − 𝒓𝟐𝒊
(𝑖−1) 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 )
𝑓′(𝑥𝑛 )
222
Métodos Numéricos
Ing. William Caiza
. 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
223
Métodos Numéricos
Ing. William Caiza
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;
1
b) ϕ2(x) = 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 NewtonRaphson 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:
224
Métodos Numéricos
Ing. William Caiza
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:
2
J(𝑥)(0) = [
−1
−1
0
] , F(x0 ) = [ ]
0
2
Y por tanto, el sistema lineal a resolver es:
[
2 0
]
−1 2
1
(𝑣𝑐)(0) = [ ]
0
Una vez resuelto es 𝑣𝑐 (0) = [1/2,1/4]T , por lo que entonces:
1/2
1/2
0
𝑥 (1) = 𝑥 (0) + 𝑣𝑐 (0) = [ ] + [
]=[
]
1/4
1/4
0
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.
225
Métodos Numéricos
Ing. William Caiza
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 3 − cos[𝑥𝑖−1 ]
𝑥𝑖−1 3 − cos[𝑥𝑖−1 ]
𝑥𝑖 = 𝑥𝑖−1 −
=
𝑥
+
𝑖−1
−3𝑥𝑖−1 2 − sin[𝑥𝑖−1 ]
−3𝑥𝑖−1 2 + sin[𝑥𝑖−1 ]
𝑥𝑖 = 𝑥𝑖−1 −
Tabla de datos
𝒊
0
1
2
3
𝒙𝒊
-1
-0.880333
-0.865684
-0.865474
𝒇(𝒙𝒊 )
0.459698
0.045351
0.000632
1.289200x10−7
𝒇′(𝒙𝒊 )
-3.841471
-3.095909
-3.009766
-3.008539
Donde
𝒇(𝒙) = −𝒙𝟑 − 𝐜𝐨𝐬(𝒙) = 𝟎
Remplazamos el 𝑥0 = −1, en la ecuación para obtener el valor de 𝒇(𝒙𝒊 )
226
Error [%]
13.59
16.92
0.02
Métodos Numéricos
Ing. William Caiza
𝑓(−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 𝒙𝒊
𝒇(𝒙𝒊−𝟏 )
𝒙𝒊 = 𝒙𝒊−𝟏 −
𝒇′(𝒙𝒊−𝟏 )
0.459698
𝑥𝑖 = −1 −
= −0.880333
−3.841471
ERROR
|𝑥𝑖 − 𝑥𝑖−1 |
𝑒𝑟𝑟𝑜𝑟 =
∗ 100%
|𝑥𝑖 |
|−0.880333 − (−1)|
=
∗ 100% = 13.59%
|−0.880333|
La raíz aproximada es:
𝑥 = 𝑥3 = −0.865474
227
Métodos Numéricos
Ing. William Caiza
EJERCICIO 3
Representacion de la función 𝒇(𝒙) = −𝒙𝟑 − 𝐜𝐨𝐬(𝒙) = 𝟎 . Aplicando el método de Newton
encontrar el cero de la función
𝐿𝑜𝑔(𝑥)
1
𝑦=
+ 𝑒 −𝑥 −
2
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
𝑖
− + e−𝑥𝑖 −
𝑥𝑖 (3𝑒 −𝑥𝑖 + 10(1 + 𝑥𝑖 ) − 5𝑒 −𝑥𝑖 𝐿𝑜𝑔[𝑥𝑖 ])
2
5
𝑥𝑖 = 𝑥𝑖−1 −
=
1
5(𝑒 −𝑥𝑖 +2𝑥𝑖 )
−𝑒 −𝑥𝑖 − 2𝑥
𝑖
Tabla de datos
𝒊
0
1
2
3
𝒙𝒊
1.5
1.177243
1.213457
1.214065
𝒇(𝒙𝒊 )
-0.179602
0.026539
0.000431
1.177954x10−7
Error [%]
27.41
2.98
0.05
𝑳𝒐𝒈(𝒙)
𝟏
+ 𝒆−𝒙 −
𝟐
𝟓
Remplazamos el valor e 𝑥0 = 1.5, en la ecuación para obtener el valor de 𝒇(𝒙𝒊 )
𝒇(𝒙𝒊 ) =
𝑓(1.5) =
𝐿𝑜𝑔(𝑥)
1
+ 𝑒 −(1.5) − = −𝟎. 𝟏𝟕𝟗𝟔𝟎𝟐
2
5
228
Métodos Numéricos
Ing. William Caiza
𝑳𝒐𝒈(𝒙𝒊 )
𝟏
− + 𝐞−𝒙𝒊 −
𝟐
𝒙𝒊 = 𝒙𝒊−𝟏 − 𝟓
𝟏
−𝒙𝒊
−𝒆 − 𝟐𝒙
𝒊
𝐿𝑜𝑔(1.5)
1
− + e−1.5 −
2
𝑥𝑖 = 𝑥𝑖−1 − 5
= 𝟏. 𝟕𝟕𝟐𝟒𝟑
1
−𝑒 −1.5 −
2(1.5)
ERROR
|𝑥𝑖 − 𝑥𝑖−1 |
∗ 100%
|𝑥𝑖 |
|0.322757 − 1.5|
=
∗ 100% = 𝟐𝟕. 𝟒𝟏%
|0.322757|
𝑒𝑟𝑟𝑜𝑟 =
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) = 𝑥12 − 81 (𝑥2 − 0.1)2 + 𝑠𝑒𝑛 𝑥3 + 1.06 = 0,
𝑓3 (𝑥1, 𝑥2, 𝑥3) = 𝑒 −𝑥 𝑥 + 20 𝑥3 + (10 𝜋 − 3)/ 3 = 0.
1
2
Método del Punto Fijo para sistemas de ecuaciones no lineales.
SE FORMA EL SISTEMA DE ECUACIONE.
229
Métodos Numéricos
Ing. William Caiza
1
– 𝑐𝑜𝑠(𝑥2 𝑥3) + 3 𝑥1 + 2
0
𝑓1 (𝑥1, 𝑥2, 𝑥3) = [𝑥12 − 81 (𝑥2 − 0.1)2 + 𝑠𝑒𝑛 𝑥3 + 1.06]=[0]
1
0
+ 20 𝑥3 + 𝑒 −𝑥 𝑥 + (−3 + 10 𝜋 )
1
2
3
El punto inicial en matriz es:
𝑥(0)
0.1
1
P0= 𝑥(0)
=[
0.1 ]
2
𝑥(0) −0.1
[
3 ]
El límite de P es:
(0)
(0)
(0)
lim𝑃(𝑥) = 𝑃 = (𝑥1 , 𝑥2 , 𝑥3 )𝑡
𝑥→0
Si y solo si lim𝑃𝑖 = 𝑃𝑖 𝑝𝑎𝑟𝑎 𝑐𝑎𝑑𝑎 𝑖 = 1,2, … . , 𝑛.
𝑥→0
Ecuaciones preparadas para el método del Punto Fijo.
1
(2
6
𝑥(0)
1
=
𝑥(0)
2
(0)
[ 𝑥3 ]
cos((𝑥(2𝑘−1) ) (𝑥(3𝑘−1) )) + 1 )
2
1
√(𝑥(𝑘−1) ) + 𝑠𝑒𝑛 (𝑥(𝑘−1) ) + 1.06 − 0.1
1
3
9
1
(𝑘−1)
[20
(−𝑒−(𝑥1
(𝑘−1)
)(𝑥2
) + 1 (−3 + 10
3
𝜋 )) ]
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:
1
1
g1=x1=3 cos(𝑥2 𝑥3 ) + 6
1
g2=x2=9 √𝑥12 + 𝑠𝑒𝑛(𝑥3 ) + 1.06 − 0.1
1
g3=x3=− 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
𝛿𝑔2
𝛿𝑔3
2𝑥1
1
|
|+|
|+|
|= 0+|
| + | 𝑥2 𝑒 −𝑥1 𝑥2 | < 1
𝛿𝑥1
𝛿𝑥2
𝛿𝑥3
20
18√𝑥12 + 𝑠𝑒𝑛(𝑥3 ) + 1.06
𝛿𝑔1
𝛿𝑔2
𝛿𝑔3
1
1
|
|+|
|+|
| = |− 𝑥3 𝑠𝑒𝑛(𝑥2 𝑥3 )| + 0 + | 𝑥2 𝑒 −𝑥1 𝑥2 | < 1
𝛿𝑥1
𝛿𝑥2
𝛿𝑥3
3
20
𝛿𝑔1
𝛿𝑔2
𝛿𝑔3
1
cos(𝑥3 )
|
|+|
|+|
| = |− 𝑥3 𝑠𝑒𝑛(𝑥2 𝑥3 )| + |
|+0<1
2
𝛿𝑥1
𝛿𝑥2
𝛿𝑥3
3
18√𝑥1 + 𝑠𝑒𝑛(𝑥3 ) + 1.06
Luego de probar algunos valores se tomarán como valores iniciales:
𝑥1 0 ,2 0 ,𝑥3 0 = 0.1,0.1,−0.1
230
Métodos Numéricos
Ing. William Caiza
1ra iteración
2da iteración
(2)
𝑥1
(2)
𝑥2
=
1
1
(1) (1)
cos(𝑥2 𝑥3 ) + = 0.499996
3
6
1
√(𝑥3(1) )2 + 𝑠𝑒𝑛(𝑥3(1) ) + 1.06 − 0.1 = 0000028
9
(1) (1)
1
10𝜋 − 3
(1)
𝑥3 = − 𝑒 −𝑥1 𝑥2 −
= −0.524101
20
60
=
(2)
(1) 2
(1) 2
(2)
(2)
(1) 2
𝑒𝑟𝑟𝑜𝑟 = √(𝑥1 − 𝑥1 ) + (𝑥2 − 𝑥2 ) + (𝑥3 − 𝑥3 ) = 0.009473
Luego evaluando las derivadas parciales para determinar la convergencia del método:
𝛿𝑔
𝛿𝑔
𝛿𝑔
| 1 | + | 2 | + | 3 | = 0 + 0.061744 + 0.000470 = 0.062213
𝛿𝑥1
𝛿𝑥2
𝛿𝑥3
𝛿𝑔3
𝛿𝑔1
𝛿𝑔2
|
|+|
|+|
| = 0.000864 + 0 + 0.025117 = 0.025982
𝛿𝑥1
𝛿𝑥2
𝛿𝑥3
𝛿𝑔
𝛿𝑔
𝛿𝑔
| 1 | + | 2 | + | 3 | = 0.000016 + 0.053458 + 0 = 0.053473
𝛿𝑥1
𝛿𝑥2
𝛿𝑥3
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
1
2
3
4
5
𝑥𝑖
0.1
0.499983
0.499981
0.500000
0.500000
0.500000
𝑦𝑖
0.1
0.020176
-0.000028
-0.000028
0.000000
0.000000
𝑧𝑖
-0.1
-0.524101
-0.524106
-0.523598
-0.523598
-0.523599
La solución aproximada del sistema es:
0.5
𝑃5 = [
]
0
−0.523599
𝑥 = 0.5
y=0
z = −0.523599
𝑒𝑟𝑟𝑜𝑟 = 7.1𝑥10−7
231
𝑒𝑟𝑟𝑜𝑟
0.745561
0.020204
0.000508
2.8𝑥10−5
7.1𝑥10−7
Métodos Numéricos
Ing. William Caiza
232
Métodos Numéricos
Ing. William Caiza
233

Documentos relacionados