Está en la página 1de 145

19 de Febrero de 2016

Curso de métodos numéricos


Santiago Gallegos1 *

Abstract
En el siguiente documento se redacta el curso recibido de métodos numéricos de la Universidad de Las Fuerzas
Armadas Escuela Politécnica del Ejercito dictado por el Doctor Paúl Medina.
Keywords
Newton, Secante, tangente,series,sucesiones,errores, absoluto,relativo,propagación, aproximación, redondeo,
truncamiento,condición de una matriz,interpolación,polinomio, estabilidad, integración,derivación , ecuaciones
diferenciales, iteración ,Runge-Kutta,Legendre.
1 Departamento
Eléctrica y Electrónica , Escuela Politécnica del Ejército, Sangolquı́, Ecuador
* sagmsanty@hotmail.com

Contents
Tabla de contenidos 3
1 Introducción 4
1.1 Conceptos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Cifras significativas • Precisión • Exactitud • Convergencia • Estabilidad • Definición de lı́mite • Teorema de Bolzano • Teorema de Rolle
• Sucesión • Serie
2 Teorema de Taylor 4
2.1 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Orden de aproximación 6
3.1 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4 Error 7
Error de redondeo • Error de truncamiento • Error absoluto
4.1 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5 Propagación del error 7
5.1 Propagación en operaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6 Métodos para el cálculo de raı́ces 9
6.1 Método de la bisección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.2 Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Método analı́tico • Método gráfico
6.3 Método de la secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7 Sistemas de Ecuaciones Lineales 11
7.1 Condiciones de la solución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8 Métodos de resolución de ecuaciones 11
8.1 Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.2 Gauss-Jordan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.3 LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.4 Factorización QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1
Curso de métodos numéricos — 2/145

8.5 Gauss Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


9 Matriz inversa por un sistema de ecuaciones 17
10 Pseudoinversa de una matriz 17
10.1Descomposición en valores singulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10.2Cálculo la pseudoinversa de una matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10.3Condicionamiento de una matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Condición de una matriz • Estabilizar una matriz
11 Interpolación 19
11.1Método de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
11.2Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
11.3Método de Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Interpolación de grado 1 • Spline de grado 2 • Spline de grado 3
12 SVD programada 22
12.1Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
12.2Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
12.3Descomposición SVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
12.4Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
13 Compresión de imágenes 25
13.1Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
13.2Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
13.3Prueba del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
14 Compresión de audio 28
14.1Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Manejo de audio en Matlab
14.2Compresión de audio por disminución de muestras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Teorı́a • Ejemplo
14.3Compresión de audio por transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Teorı́a • Ejemplo
15 Derivación numérica 34
16 Integración numérica 35
16.1Método del rectángulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Método del punto medio
16.2Método del trapecio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
16.3Método de Simpson 1/3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
16.4Método de Simpson 3/8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
16.5Método de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
16.6Comparación de métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
16.7Metodo de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Metodos recursivos • Programa • Ejemplos
16.8Metodo adaptativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Introduccion • Ejemplo
16.9Metodo de Gauss-Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Programa • Ejercicios
17 Resolución numérica de ecuaciones diferenciales 47
17.1Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
17.2Método de Heun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
17.3Método de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
17.4Método de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
18 Ejercicios 48
18.1Método para el cálculo de raı́ces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
18.2Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
18.3Resolución de sistemas de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
18.4Métodos de interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Interpolación de Lagrange • Interpolación de Newton • Interpolación de Spline
18.5Derivación e integración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
18.6Ecuaciones diferenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
19 Programas 110
19.1Métodos para el cálculo de raı́ces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Método de bisección • Método de Newton • Método de la secante
19.2Métodos para la resolución de sistemas de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Gauss • Gauss-Jordan • LU • Matriz inversa por un sistema de ecuaciones
19.3Métodos de interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Método de Lagrange • Método de Newton • Programa interpolador de Spline • Comparación de métodos
19.4Métodos de Derivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Derivación centrada • Derivación adelantada
19.5Métodos de Integración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Método del rectángulo • Método del trapecio • Método del Simpson 1/3
19.6Métodos de resolución de ecuaciones diferenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Método de Heun • Método de Taylor • Método de Runge-Kutta • Comparación de métodos
20 Aplicación a la electrónica-Conversión análoga digital 140
20.1Teorema del muestreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
20.2Digitalización de una señal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
20.3Conversión digital-análoga de una señal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
20.4Digitalización de una señal en Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
20.5Conversión Digital-Análoga de una señal en Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
21 Conclusiones 145
References 145
Curso de métodos numéricos — 4/145

1. Introducción
1.1 Conceptos generales
Para comenzar con el curso de Métodos numéricos es necesario tener ciertos conceptos precios.
1.1.1 Cifras significativas
Representas el número de dı́gitos a utilizar para representar una cantidad.
1.1.2 Precisión
Número de cifras significativas a usar en un número o cantidad.
1.1.3 Exactitud
Acercamiento al valor real
Cantidad Precisión Exactitud
π = 3.15 NO NO
π = 3.14 NO SO
π = 3.151692 SI NO
π = 3.141593 SI SI

1.1.4 Convergencia
Propiedad de una cantidad a llegar a un valor finito.
1.1.5 Estabilidad
Propiedad de una cantidad que no posee cambios bruscos.
Si una cantidad posee tanto las propiedades de convergencia y estabilidad se dice que es robusto.
1.1.6 Definición de lı́mite
∀ε > 0∃δ > 0 −→ |x − x0 | < δ ⇒ | f (x) − I| < ε (1)

1.1.7 Teorema de Bolzano


Sea f(x) continua en el intervalo [a,b] y toma valores contrarios, ∃c ∈ (a, b) ⇒ f (c) = 0 , existiendo al menos una solución.
1.1.8 Teorema de Rolle
Si f(x) es continua en [a,b] y derivable en en (a,b) y f (a) = f (b)∃c ∈ (a, b)enelque f (c) = 0
1.1.9 Sucesión
Una sucesión es un conjunto de números denotado por {an }∞
n=0 que sigue una lógica en su desarrollo y puede ser convergente
si llega a un valor o de lo contrario ser divergente.
1.1.10 Serie

Dada una sucesión {an } denotaremos por ∑ an la serie de término general an . La suma parcial n-ésima de la serie se define
n=1

como Sn = ∑ an y se dice que la serie converge si la sucesión converge a un lı́mite llamado suma de la serie;si esta no converge
n=1
se dice que diverge.

2. Teorema de Taylor
El teorma de Taylor establece que si una función es continua y derivable en el intervalo [a,b] esta puede ser representada de la
forma
f (x) = Pn (x) + Rn (x) (2)
Teniendo el Polinomio de Taylor
n
f k (x0 )(x − xo )k
Pn (x) = ∑ (3)
k=0 k!

f (ε)(x − x0 )n+1
Rn (x) = (4)
(n + 1)!
Curso de métodos numéricos — 5/145

2.1 Ejemplo
Ejercicio 2.1
Represente f(x) como una serie de Taylor con sus cinco primeros términos

Solución

f (x) = ex
n=5
f (x) = ex
f (0) (x) = ex
f (1) (x) = ex
f (2) (x) = ex
..
.
f (n) (x) = ex
5
f (k) (x − x0 )k
P5 (x) = ∑
k=0 k!
f (0) (x − x0 )0f (1) (x − x0 )1 f (2) (x − x0 )2 f (3) (x − x0 )3 f (4) (x − x0 )4 f (5) (x − x0 )5
= + + + + +
0! 1! 2! 3! 4! 5!
x2 x3 x4 x5
= 1+x+ + + 0+
2 6 24 120
f (x) = ex = Pn (x) + Rn (x)
x2 x3 x4 x5 ec (x)6
= 1+x+ + + 0+ +
2 6 24 120 | {z 6! }

Siendo el último término el residuo o error cometido

Ejercicio 2.2
Represente f(x) como una serie de Taylor con sus cinco primeros términos

Solución

2
f (x) = ex
n=5
2
f (x) = ex
2
f (0) (0)(x) = ex = 1
2
f (1) (0) = 2xex = 0
2 2
f (2) (0) = 2ex + 4x2 ex = 2
2 2
f (3) (0) = 12ex + 8x3 ex = 0
2 2 2 2
f (4 (0) = 12ex + 24x2 ex + 24x3 ex + 16x4 ex = 12
f (5) (0) = 0
x4
P5 (x) = 1 + x2 + + Rn (x)
2
Siendo el último término el residuo o error cometido
Curso de métodos numéricos — 6/145

3. Orden de aproximación
Se denota como O(hn ) Teniendo el polinomio de Taylor definido en (2)
Si existe Pn (h) que aproxima a f(n) existe M > 0, n ∈ N tal que

| f (n) − p(n)|
>M
|hn |
| f (n) − p(n)| > M|hn | (5)
n n
M|h | = O(h )
| f (n) − p(n)| > O(hn )

Al tener un orden de aproximación más alto se tendrá una mejor exactitud.

3.1 Ejemplo
Ejercicio 3.1
Represente f(x) como una serie de Taylor con sus cinco primeros términos
Solución
f(x)=ex

eε h2
P1 = 1 + h +
2!
= 1 + h + +Oh2
h2 eε h3
P2 = 1 + h + +
2 6
h2
= 1+h+ + Oh3
2
h2 h3 eε h4
P3 = 1 + h + + +
2 6 24
h2 h3
= 1+h+ + + Oh4
2 6
h2 h3 h4 eε h5
P4 = 1 + h + + + +
2 6 24 120
h2 h3 h4
= 1+h+ + + + Oh5
2 6 24
h2 h3 h4 h5 eε h6
P5 = 1 + h + + + + +
2 6 24 120 720
h2 h3 h4 h5
= 1+h+ + + + + Oh6
2 6 24 120

3.2 Propiedades
• O(hn ) ± O(hn ) = O(hn )

• O(hm ) ± O(hn ) = O(hr ); rmin {m, n}

• O(hm ) ∗ O(hn ) = O(hs ); s = m + n

Ejercicio 3.2
Solución
h2 h3
eh = 1 + h + + + O(h4 )
2 6
h2 h4
cos(h) = 1 − + + O(h6 )
2 24
h2 h3 h2 h4
eh + cos(h) = 1 + h + + + O(h4 ) + 1 − + + O(h6 )
2 6 2 24
Curso de métodos numéricos — 7/145

h3
eh + cos(h) = 2 + h + + O(h4 )
6
h2 h3 h2 h4
  
e cos(h) = 1 + h + + + O(h4 )
h 1− + + O(h6 )
2 6 2 24
h 2 h3 h 2 h 3 h4 h5 h2 h4 h5 h6 h7 h4
eh cos(h) = 1+h+ + +O(h4 )−+ −+ −+ −+ −+ O(h4 )++ ++ ++ ++ ++ O(h4 )+
2! 3! 2! 3! 2!2! 2!3! 2! 4! 5! 2!4! 3!4! 4!
6 7 h2 6 h3 4 4 6
O(h ) + hO(h ) + + O(h ) + + O(h ) + O(h )O(h )
2! 3!
h3 4
1 + h − + + O(h )
3!

4. Error
4.0.1 Error de redondeo
Error producido por aproximación de decimales a su inmediato superior o inferior

4.0.2 Error de truncamiento


Error producido al no tomar todas las cifras significativas de una cantidad.

4.0.3 Error absoluto


x=Valor real
xb=Valor aproximado
|x − xb|=Error absoluto
|x − xb|
∗ 100%=Error relativo
|x|

4.1 Ejemplo
x=1.70
xb1 = 1.90
xb2 = 1.65
Ea1 = |1.70 − 1.90| = 0.2
Ea2 = |1.70 − 1.65| = 0.05
Er1 = 0.1176
Er2 = 0.0294

5. Propagación del error


5.1 Propagación en operaciones
Supongamos a p, q como valores reales y a pb, qb como sus valores aproximados teniendo ası́ también δ p, δ q como el error
cometido entonces tendremos.

p = pb ± δ p
(6)
q = qb ± δ q

Al realizar las suma observaremos la propagación de su error.

p + q = pb + qb ± δ p ± δ q
Teniendo el máximo error cuando δ p + δ q y el mı́nimo cuando −δ p − δ q
Asimismo para la resta

p − q = pb − qb ± δ p ± δ q
Teniendo el máximo error cuando δ p + δ q y el mı́nimo cuando −δ p − δ q
Para la multiplicación tendremos
Curso de métodos numéricos — 8/145

pq = ( pb ± δ p) · (b
q ± δ q)
pq = pbqb ± pbδ q ± qbδ q ± δ pδ q
pq − pbqb pbδ q qbδ p δ pδ q
=± ± ±
pq pq pq pq

pq − pbqb pbδ q qbδ p δ pδ q
≤ + +
pq pq pq pq

pq − pbqb pb δ q qb δ p δ p δ q pb qb
+ · ; ≈ ≈ 1; δ p · δ q ≈ 0

≤ + +
pq p q q p p q p q p q

pq − pbqb
pq ≤ εq + εq

Por lo que la propagación del error en la mutiplicación será la suma de los errores relativos; de esta forma se comprueba
también que el error para las potencias es

pn = nε p

Para la división tendremos

p pb ± δ p
=
q qb ± δ q
q + pδ q = q pb + qδ p
pb
pbq − q pb qδ p pδ 1
= −
pq pq pq
q − q pb

pb

qb q qδ p pδ 1
=
pq pq pq
+

qb q

p pb

q qb
p = ε p + εq


q

5.2 Ejemplos
Ejercicio 5.1 En un experimento se introducen 2 lı́quidos en un tanque y se quiere hallar la masa del lı́quido. Se conoce M1
(masa del tanque 1 mas contenido) = 540 ± 10g m1 = 72 ± 1g M2 = 940 ± 20g m2 = 97 ± 1g.
Solución

L1 = 540 − 72 ± 11 = 468 ± 11
L2 = 940 − 97 ± 21 = 843 ± 21
LT = 468 ± 11 + 843 ± 21 = 1311 ± 32

Ejercicio 5.2 Para medir la altura de un árbol L, se mide la longitud de su sombra L1 la altura de un objeto de referencia L2 y
la longitud de su sombra L3 las medidas tomadas son:.
L1 = 200 ± 2cm
L2 = 100 ± 0.4cm
L3 = 10.3 ± 0.2cm Solución
Curso de métodos numéricos — 9/145

2
εL1 = = 0.010
200
0.4
εL2 = = 0.0004
100
0.2
εL3 = = 0.019
10.3
L1 ∗ L2 200 ∗ 100
L= = = 1941.47
L3 10.3
εT = 0.010 + 0.0004 + 0.019 = 0.033
ET = εT ∗ L = 0.033 ∗ 1941.75 = 64.077
L = 1947.75 ± 64.077

6. Métodos para el cálculo de raı́ces


Si una función es continua en el intervao [a,b] y derivable en (a,b) existen varios métodos que pueden ser usados para el cálculo
de una raı́z y serán estudiados a continuación.

6.1 Método de la bisección


Si tomamos un intervalo [a,b] y comprobamos que f (a) ∗ f (b) < 0, podemos decir que en ese intervalo existirá una raı́z siempre
que la función sea continua en ese intervalo. Se procederá a calcular el punto medio de los extremos del intervalo teniendo.

a+b
c= (7)
2
Y ahora tendremos las siguientes condiciones

Figure 1. Método de la bisección

• Si f (a) ∗ f (c) < 0 entonces b = c

• Si f (b) ∗ f (c) < 0 entonces a = c

• Si f (c) = 0, c será una raı́z de la función

Este proceso se repetirá iterativamente con c1 , c2 , c3 , . . . cn hasta que se llegue a una buena aproximación de la raı́z de acuerdo
al margen de error que se establezca con los criterios de parada siguientes.

|cn − cn−1 | < Error


(8)
| f (cn )| < Error
Curso de métodos numéricos — 10/145

6.2 Método de Newton


6.2.1 Método analı́tico
Si expandimos las series de Taylor podemos obtener que una función se puede expresar de la forma, y posteriormente con-
siderando eliminar el error supuniendo esta sea una buena aproximación

f 0 (x0 )(x − x0 )
f (x) = f (x0 ) + + O(h2 ) f (x) = 0 0 = f (x0 ) + f 0 (x0 )(x − x0 )
1!
Despejando la ecuación obtenemos
f (x0 )
x = x0 − (9)
f 0 (x0 )
La cual será la fórmula recurrente de Newton para hallar eventualmente una raı́z
6.2.2 Método gráfico
Consiste en tomar un punto inicial y evaluar su recta tangente y el cruce de esta or el eje de las x obteniendo un nuevo punto en
el cuál se repetirá el mismo proceso hasta encontrar la raı́z deseada.

Figure 2. Existencia de Raı́ces

Una vez escogido el punto x0 y su imagen f (x0 ) se define el punto x1 ,0 el cual será el punto de corte de la recta tangente a
la curva en el punto (x0 , f (x0 )) con estos dos puntos se puede encontrar la pendiente de la forma:

0 − f (x0 )
m= (10)
x1 − x0
Al mismo tiempo sabemos que
m = f 0 (x0 ) (11)
Tomando (10) y (11) podemos se obtiene
0 − f (x0 )
f 0 (x0 ) =
x1 − x0
Y despejando x1 tendremos
f (x0 )
x1 = x0 − (12)
f 0 (x0 )
Obteniendo la fórmula de Newton que se repetirá hasta encontrar la raı́z

6.3 Método de la secante


El método de la secante evita el tomar la derivada de la función lo cual puede generar ciertos problemas y en lugar de tomar
dos puntos iniciales en lugar de uno y trazar una lı́nea a través de estos la cual cortará el eje de las abcisas en un nuevo punto
obteniendo
Curso de métodos numéricos — 11/145

Figure 3. Método de la secante

f (pk ) − f (pk−1 )
m= (13)
xk − xk−1

0 − f (pk )
m= (14)
xk+1 − xk

Al utilizar (13) y (14) podemos tener entonces la fórmula iterativa de la secante

f (xk )(xk − xk−1 )


xk+1 = xk − (15)
f (xk ) − f (xk−1 )

7. Sistemas de Ecuaciones Lineales


Definase un sistema de ecuaciones con igual número de ecuaciones e incógnitas como:

a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1


a21 x1 + a22 x2 + a23 x3 + · · · + a2n xn = b2
.. (16)
.
an1 x1 + an2 x2 + an3 x3 + · · · + ann xn = bn

Representado en la forma matricial como Ax = b

    
a11 a12 a13 ... a1n x1 b1
a21
 a22 a23 ... a2n  x2  b2 
   
a31
 a32 a33 ... a3n 
 = x3  b3 
  
(17)
 .. .. .. .. ..  .  . 
.   ..   .. 

 . . . .
an1 an2 an3 ... ann xn bn

7.1 Condiciones de la solución


Existen varios métodos para poder resolver un sistema de ecuaciones lineales siempre que se cumpla con la siguientes
condiciones que las filas y columnas de la matriz son linealmente independientes y además de esto

det(A) 6= 0; ∃A−1 (18)

Para los siguientes métodos podemos utilizar laa propiedad que establece que las filas de una matriz se puede cambiar por otra,
siendo este proceso justificado por una matriz de permutación P la cual será la identidad con sus filas intercambiadas.

8. Métodos de resolución de ecuaciones


Curso de métodos numéricos — 12/145

8.1 Gauss
El método de Gauss se basa principalmente en reducir en reducir la matriz de coeficientes A a una matriz triangular superior,
teniendo unicamente ceros por debajo de la diagonal
 0
a11 a012 a013 . . . a01n
   0 
x1 b1
 0 a0 a0 . . . a 0  x 
2 b0 
22 23 2n     20 
0 0  x 

0
 0 a33 . . . a 3n   3  = b3 
 
(19)
 .. .. .. . . .
.   .
.   .. 
 . . . . .  .   . 
0 0 0 ... a0nn xn b0n

De donde se puede obtener por despejes sucesivos la matriz de solución x

8.2 Gauss-Jordan
El método de Gauss-Jordan tiene el mismo principio que el método de Gauss con la diferencia que también se trabajara tanto
con la matriz para hacerla triangular superior y luego seprocede a eliminar los elementos por encima de la diagonal teniendo ası́
una matriz diagonal con lo que la solución se obtendrá de una forma inmediata
Al igual que con Gauss procedemos a verificar que no existan ceros en la diagonal y de ser necesario cambiar las filas y
columnas de la matriz A y b con una matriz de permutación.
El siguiente paso es aplicar el algoritmo de Gauss como se muestra en (19) y una vez realizado este proceso aplicar el mismo
concepto para eliminar los elementos por encima de la diagonal obteniendo un nuevo sistema de la forma:
 0
a11 00 0 . . . 00
   0 
x1 b1
 0 a0 0 . . . 0  x2  b0 
22     20 
0 a033 . . .

0 0 x3  = b3  (20)
   

 .. .. .. . . .
.   ..   .. 
 . . . . .  .   . 
0 0 0 . . . a0nn xn b0n

Para obtener la solución de (??) se utilizará

xi = b0i /aii ; i = 1, 2, . . . , n (21)

Obteniendo la matriz diagonal con lo cual obtendremos la respuesta.

8.3 LU
El método de factorización LU consiste basicamente en dividir a la matriz A en dos matrices L y U, la primera triangular
inferior y la segunda triangular superior y tendremos entonces el sistema:
    
a11 a12 a13 . . . a1n l11 0 0 ... 0 u11 u12 u13 . . . u1n
a21 a22 a23 . . . a2n  l21 l22 ... 0 
0   0 u22 u23 . . . u2n 
 
  
a31 a32 a33 . . . a3n  l31 l32 la33 . . . 0   0 0 u33 . . . u3n 
 =   A = LU (22)
 .. .. .. .. ..   .. .. .. .. ..   .. .. .. .. .. 
 . . . . .   . . . . .   . . . . . 
an1 an2 an3 ... ann ln1 ln2 ln3 ... lnn 0 0 0 ... unn

Esta es la factorización LU mas simple y uno de los métodos utilizados el mediante el algoritmo de Gauss para en donde
utilizaremos los elementos de la diagonal para transformar los elementos debajo de esta por medio de la resta de las filas de los
elementos a eliminar menos la fila de pivote multiplicado por un factor de multiplicación m dado por

m = amn /dmm
(23)
amn = amn − m ∗ dmm

siendo amn el elemento a eliminar y dmn el elemento de la diagonal qu nos ayudara a realizarlo. El factor m se guardará en la
matriz L en la posición del mismo elemento para el cual se intento eliminar.
Debido a que si existen ceros en la diagonal se deben intercambiar las filas tendremos la nueva igualdad

PA = LU (24)
Curso de métodos numéricos — 13/145

donde P sera una matriz de permutación compuesta por una matriz identidad la cual tendrá las filas cambiadas de la misma
manera que la matriz A sinceros en la diagonal.
Una vez obtenida las matrices L y U y sea el sistema (115 ) tendremos los sistemas

Ly = b0
(25)
Ux = y

Siendo b’=P*b ,obteniendo x obtenemos la solución al sistema de ecuaciones de (115)

8.4 Factorización QR
Introducción
Tengase el sistema de ecuaciones:

a11 x1 + a12 x2 + a13 x3 = b1


a21 x1 + a22 x2 + a23 x3 = b2
a31 x1 + a32 x2 + a33 x3 = b3

Lo podemos representar de la forma


    
a11 a12 a13 x1 b1
a21 a22 a23  x2  = b2 
a31 a32 a33 x3 b3

El método de resolución por factorización QR consiste en dividir a la matriz de coeficientes A en dos matrices de la forma

A = QR (26)
    
a11 a12 a13 q11 q12 q13 r11 r12 r13
a21 a22 a23  = q21 q22 q23   0 r22 r23 
a31 a32 a33 q31 q32 q33 0 0 r33
Donde Q es una matriz ortogonormal que cumple con la caracterı́stica

QQ−1 = QQT (27)

Y R es una matriz triangular superior.


Usando (26) podemos decir que:

QRx = b

Y al multiplicar a QT a ambos lados de la ecuación obtenemos

Rx = QT b
(28)
Rx = c

Teniendo Finalmente un sistema triangular superior fácil de resolver


Factorización QR
Para la factorización QR debemos tomar en cuenta sea la matriz A
 
a11 a12 a13
A = a21 a22 a23 
a31 a32 a33

Esta puede ser representada por



A = V1 V2 V3
Curso de métodos numéricos — 14/145

Siendo
     
a11 a12 a13
V1 = a21  ;V2 = a22  ;V3 = a23 
a31 a32 a33

Se encontrará los vectores unitarios normalizados u1 , u2 , u3 de estos de la forma:

V1
u1 =
||V1 ||
u02 = V2 − (u1 ·V2 ) · u1
u02
u2 = (29)
||u02 ||
u03 = V3 − (u2 ·V3 ) · u2 − (u1 ·V3 ) · u1
u03
u3 =
||u03 ||

Obteniendo la matriz Q

Q = (u1 u2 u3 ) (30)

Para obtener la matriz R tomamos (26) y multiplicamos por QT a ambos lados tendremos

QT M = QT QR
(31)
R = QT M

Ejemplo
Ejercicio 8.1
Solución Los cálculos se realizarán mediante el programa MATLAB Sea el sistema de ecuaciones

 3x + 2y + z = 1
5x + 3y + 4z = 2
x+y−z = 1

Representamos el sistema de la forma


    
3 2 1 x 1
5 3 4  y = 2
1 1 −1 z 1

Se factoriza la matriz de coeficientes por (29) obteniendo


   
3 0.5071
1   
u1 = √ 5 = 0.8452
35 1 0.1690
      
2 2 0.5071 0.1143
u02 = 3 − 0.5071 0.8452 0.1690 3 0.8452 = −0.1429


1 1 0.1690 0.3714
 
0.2760
u2 = −0.3450
0.8971
         
1 1 0.2760  1 0.5071 −0.3333
u03 =  4  − 0.2760 −0.3450 0.8971  4  −0.3450 − 0.5071 0.8452

0.1690  4  0.8452 =  0.1667 
−1 −1 0.8971 −1 0.1690 0.1667
Curso de métodos numéricos — 15/145

 
−0.8165
u3 =  0.4082 
0.4082
Obteniendo por(30)
 
0.5071 0.2760 −0.8165
Q = 0.8452 −0.3450 0.4082 
0.1690 0.8971 0.4082
Utilizamos (31) obteniendo
     
0.5071 0.8452 0.1690 3 2 1 5.9161 3.8187 3.7187
R = QT · A =  0.2760 −0.3450 0.8971 · 5 3 4  = 0.0000 0.4140 −2.0012
−0.8165 0.4082 0.4082 1 1 −1 0.0000 0.0000 0.4082

Obteniendo finalmente por (28)


     
5.9161 3.8187 3.7187 x 2.3664
0.0000 0.4140 −2.0012 ·  y  = 0.4830
0.0000 0.0000 0.4082 z 0.4082
Resolviendo el sistema finalmente se obtiene

   
x 1.0000
 y  =  6.0005 
z −4.0001

8.5 Gauss Seidel


El método de Gauss-Seidel es un método iterativo que se basa principalmente en la descomposición de la matriz A de la
siguiente forma:

A = M−N M = D−L N =U (32)

Por medio de una resolución de un sistema triangular se tiene el sistema iterativo siguiente

Mx(i+1) = Nx(i) + b = Ux(i) + b (33)

Tomando un vector solución x inicial se utiliza (33) donde tendremos un sistema a resolver encontrando x(x+1) el cuál será
nuevamente utilizado para el esquema iterativo; hasta que exista una diferencia pequeña entre cada elemento de x(i+1) y xi)
obteniendo la solución final.
Programa Una vez entendida la metodologı́a para utilizar el método de Gauss Seidel el algoritmo para realizarlo se basa en
ciclos repetitivos for y while de la siguiente manera:

• El criterio de parada será la diferencia entre los vectores x0 y x1 .


• Por cada ciclo se calculará los coeficientes de Mxi+1 = Nxi + b, el cual se resuelve para encontrar xi+1 .
Curso de métodos numéricos — 16/145

Figure 4. Programa de resolución de un sistema triangular inferior

Figure 5. Programa de Gauss Seidel


Curso de métodos numéricos — 17/145

Ejemplo Usaremos una matriz A y b del sistema de ecuaciones Ax=b para encontrar su solución a continuación.

Figure 6. Sistema de ecuaciones

Figure 7. Solución del sistema por Gauss Seidel

9. Matriz inversa por un sistema de ecuaciones


Se puede lograr la inversa de una matriz mediante el planteamiento de sistemas de ecuaciones sabiendo que
A ∗ A−1 = I

 0
a012 a013 a01n
   
a11 a12 a13 ... a1n a11 ... 11 0 0 ... 0
a21 a22 a23 ... a2n  a0 a022 a023 ... a02n  0 12 0 ... 0
  21
 0 a032 a033 a03n 
   
a31
 a32 a33 ... a3n 
 a31 ... =0
 0 13 ... 0  (34)
 .. .. .. .. ..   .. .. .. .. ..   .. .. .. .. .. 
 . . . . .  . . . . .  . . . . .
an1 an2 an3 ... ann a0n1 a0n2 a0n3 ... a0nn 0 0 0 ... 1n

Se puede dividir para columna formando un sistema de ecuaciones


  0   
a11 a12 a13 . . . a1n a1n b1
a21 a22 a23 . . . a2n  a0  b2 
  2n   
a31 a32 a33 . . . a3n  a0  b3 

   3n  =   (35)
 .. .. .. . . ..   ..   .. 
 . . . . .  .   . 
an1 an2 an3 . . . ann a0nn bk

Donde bk = 1 si k = n y cero de otra manera


Al resolver cada una de las soluciones de los sistemas de ecuaciones, obtendremos cada una de las columnas de la matriz inversa.

10. Pseudoinversa de una matriz


Curso de métodos numéricos — 18/145

10.1 Descomposición en valores singulares


La descomposición en valores singulares es una factorización de la forma:

A = USV T (36)

Donde A es la matriz diagonal formada por los valores singulares σ definidos por
p
σk = λk (37)

Donde λn son los valores propios de la matriz AT ∗ A


La matriz V será la matriz formada por los vectores propios vn normalizados correspondientes a cada valor propio λn

vn
vn = (38)
||vn ||

Finalmente la matriz U tendrá como columnas um al producto dado por:

1
un = A ∗ vn (39)
σn

Para utilizar la ecuación(59) se deberá omitir los vectores nulos de las matrices o aquellos correspondientes a σ = 0 ya que
resultarı́an en vectores de valores infinitos. Una vez omitidos se deberá acomodar a las matrices para que la multiplicación sea
posible y comprobar esta descomposición que tiene aplicaciones útiles en diversas áreas.

10.2 Cálculo la pseudoinversa de una matriz


Una vez que la matriz A ha sido factorada gracias a (59) se puede calcular la pseudoinversa de una matriz de la forma

A∗−1 = V S−1U T (40)

Donde los elementos de S−1 se definirá como:


1
Sii−1 = ; i = 1, 2, . . . , n (41)
Sii

Modificando únicamente los elementos de la diagonal, al ser el resto de los elementos fuera de la diagonal iguales a cero.
La solución a un sistema de ecuaciones se da por:

x = A∗−1 b (42)

10.3 Condicionamiento de una matriz


10.3.1 Condición de una matriz
Para esta sección se definirán varios términos necesarios que se determinarán a continuación
Espectro de una matriz: definido como el conjunto K de los valores propios de una matriz.

Esp(A) ⊆ K. (43)

Radio espectral: definido como el número real positivo ρ

ρ(A) = max |λi | (44)


λi εEsp(A)

Norma de unna matriz: Definase la norma de una matriz A como

kAk p = max kAxk p (45)


kxk p =1
Curso de métodos numéricos — 19/145

Las normas mas utilizadas serán kAk1 , kAk2 , kAk∞ , definidas como

( )
m
, kAk1 = max ∑ |ai j | , A = (ai j )εMmxn (K) (46)
i≤ j≤n
i=1

p
, kAk2 = ρ(A+ A) = µmax (47)

( )
n
, kAk∞ = max ∑ |ai j | , A = (ai j ) (48)
i≤i≤m
j=1

En caso de que una matriz sea simétrica o hermı́tica se tendrá que:

kAk = ρ(A) (49)

Una vez definida estos términos la condición de una matriz se dará por:

cond(A) = kAkkA−1 k (50)

En caso que sea una matriz simétrica o hermı́tica debido a (49) se tendrá kAk2 como

|λmax |
cond2 (A) = kAkkA−1 k = ρ(A)ρ(A−1 ) = (51)
|λmin ||

10.3.2 Estabilizar una matriz


Si una matriz está mal condicionada pequeños cambios en la entrada, en este caso en la matriz de coeficientes A, esto generará
grandes cambios en la solución, lo cual no es deseable en un sistema de ecuaciones, por lo que se puede reducir esta inestabilidad
gracias a la descomposición en valores singulares y el cálculo de la matriz pseudoinversa; en el cálculo de (41) consideraremos
un valor δ que será nuestra base de estabilidad (menor que 1 y aproximado a cero) Si los valores singulares de la matriz S son
menores a este valore δ no se considerará realizar el proceso de (41) para estos valores ya que su inverso serı́a un valor muy
elevado al acercarse a cero el valor singular,sino que se lo reemplazará por un cero y se utilizará esta nueva matriz S−1 mejor
condicionada para (40) podemos conseguir una nueva matriz pseudoinversa y gracias a (42) encontrar una solución más estable
que no sufrir grandes cambios con cambios en su matriz A.

11. Interpolación
Dados puntos dentro de un plano llamese interpolación a la unión de estos mediante una curva suave que los conecte de una
manera en la cuál se pueda estimar el comportamiento del sistema o fenómeno que genera estos datos. Dados N+1 datos se
puede trazar un polinomio de grado N o menor mediante diferentes métodos que estudiaremos a continuación.

Figure 8. Interpolación de puntos mediante curvas suaves


Curso de métodos numéricos — 20/145

11.1 Método de Lagrange


El método de Lagrange consiste en crear un polinomio en el itervalo [a,b] que se aproxime a la función original de la forma
f (x) = PN (x) + EN (x) (52)
Donde
N
PN (x) = ∑ f (xk )LN,k (x) (53)
k=0

N
∏ (x − x j )
j=0, j6=k
LN,k (x) = N
(54)
∏ (xk − x j )
j=0, j6=k

(x − x0 )(x − x1 ) . . . (x − xN ) f N+1 (c)


EN (x) = (55)
(N + 1)!
para algún valor c=c(x) del intervalo [a,b]

11.2 Método de Newton


El método de Newton consiste en crear un polinomio de la forma.
PN (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) · · · + an (x − x0 )(x − x1 ) . . . (x − xn ) (56)
Donde an se obtendrá por medio del método de diferencias divididas obtenidas de la forma

Figure 9. Esquema de diferencias divididas

Siendo
ai = f [x0 , x1 , . . . , xi ]; i =, 1, 2, . . . , n (57)

11.3 Método de Spline


Para utilizar una interpolación de Spline se deberá dividir al los datos obtenido en grupos de 3 para poder trazar una curva
suave entre ellos y concatenar todas estas para lograr una interpolación.
11.3.1 Interpolación de grado 1
La interpolación de grado uno consiste en la construcción de curvas de grado uno (rectas) que tendrán la forma de una curva S


 S1 (x) = a11 x + a12 ; x0 < x < x1
 S2 (x) = a21 x + a22 ;

x1 < x < x2
S(x) = ..


 .
Sn (x) = an1 x + an2 ; xn−1 < x < xn

Las condiciones para determinar los coeficientes de cada curva Spline de grado uno serán:
Curso de métodos numéricos — 21/145

• f (xi ) = y(xi )
• f (xi+1 ) = y(xi+1 )
Obteniendo cada curva y al unirlas obtener una interpolación completa de Spline grado 1.
11.3.2 Spline de grado 2
Para que una curva entre tres puntos sea suave debe de cumplir de cumplir las siguientes condiciones para las siguientes dos
curvas.
S1 (x) = a1 x2 + a2 x + a3 ;

x0 < x < x1
S
S2 (x) = b1 x2 + b2 x + b3 ; x1 < x < x2
• S1 (x1 ) = S2 (x1 )

• S1 (x1 ) = f (x1 )

• S1 (x0 ) = f (x0 )

• S2 (x2 ) = f (x2 )

• S10 (x1 ) = S20 (x1 )

• Si no se da como dato la derivada será cero S10 (x1 ) = 0


Esta última condición es la que nos servirá para concatenar diferentes interpolaciones de Spline ya que al obtener la curva Si se
puede calcular la derivada evaluada en el último punto de la derecha, este valor será el dato a ser usado en lugar de cero y nos
ayudará a que al ser la misma derivada las dos curvas de concatenación tengan la misma pendiente uniendose de una manera
suave.

11.3.3 Spline de grado 3


Se puede determinar una interpolación de Spline cúbica para n+1 puntos si tomamos grupos de dos puntos y los unimos
mediante una curva suave de grado 3 para esto tendremos que:

Si = ax3 + bx2 + cx + b; i = 1, 2, 3, . . . n (58)

Se puede observar que tenemos cuatro incógnitas a encontrar por lo que necesitaremos cuatro ecuaciones las cuales serán
obtenidas de las siguientes condiciones :
Para el intervalo [x0 , x1 ]

• Si (xi ) = f (xi )

• Si (xi+1 ) = f (xi+1 )

• Si0 (xk ) = Si0 (xk−1 ); k = 2, 3, . . . , n + 1; si k = 1 Si0 (xk ) = 0

• Si00 (xk ) = Si00 (xk−1 ); k = 2, 3, . . . , n + 1; si k = 1 Si00 (xk ) = 0

Concatenando estas curvas de Spline grado tres a lo largo de todos los datos dados, podemos construir una interpolación de
spline cúbicos.
Curso de métodos numéricos — 22/145

12. SVD programada


12.1 Introducción
La descomposición en valores singulares es una factorización de la forma:

A = USV T (59)

Donde A es la matriz diagonal formada por los valores singulares σ definidos por
p
σk = λk (60)

Donde λn son los valores propios de la matriz AT ∗ A


La matriz V será la matriz formada por los vectores propios vn normalizados correspondientes a cada valor propio λn

vn
vn = (61)
||vn ||
Finalmente la matriz U tendrá como columnas um al producto dado por:

1
un = A ∗ vn (62)
σn
Para utilizar la ecuación(59) se deberá omitir los vectores nulos de las matrices o aquellos correspondientes a σ = 0 ya que
resultarı́an en vectores de valores infinitos. Una vez omitidos se deberá acomodar a las matrices para que la multiplicación sea
posible y comprobar esta descomposición que tiene aplicaciones útiles en diversas áreas.

12.2 Programa
Vectores y Valores Propios
Como se vio en la sección anterior la descomposición en valores singulares demanda encontrar los vectores y valores propios
de una matriz AT ∗ A, la cual es por definición cuadrada, lo cual hace posible este proceso, la función [a,b]eig(A) de Matlab
realiza este cálculo devolviendo un vector con cada valor propio y además una matriz conformada por cada vector propio
generado correspondientemente, sin embargo a continuación se redactará un programa [a,b]=EingenValues(A) que realizará el
mismo proceso.
Para comenzar comenzaremos por utiizar la función syms con la variable l para poder utilizar una matriz simbólica y restar
el valor de lambda en la diagonal, encontrando el determinante de esta y por lo tanto el polinomio caractéristico y gracias a
solve() los valores de lambda de la matriz los cuales ordenaremos de mayor a menor lo cual será necesario para la matriz de
valores singulares posteriormente.

Figure 10. Determinación de lambdas

Una vez determinados los valores propios determinaremos los vectores propios y los uniremos en una matriz para ası́ poder
utilizarla posteriormente para lo cual se ingresará a un ciclo for el cual realizará el mismo cálculo para cada valor propio,al ser
la matriz que usamos una matriz simbólica podemos substituir cada valor propio gracias a subs(), obteniendo la nueva matriz ,
con rref() se podrá reducir la matriz y null() encontrara los valores del vector propio convirtiéndolo con double() a un vector
Curso de métodos numéricos — 23/145

de formato double, en el caso que el valor propio genere dos vectores propios estos se mostrara cono una matriz constituida por
estos dos vectores, la funcion horzcat()uniremos estos vectores a la matriz M que retornaremos como la matriz de vectores
propios.

Figure 11. Determinación de vectores propios

12.3 Descomposición SVD


Una vez obtenidas las matrices de vectores y valores propios el proceso anterior, la determinación de las matrices U,S y V sera
mucho mas fácil.
Para la matriz V basta con tomar cada vector propio que es en si, cada columna de la matriz obtenida con EigenValues() y
obtendremos la norma de esta con el comando norm().
La matriz S se obtendrá fácilmente con una matriz de ceros cuya diagonal será la raı́z cuadrada de cada valor singular obtenida
con EigenValues().
Finalmente con V y S simplemente se calculará con (62) en un ciclo for, anulando los vectores que se producirán con valores
singulares nulos. Finalmente podremos comprobar la descomposición en valores singulares multiplicando las tres matrices
gracias a (59) obteniendo la matriz original.

Figure 12. Código para la descomposición SVD


Curso de métodos numéricos — 24/145

12.4 Ejemplo
Utilizaremos el programa con una matriz cuadrada 3x3 y una matriz 2x3.

Figure 13. Determinación de los vectores y valores propios de una matriz 3x3

Figure 14. Descomposición SVD de una matriz 3x3


Curso de métodos numéricos — 25/145

Figure 15. Descomposición SVD de una matriz 2x3

13. Compresión de imágenes


13.1 Introducción
Para la compresión de imágenes el concepto básico a utilizar es que una imagen se comprimirá siempre que se reduzca los
valores propios a utilizar para poder hacer esto tomaremos en cuenta que una imagen se compone de una matriz que almacenará
un número que representará el tono del color que tiene, una imagen a escala de grises entonces tendrá una matriz con cada tono
de gris; una imagen a color es una supermatriz de dimensión MxNx3 donde cada una de las tres matrices bidimensionales
tendrá tonos de un color RGB (Red, Green, Blue para rojo, verde y azul respectivamente.

Figure 16. Ejemplo de una matriz tridimensional

La forma de reducir los valores propios de esta matriz será factorizandola para poder visualizar la matriz diagonal sabiendo que
la matriz A será.
A = UMxN SNxN (VNxP )T (63)
Curso de métodos numéricos — 26/145

Donde S es una matriz diagonal con los valores propios de la matriz, al tomar en cuenta menos valores propios reduciendo
el tamaño de la matriz y al operar tomar en cuenta menos numeros de columnas en la matriz U y menos filas en la matriz V T
para poder realizar la multiplicación de matrices se obtendrá una matriz A comprimida la cuál nos dará una imagen con un
tamaño menor.

13.2 Algoritmo
Utilizando el programa MATLAB podemos almacenr una imagen como una matriz o una supermatriz y poder realizar el
proceso de factorización SVD y disminución de valores singulares para poder comprimir una imagen.

Figure 17. Algoritmo compresión de imágenes

13.3 Prueba del programa


Para poder utilizar el programa de compresión de imágenes colocaremos la imagen ”nat.jpg” en la misma carpeta que
compcbyimg.m para que el programa pueda leerlo ejecutando el archivo en la ventana de comando tendremos.
Curso de métodos numéricos — 27/145

Figure 18. Ventana de comando

Figure 19. Visualización de las imágenes

Si observamos por ejemplo la imagen original con la tercera imagen comprimida, que posee una resolución visible
comparemos el tamaño que estas ocupan

Figure 20. Tamaño de las imágenes

Con lo que podemos comprobar que al disminuir el tamaño de la imagen también su tamaño en la computadora disminuya.
Curso de métodos numéricos — 28/145

14. Compresión de audio


14.1 Introducción
14.1.1 Manejo de audio en Matlab
Se puede manipular un archivo de audio por medio de varias funciones de Matlab, para poder obtener una representación de un
archivo de audio podemos utilizar [file,frec]=audioread(’filenamer.filetype’) donde filetype puede ser
• WAVE (.wav)
• OGG (.ogg)

• FLAC (.flac)
• AU (.au),MP3 (.mp3)
• MPEG-4 AAC (.m4a, .mp4)

En el cual nos dará un vector unidimensional con los valores de nivel de sonido y un vector bidimensional si es un archivo de
audio estereo y estos datos pueden ser graficados en matlab de la forma:

Figure 21. Código para obtener y graficar un archivo de audio

Figure 22. Gráficas un archivo de audio


Curso de métodos numéricos — 29/145

14.2 Compresión de audio por disminución de muestras


14.2.1 Teorı́a
Una vez obtenido el archivo de audio podemos ver que existen una cantidad de muestras muy grande ya que su frecuencia
es 44100 lo que significa 44100 muestras tomadas por segundo, si tomamos entonces solamente la mitad de estas muestras
reduciremos notablemente el tamaño del archivo, sin embargo para poder reproducir este nuevo archivo será necesario guardarlo
con la mitad de la frecuencia original, de lo contrario el audio se escuchará a una frecuencia incorrecta dando la sensación que
el archivo está acelerado.
La función filename=audioplayer(y,f) nos permitirá crear una variable tipo audio con los datos de un vector y a una frecuencia
de muestreo f, la cual se puede reproducir o pausar gracias a los comandos play(filename) y pause(filename).
Finalmente para poder grabar un archivo nuevo se utilizará la función audiowrite(’filename.filetype’,y,f); donde filetype podrá
ser
• WAVE (.wav)
• OGG (.ogg)

• FLAC (.flac)
• MPEG-4 AAC (.m4a, .mp4)

Figure 23. Compresión de archivos de audio

Además de esto se puede observar la diferencia entre la señal original y comprimida observando las gráficas de las señales y
observando un intervalo ampliado para notar una diferencia mayor.

Figure 24. Gráfica de la señal original y la señal comprimida

14.2.2 Ejemplo
Para probar la compresión de imágenes se puede utilizar el archivo ”Frontieres” para poder realizar una compresión y se
observará los resultados.
Curso de métodos numéricos — 30/145

Figure 25. Ejemplo de compresión archivo ”Frontieres.wav”

Figure 26. Gráficas del archivo original y comprimido


Curso de métodos numéricos — 31/145

Figure 27. Tamaño de archivos en disco

Observamos entonces que el archivo comprimido tendrá la mitad del tamaño original lo cual es lógico ya que solamente
hemos tomado la mitad de datos en la compresión., sin modificar notablemente la calidad del sonido al reproducir el nuevo
archivo.

14.3 Compresión de audio por transformada de Fourier


14.3.1 Teorı́a
Otro método que puede utilizarse para la compresión de audio es el uso de la transformad de Fourier para manipular una señal
en el dominio de la frecuencia descartando los valores menos significativos de una señal en frecuencia; una señal aplicada la
transformada de Fourier muestra los componentes de frecuencia de mayor a menor y estos tienden a ser cero en el infinito, por
lo que se puede descartarlos sin obtener una perdida significativa en el audio reconocible, ya que son frecuencia que el oı́do no
reconoce o son vagamente perceptibles. Una señal senoidal simple tiene por ejemplo solo una componente visible en el análisis
de Fourier ya que tiene una sola frecuencia por ejemplo.

Figure 28. Señal sinusoidal en el tiempo y su transformada de Fourier


Curso de métodos numéricos — 32/145

Una señal de audio entonces tendrá al analizar con la transformada de Fourier el siguiente resultado.

Figure 29. Señal de audio en el tiempo y su transformada de Fourier

Mientras las frecuencias son más altas el resultado en el análisis de Fourier muestra que sus valores van disminuyendo hasta
tender a cero, por lo que esto será la base para la compresión de audio; al eliminar las frecuencias casi nulas y volver al dominio
del tiempo con la transformada inversa de Fourier se obtiene una señal con menos datos de muestreo pero con una buena calidad
de audio.
Las funciones y=fft(x) y x=ifft(y) nos darán la tansformada rápida de Fourier y su transformada inversa para utilizarlos en el
programa Matlab en el código siguiente.

Figure 30. Programa de compresión de audio


Curso de métodos numéricos — 33/145

14.3.2 Ejemplo
Usaremos el archivo original del ejemplo anterior para comprimirlo por medio de la transformada de fourier obteniendo
Obteniendo además las gráficas de las señales originales y comprimidas en el dominio del tiempo y de la frecuencia de los dos

Figure 31. Archivo de audio leı́do por Matlab

canales derecho e izquierdo de audio estereo.

Figure 32. Archivo de audio comprimido por transformada de Fourier

Al tomarse la tercera parte del vector de la frecuencia y su transformada inversa también tendrá un tercio del tamaño original se
puede notar que el archivo de audio tendrá un tercio del tamaño igualmente, obteniendo una compresión de sonido exitosa.
Curso de métodos numéricos — 34/145

Figure 33. Tamaño de archivos en disco

15. Derivación numérica


Las diferentes aplicaciones en ingenierı́a y ciencias demandan la diferenciación de funciones por lo que el estudio de la
derivación numérica representa una herramienta muy poderosa para este tipo de cálculos.
Para utilizar la derivación numérica se tomará la expansión de taylor definida en la sección uno de este documento y aumentando
la función con un incremento δ se tendrá

f 0 (x0 )(x − x0 + δ ) f 00 (x0 )(x − x0 + δ )2 f (3) (x0 )(x − x0 + δ )3 f (4) (x0 )(x − x0 + δ )4
f (x+δ ) = f (x0 )+ + + + +Err(δ ) (64)
1! 2! 3! 4!

Donde Err(δ ) es el error cometido en la aproximación de la derivada en un punto, si se sustituye δ con un tamaño de paso h y
asumiendo que por su aproximación x es muy cercana a x0 se puede tener

f 0 (x)(δ ) f 00 (x)(δ )2 f (3) (x)(δ )3 f (4) (x)(δ )4


f (x + δ ) = f (x) + + + + + Err(δ ) (65)
1! 2! 3! 4!

Con esto se puede tomar por ejemplo reemplazando δ como h como tamaño de paso h se puede deducir la fórmula de la
derivada como

f 0 (x)(h) f 00 (x)(h)2
f (x + h) = f (x) + +
1! 2!
0 f (x + h) − f (x) f 00 (x)(h)
f (x) = − (66)
h 2
f (x + h) − f (x)
f 0 (x) = + O(h)
h
Si el paso h es muy pequeño y tiene a ser cero con la definición de lı́mite se obtiene

f (x + h) − f (x)
f 0 (x) = lim + O(h) (67)
h→ h

obteniendo ası́ la definición de la derivada, si se toma diferentes valores de paso como h,2h,3h,-h, etc con varias expansiones de
Taylor gracias a (65) se pueden obtener las diferentes derivadas en función de los pasos tomados, tomando esto en consideración
se redactarán las siguientes fórmulas de derivación numérica
Centradas (Orden O(h))

Puntos Derivada Fórmula


f1 − f−1
2 f 0 (x) 2h
f1 −2 f0 + f−1
3 f 00 (x) h2
f2 − f1 +2 f−1 − f−2
4 f 00 (x) 2h3
f2 −4 f1 +6 f0 −4 f−1 + f−2
5 f (4) (x)
Centradas (Orden O(h4 ) )
Curso de métodos numéricos — 35/145

Puntos Derivada Fórmula


− f2 +8 f1 −8 f−1 + f−2
4 f 0 (x) 12h
− f2 +16 f1 −30 f0 +168 f−1 + f−2
5 f 00 (x) 12h2
− f3 +8 f2 −13 f1 +13 f−1 −8 f−2 + f−3
6 f 00 (x) 8h3
− f3 +12 f2 −39 f1 +56 f0 −39 f−1 +12 f−2 − f−3
7 f (4) (x) 6h4
Adelantadas

Puntos Derivada Fórmula


f1 − f0
2 f 0 (x) h + O(h)
− f2 +4 f1 −3 f0
3 f 0 (x) h + O(h2 )
−3 f4 +16 f3 −36 f2 +48 f1 −25 f0
5 f 0 (x) 12h2
+ O(h4 )
f2 −2 f1 + f0
3 f 00 (x) h2
+ O(h)
− f3 +4 f2 −5 f1 +2 f0
4 f 00 (x) h2
+ O(h2 )
Retrasadas

Puntos Derivada Fórmula


3 f 0 − 4 f −1 + f−2
3 f 0 (x) + O(h2 )
2h
Al aplicar estas fórmulas se puede observar que el término del error puede disminuirse mientras el paso h sea mucho más
pequeño, sin embargo existirá unpunto donde el error no podrá ser minimizado al disminuir el paso, y en cambio al ser el paso
muy pequeño se puede perder por el redondeo los valores de los pasos lo cual empezarı́a a aumentar el error, por lo que se
deberá tomar un paso pequeño para disminuir el error de truncación pero no tan pequeño para que evite el error de redondeo de
un paso pequeño.

16. Integración numérica

Las fórmulas de integración numérica se basan en la representación gráfica de la integral y esto es el área bajo la curva y de esta
manera poder encontrar el valor de la integral definida de una forma numérica.
Para poder desarrollar los diferentes métodos de integración se recurrirá a las antes mostradas fórmulas de interpolación y

Figure 34. Área bajo la curva de una función

aplicando las propiedades de integrales como se mostrará a continuación por interpolación de Lagrange como se conoce el
polinomio interpolador está definido como

n
Pn (x) = ∑ f (xk )Lk (x), xε[a, b]
k=0
n x−xj
Lk (x) = ∏
j=0, j6=k k − x j
x
Curso de métodos numéricos — 36/145

Por lo tanto se tendrá un integral aproximada definida como:


Z b Z b
f (x)dx = Pn (x)dx
a a
Z b n
= ∑ f (xk )Lk (x)dx
a k=0
n Z b
≈ ∑ f (xk )Lk (x)dx
k=0 a
n Z b
≈ ∑ f (xk ) Lk (x)dx
k=0 a

Si se define ahora a la parte integral como

wk = ba Lk (x)dx

Se puede expresar el valor aproximado de la integral como


Z b n
f (x)dx = ∑ wk f (xk ) (68)
a k=0

Donde los términos wk se denominan pesos y servirán para determinar el valor de la integral; a continuación se redactarán los
métodos de integración interpoltoria más comunes.

16.1 Método del rectángulo


Al tomar un solo punto para la formula de interpolación se tendrá
Z b Z b
f (x)dx ≈ f (x0 ) L0 (x)dx
a a
Z b
(69)
≈ f (x0 ) dx
a
≈ f (x0 )(b − a)

Obteniendo el método del rectángulo que se puede representar graficamente como aproximar el área trazando un rectángulo y
multiplicar la base de este por su altura.

Figure 35. Método de integración del rectángulo

16.1.1 Método del punto medio


Para mejorar el método del rectángulo se opta por tomar no la imagen en alguno de los extremos sino aquella en el punto medio
para obtener un promedio de la función en el intervalo de integración obteniendo la fórmula
Z b
f (x)dx ≈ f (xa + xb )(b − a)
a
(70)
h2
Error(c) = − f 0 (c)
2
Curso de métodos numéricos — 37/145

16.2 Método del trapecio


El método del trapecio se utiliza al realizar la interpolación de la función en dos puntos, los cuales serán los extremos a y b de
la integral de l siguiente manera
Z b Z b 
x−b x−a
≈ f (a) + f (b) dx
a a a−b b−a
Z b Z b
x−b x−a
≈ f (a) dx + f (b) dx
a a − b a b −a
b−a b−a (71)
≈ f (a) + f (b)
2 2
b−a
≈ ( f (a) + f (b))
2
h3
Error(c) = − f 00 (c)
12
La representación de la fórmula del trapecio equivale a tomar las imagenes en los extremos tomarlos como vertices de un
trapecio y utilizar la fórmula del área del trapecio.

Figure 36. Método de integración del trapecio

16.3 Método de Simpson 1/3


El método de Simpson 1/3 toma la interpolación en tres puntos siendo los extremos de interpolación y el punto medio del
intervalo de integración de la siguiente manera.
Z b  
(x − b)(x − c) (x − a)(x − b) (x − a)(x − c) h
≈ f (a) + f (c) + f (b) dx ≈ ( f (a) + 4 f (c) + f (b))
a (a − b)(a − c) (c − a)(c − b) (b − a)(b − c) 3
b−a
≈ ( f (a) + 4 f (c) + f (b))
6
h5
Error(c) = − f (4) (c)
90

Figure 37. Método de integración de Simpson 1/3


Curso de métodos numéricos — 38/145

16.4 Método de Simpson 3/8


Se forma al tomar 4 puntos de interpolación e integrarlos obteniendo
Z b
3h
f (x)dx ≈ [ f (x0 ) + 3 f (x1 ) + 3 f (x2 ) + f (x3 )]
a 8
b−a
h= (72)
3
3h5 (4)
Error(c) = − f (c)
80

Figure 38. Método de integración de Simpson 3/8

16.5 Método de Boole


Se forma al tomar 5 puntos de interpolación e integrarlos obteniendo
Z b
2h
f (x)dx ≈ [7 f (x0 ) + 32 f (x1 ) + 12 f (x2 ) + 32 f (x3 ) + 7 f (x4 )]
a 45
b−a
h= (73)
5
8h7 (4)
Error(c) = − f (c)
945

Figure 39. Método de integración de Boole


Curso de métodos numéricos — 39/145

16.6 Comparación de métodos


Polinomio Integral Exacta Rectangulo Trapecio Simpson 1/3 Simpson 3/8 Boole
1 1 1 1 1 1 .
x 3/2 4 3/2 3/2 . .
x 2 7/3 8 5/2 7/3 . .
x3 15/4 16 9/2 15/4 . .
x4 31/5 32 17/2 149/24 . .
x5 63/6 64 33/2 169/16 . .
x6 127/7 128 65/2 1769/96 .

16.7 Metodo de Romberg


16.7.1 Metodos recursivos
Existen varios metodos de integracion como los siguientes
Z b
Regla del trapecio f (x)dx = T ( f , h) + O(h2 )
a
Z b
Regla de Simpson f (x)dx = S( f , h) + O(h4 )
a (74)
Z b
Regla de Boole f (x)dx = B( f , h) + O(h6 )
a

Donde cada uno toma un numero de nodos equiespaciados y mientras mas puntos tome el metodo mas exacta sera la respuesta de
la integracion deseada, se sabe ademas que si el intervalo de integración es menor cualquiera de los metodos antes mencionados
tendra una integral mas exacta; por lo que la regla del trapecio podria ser mas exacta que la regla de Simpson si su intervalo es
menor, sin embargo como no se puede cambiar el intervalo de integracion porque se buscaria algo completamente diferente a lo
deseado originalmente se decidira dividira al intervalo de integracion en subintervalos mas pequenos de igual distancia cada
uno de ellos, distancia que vendra dada por :
b−a
h= (75)
k
Donde h sera la distancia del intervalo y k sera el numero de intervalos que se tomaran

k = 2m ; m = 0, 1, 2, 3, 4, . . . (76)

De esta manera se puede obtener varias aproximaciones de los metodos mencionados anteriormente utilizando la misma formula
para todos ellos, la aplicacion de estas formulas recursivas nos permite realizar un mayor numero de operaciones mas simples
en lugar de operaciones mas complejas.
Tendremos entonces gracias a (74) y a un analisis de sus errores respectivos la relacion

Z b
4T ( f , h) − T ( f , 2h)
f (x)dx = (77)
a 3
Que resulta sel la regla de Simpson y ademas
Z b
16S( f , h) − S( f , 2h)
f (x)dx = (78)
a 15
La cual resulta ser la regla de Boole; se puede observar que los metodos mas precisos y complejos se pueden representar como
una combinacion lineal de metodos massimples y para el caso de los metodos de (74) se denominara al metodo del trapecio
como R(J,0), el metodo de Simpson como R(J,1) y el metodo de Boole como M(J,2), siendo J el numero de intervalos tomados
para el metodo definido como m por (86 ) de esta forma la relacion entre meodos queda establecida por:

4K R(J, K − 1) − R(J − 1, K − 1)
R(J, K) = (79)
4K − 1
Y el calculo de estos métodos se puede realizar como los muestra la figura 40
Curso de métodos numéricos — 40/145

Figure 40. Esquema de calculo del metodo de Romberg [1]

16.7.2 Programa
Para poder realizar el programa del método de Romberg se necesitara la integración del trapecio por lo que utilizaremos la sub
función trapint(a,b,f,m) que recibirá el intervalo de integración, la función a integrar y el numero de sub intervalos a utilizar.
Una vez utilizado esto podemos enviar los datos necesarios para obtener las diferentes integraciones del método del trapecio y

Figure 41. Función trapint()para la integración del trapecio compuesta

ası́ calcular las mejores aproximaciones posteriores.

Figure 42. funcion romberg() para el calculo de integral de Romberg

16.7.3 Ejemplos
Probaremos entonces la función del método de integración de Romberg a las siguientes funciones y se comprobaran con su
integral exacta en el intervalo [0.1]

f (x) = sin(x)
Curso de métodos numéricos — 41/145

Figure 43. Integral de Romberg de la función f(x)=sin(x)

f (x) = x2 − 3x + 10

Figure 44. Integral de Romberg de la función f (x) = x2 − 3x + 10


Curso de métodos numéricos — 42/145

f (x) = ex

Figure 45. Integral de Romberg de la función f (x) = ex

16.8 Metodo adaptativo


16.8.1 Introduccion

Se basa principalmente en tratar al metodo de Simpson mencionado en (74) de una manera mas eficaz, dividiendo al intervalo
[a,b] en dos intervalos [a,c] y [c,b] y comparando su tolerancia dada por

tol = |Ia,b − Is| (80)

Siendo

h x0 + xn
Ix0 ,xn = ( f (x0 ) + 4 f ( ) + f (xn ))
3 2
xn − x0
h=
2 (81)
Is = Ia,c + Ic,b
a+b
c=
2

Si la tolerancia resultante de este proceso es menor a la permitida esta sera la respuesta final de la integral, de lo contrario se
aplicara el mismo concepto hacia los nuevos dos intervalos reduciendo la tolerancia a la mitad para estos intervalos hasta que el
método converja a una integral con la tolerancia deseada.
Curso de métodos numéricos — 43/145

16.8.2 Ejemplo
Z 5π/8
cos(x4 )dx
π/8
tol = 0.01
5π/8 − π/8
cos(pi/8)4 + 4cos(3pi/8)4 + cos(5pi/8)4 ≈ −0.2766

I=
6
3π/8 − π/8
cos(pi/8)4 + 4cos(2pi/8)4 + cos(5pi/8)4 ≈ 0.5715

I1 =
6
5π/8 − 3π/8
cos(3pi/8)4 + 4cos(4pi/8)4 + cos(5pi/8)4 ≈ 0.3812

I2 =
6
Is = 0.5715 + 0.3812 = 0.9526
|Is − I| = 1.2292 > 0.01
Nuevo Intervalo [π/8, 3π/8]
I = 0.5715
I1 = 0.3861
I2 = 0.1947
Is = 0.5808
|Is − I| = 0.0094
Intervalo [3π/, 5π/8]
I = 0.3812
I1 = −0.1969
I2 = −0.2272
Is = −0.4240
|Is − I| = 0.8052
Nuevo Intervalo [3π/8, 4π/8]
I = 0.5715
I1 = −0.1969
I2 = −0.1568
Is = 0.04240
|Is − I| = −0.0412
Intervalo [4π/8, 5π/8]
I = −0.2272
I1 = 0.0136
I2 = 0.0646
Is = −0.0781
|Is − I| = 0.0353
R 5π/8
Siendo el resultado final la suma de los integrados con tolerancia aceptada displaystyle π/8 cos(x4 )dx ≈= 0.5808 − 0.1240 =
0.0032 + 0.0353 = 0.4721
Curso de métodos numéricos — 44/145

16.9 Metodo de Gauss-Legendre


Es una modificación del del trapecio y consiste en realizar el mismo proceso sin embargo tomando no los extremos del intervalo
de integración sino dos puntos internos de la curva que unirán una recta formando un nuevo trapecio como lo muestra la
siguiente figura Donde La recta sera de la forma

Figure 46. a) Método del trapecio; b)Cuadratura de Gauss Legendre

(x − x1 )( f x2 ) − f (x1 ))
y = f (x1 ) + (82)
x2 − x1
Y su area sera
2x2 2x1
A= f (x1 ) − f (x2 ) (83)
x2 − x1 x2 − x1
Ahora veamos la aproximación de la integral
Z 1
f (x)dx ≈ w1 f (x1 ) + w2 f (x2 ) (84)
−1

Para encontrar los pesos w y los coeficientes x de la integral del intervalo [-1 1] nos valdremos de cuatro funciones creando un
sistema de cuatro ecuaciones y cuatro incógnitas.
Z 1
f (x) = 1; 1dx = 2 = w1 + w2 (85)
−1

Z 1
f (x) = 1x; xdx = 0 = w1 x1 + w2 x2 (86)
−1

Z 1
f (x) = x2 ; x2 dx = 2/3 = w1 x12 + w2 x22 (87)
−1

Z 1
f (x) = x3 ; x3 dx = 0 = w1 x13 + w2 x23 (88)
−1
Curso de métodos numéricos — 45/145

Resolviendo (85),(86),(87)y(88) se obtiene que

w1 = w2 = 1

x1 = 1/ 3 (89)

x2 = −1/ 3

encontrando los pesos y nodos para reemplazar en (84) y encontrar el valor de la integral; para N nodos la interacion de
Gauss-Legendre tiene una exactitud de 2N-1 siendo la formula final
N
GN ( f ) = ∑ WN,k f (xN,k ) (90)
k=1

En general para N nodos la formula de Gauss Legendre viene dada por [1]
Z b N  
b−a a+b b−a
f (x)dx = = ∑ wN,k f + v (91)
a 2 k=1 2 2 N,k

Cuyos pesos y nodos a evaluar se dan en la siguiente tabla

Figure 47. Tabla pesos y nodos del método de Gauss Legendre

16.9.1 Programa
El algoritmo que redacta el procedimiento anterior tiene el calculo de la sumatoria del producto de pesos y evaluaciones de nodos al ingresar
como datos los limites de la integral, su función de tipo simbólica y en vectores los datos de nodos y pesos redactados en la tabla (47)

Figure 48. Programa método de Gauss Legendre


Curso de métodos numéricos — 46/145

16.9.2 Ejercicios
Comparemos ahora con las funciones descritas anteriormente

f (x) = sin(x) (92)

Figure 49. Integral de f(x)=sin(x) en [1,2]

f (x) = x2 − 3x + 10 (93)

Figure 50. Integral de f(x)=x2 − 3x + 10 en [1,2]

f (x) = ex (94)

Figure 51. Integral de f(x)=ex en [1,2]


Curso de métodos numéricos — 47/145

17. Resolución numérica de ecuaciones diferenciales


Considerece la ecuación diferencial de la forma

y0 = f (t, y) (95)

Con una división del intervalo [a,b] en los cuales se quiere encontrar la solución a la ecuación diferencial y dividirlo en M segmentos
equidistantes, con un tamaño de paso h definiendose la siguiente manera

b−a
h= (96)
M
Los métodos para la resolución de ecuaciones diferenciales se basan encontrar los valores de la función solución a partir de un valor inicial
dado como dato obteniendo ası́

y(t0 ) = y0 (97)

Gracias a este paso se comenzará a calcular los valores de la función, imagen de cada valor de tiempo dado como

tk = a + kh, h = 0, 1, . . . , M (98)

17.1 Método de Euler


El método más sencillo y fácil de utilizar es el de método de Euler y consiste en el desarrollo de taylor de la siguiente manera

y00 (c)(t − t0 )2
y(t) = y(t0 ) + y0 (t0 )(t − t0 ) + ; y0 (t1 ) = f (t0 , y(t0 )), h = t1 − t0
2
y00 (c1 )h2
y(t1 ) = y(t0 ) + h f (t0 , y(t0 )) +
2
Y al considerar un paso h suficientemente pequeño, se puede despreciar el último término obteniendo finalmente la fórmula del cálculo de la
solución mediante el método de Euler

yk+1 ≈ yk + h f (tk , yk )k = 0, 1, . . . , M (99)

17.2 Método de Heun


También conocido como método de Euler mejorado el método de Heun se basa en el siguiente esquema

y0 (t) = f (t, y(t)); en [a, b]; y(0) = y0


Z t1 Z t1
f (t, y(t))dt = y0 dt = y(t0 ) − y(t1 )
t0 t0 (100)
Z t1
y(t1 ) = y(t0 ) + f (t, y(t))dt
t0

Para resolver le lado derecho de la ecuación que consta de una integral se usara la regla del trapecio con incremento h = (t1 − t0 ) obteniendo

h
y(t1 ) = y(t0 ) + ( f (t0 , y(t0 )) + f (t1 , y(t1 ))))
2
Sin embargo para poder realizar esta operación se necesitará del valor de y1 el cual es exactamente el que deseamos encontrar, par resolver
este problema se encontrará un valor aproximado de este por medio del método de Euler el cual es ta definido en ( 99 )obteniendo finalmente
la fórmula
h
yk+1 = yk + ( f (tk , y(tk )) + yk + h f (tk , yk )) (101)
2
El cual es el esquema iterativo para ası́ poder encontrar los valores próximos de la función solución

17.3 Método de Taylor


El método de Taylor se basa en el desarrollo de la serie de Taylor donde una función se puede expresar de la forma

N
y( j) (tk ) j−1
y(tk + h) = y)tk ) + h ∑ h (102)
j=1 j!
Curso de métodos numéricos — 48/145

Donde por la regla de la cadena se puede encontrar

f 0 (t) = f
f 00 (t) = ft + fy f
f (3) = ftt + 2 fty f + fyy f 2 + fy ( ft + fy f )
(103)
f (4) = ( fttt + 3 ftty f ) + 3 ftyy f 2 + fyyy f 3 ) + fy ( ftt + 2 fty f + fyy f 2 ) + 3( ft + fy f )( fty + fyy f )) + fy2 ( ft + fy f )
!!!!
0 f 00 (yk ) f (3) (yk ) f (4) (yk )
yk+1 = yk + h f (yk ) + h +h +h
2 6 24

Hallando ası́ el siguiente punto de la función solución a la ecuación diferencial, al realizar este proceso para todos los puntos desde hasta b
con un paso h se encontrará los puntos correspondientes a la imagen de la función solución

17.4 Método de Runge-Kutta


El método de Runge-Kutta se basa en respuesta a evitar la complejidad de realizar el cálculo de las derivadas de Taylor por ejemplo si se
utilizará el método de Taylor de orden 4 se necesitarı́a calcular hasta la cuarta derivada lo cual demanda de cálculo tanto humano como
computacional, se puede obtener una solución de orden O(hN ) que demandarı́a una complejidad muy alta en el método de Taylor sin calcular
las N-1 derivadas necesarias, el método de Runge-Kutta de grado 4 el cual es el más utilizado sigue la siguiente base

yk+1 = yk + w1 k1 + w2 k2 + w3 k3 + w4 k4

Donde los términos tk se definen como

k1 = h f (tk , yk )
k2 = h f (tk + a1 h, yk + b1 k1 )
(104)
k3 = h f (tk + a2 h, yk + b2 k1 + b3 k2 )
k4 = h f (tk + a3 h, yk + b4 k1 + b5 k2 + b6 k3 )

Con la resolución del sistema de ecuaciones que se logra al igualar los coeficientes con la serie de Taylor el método de Runge Kutta se basa
en el siguiente esquema

f 1 = f (tk , yk )
 
h h
f 2 = f tk + , yk + f1
2 2
 
h h
f 3 = f tk + , yk + f2 (105)
2 2
f 4 = f (tk + h, yk + h f3 )
h( f1 + 2 f2 + 2 f3 + f4 )
yk+1 = yk +
6

Hallando ası́ el siguiente punto de la función solución a la ecuación diferencial, al realizar este proceso para todos los puntos desde hasta b
con un paso h se encontrará los puntos correspondientes a la imagen de la función solución

18. Ejercicios
18.1 Método para el cálculo de raı́ces
Ejercicio 18.1
Demuestre a partir de la fórmula de Newton la fórmula de recursión
2P + A/Pk2 − 1
Pk = k−1 ; k = 1, 2, . . .
3
3
f (x) = x − A
Solución
Curso de métodos numéricos — 49/145

f 0 (x) = 3x2
(Pk−1 )3 − A
Pk = Pk−1 −
3(Pk−1 )2
3 − P3 − A
3Pk−1 k−1
=
3(Pk−1 )2
3 −A
2Pk−1
=
3(Pk−1 )2
(Pk−1 )2 (2Pk−1 − A/(Pk−1 )2 )
=
3(Pk−1 )2
(2Pk−1 − A/(Pk−1 )2 )
=
3
Ejercicio 18.2
Pruebe que
P f (Pk ) − Pk f (Pk−1 )
Pk+1 = k−1
f (Pk ) − f (Pk−1 )
Es algebraicamente equivalente al método de la secante
Solución

Pk−1 f (Pk ) − Pk f (Pk−1 )


Pk+1 =
f (Pk ) − f (Pk−1 )
P ( f (Pk ) − f (Pk−1 )) − Pk ( f (Pk ) − f (Pk−1 ))Pk−1 f (Pk ) − Pk f (Pk−1 )
= k
f (Pk ) − f (Pk−1 )
Pk−1 f (Pk ) − Pk f (Pk−1 ) + Pk f (Pk−1 ) − Pk f (Pk )
= Pk +
f (Pk ) − f (Pk−1 )
f (Pk )(Pk − Pk−1 )
= Pk −
f (Pk ) − f (Pk−1 )
Ejercicio 18.3
Sea [a0 , b0 ][a1 , b1 ][a2 , b2 ], . . . , [an , bn ] intervalos que se generan en el método de la bisección probar que
|b0 − a0 |
bn − an =
2
Solución

|b0 − a0 |
|b1 − a1 | =
2
|b1 − a1 | |b0 − a0 |
|b2 − a2 | = =
2 22
|b2 − a2 | |b0 − a0 |
|b3 − a3 | = =
2 23
..
.
|bn−1 − an−1 | |b0 − a0 |
|bn − an | = =
2 2n
Ejercicio 18.4
an + bn
Sea Cn = el punto medio en cada intervalo pruebe que
2
lim an = lim bn = lim cn
n→∞ n→∞ n→∞
Solución

b0 − a0
lim bn − an = lim ≈0
n→∞ n→∞ 2n
lim an = lim bn
n→∞ n→∞
an bn
lim cn = lim + lim
n→∞ n→∞ 2 n→∞ 2
1
lim cn = lim 2an
n→∞ 2 n→∞
lim cn = lim an = lim bn
n→∞ n→∞ n→∞
Curso de métodos numéricos — 50/145

Ejercicio 18.5
Realice la demostración geométrica para el cálculo de reı́ces por el método de Newton
Solución

Consiste en tomar un punto inicial y evaluar su recta tangente y el cruce de esta or el eje de las x obteniendo un nuevo punto en el cuál
se repetirá el mismo proceso hasta encontrar la raı́z deseada.

Figure 52. Existencia de Raı́ces

Una vez escogido el punto x0 y su imagen f (x0 ) se define el punto x1 ,0 el cual será el punto de corte de la recta tangente a la curva en el
punto (x0 , f (x0 )) con estos dos puntos se puede encontrar la pendiente de la forma:

0 − f (x0 )
m= (106)
x1 − x0
Al mismo tiempo sabemos que
m = f 0 (x0 ) (107)
Tomando (1) y (2) podemos se obtiene
0 − f (x0 )
f 0 (x0 ) =
x1 − x0
Y despejando x1 tendremos
f (x0 )
x1 = x0 − (108)
f 0 (x0 )
Ejercicio 18.6
Fórmula mejorada para la resolución de la ecuación de segundo grado. Supongamos que a 6= 0 y que b2 − 4ac > 0 y consideremos la
ecuación ax2 + bx + c = 0Sus raı́ces pueden hallarse mediante la conocida fórmula
√ √
−b + b2 − 4ac −b − b2 − 4ac
x1 = , x2 = (109)
2a 2a
Pruebe que estas raı́ces pueden calcularse ,mediante las fórmulas equivalentes
−2c −2c
x1 = √ , x2 = √ (110)
b + b2 − 4ac b − b2 − 4ac
Indicación racionalice el numerador de (109)
Solución

−b + b2 − 4ac
x1 =
2a
√ √
−b + b2 − 4ac −b − b2 − 4ac
= . √
2a −b − b2 − 4ac
b2 − b2 + 4ac
= √
2a(−b − b2 − 4ac)
−2c
= √
b + b2 − 4ac
Curso de métodos numéricos — 51/145


−b − b2 − 4ac
x2 =
2a
√ √
−b − b2 − 4ac −b + b2 − 4ac
= . √
2a −b + b2 − 4ac
b2 − b2 + 4ac
= √
2a(b − b2 − 4ac)
−2c
= √
b − b2 − 4ac

Observación Cuando |b| ≈ b2 − 4ac hay que proceder on cuiddo para evitar la pérdida de precisión por cancelación. Si b > 0, entonces
para evitar la pérdida de precisión por cancelación. Si b > 0, entonces x1 deberı́a ser evaluado con la fórmula (110) y x2 deberı́a ser calculado
con la fórmula (109);mientras que si Sib < 0 , entonces x1 deberı́a ser calculado usadno (109) y x2 deberı́a ser calculado usando (110)

Ejercicio 18.7
Use la fórmula adecuada para calcular x1 y x2 ,tal como se explica en el ejecicio 1, para hallar las raı́ces de las siguientes ecuaciones de
segundo grado.
a )x2 − 1000, 001x + 1 = 0
b )x2 − 10000, 0001x + 1 = 0
c )x2 − 100000, 00001x + 1 = 0
d )x2 − 1000000, 000001x + 1 = 0
Solución
a)
p
−(−1000.001) + (−1000.001)2 − 4(1)(1)
x1 =
2(1)
= 1000
−2(1)
x2 = p
−1000.001 − (−1000.001)2 − 4(1)(1)
x2 = 0.001
b)
p
−(−10000.0001) + (−10000.0001)2 − 4(1)(1)
x1 =
2(1)
= 10000
−2(1)
x2 = p
−10000.0001 − (−10000.0001)2 − 4(1)(1)
= 0.0001
c)
p
−(−100000.00001) + (−100000.00001)2 − 4(1)(1)
x1 =
2(1)
= 100000
−2(1)
x2 = p
−100000.00001 − (−100000.00001)2 − 4(1)(1)
= 0.00001
d)
p
−(−1000000.000001) + (−1000000.000001)2 − 4(1)(1)
x1 =
2(1)
= 1000000
−2(1)
x2 = p
−1000000.000001 − (−1000000.000001)2 − 4(1)(1)
= 0.000001
Curso de métodos numéricos — 52/145

Ejercicio 18.8
Use los resultados de los ejercicios 1 y 2 para construir un algoritmo y un programa en MATLAB √ que calcule las raı́ces de una ecuación
cuadrática en todas las situaciones posibles, incluyendo los casos problemáticos cuando |b| ≈ b2 − 4ac
Solución

Figure 53. Codificación del programa

Figure 54. Resultados

Ejercicio 18.9
El perfil de un abrevadero de longitud L es un semicı́rculo de radio r (ver figura 55 ). Cuando esta lleno de agua hasta una distancia h del
borde superior, el volumen V de agua que contiene viene dado por
   
3 h 2 3 1/2
V = L 0.5πr arcsin − h(r − h )
r

Supuesto que L=10m, r=1m y V=12.4, determinar la profundidad del agua que hay en el abrevadero con una precision de 10−8

Figure 55. Esquema de un abrevadero

Solución
Para encontrar la profundidad del agua debemos conocer la altura h que existe para el volumen dado, por lo que reemplazamos los datos
dados en la ecuación que nos plantearemos a utilizar en Newton.
   
h
V = 10 0.5π13 arcsin − h(12 − h3 )1/2 − 12.4
1
Usando el programa para calcular Newton podemos obtener la respuesta.
Curso de métodos numéricos — 53/145

Figure 56. Codificación Newton

Figure 57. Newton para el problema 4

Finalmente la diferencia entre el radio del abrevadero y la altura encontrada será la profundidad P del pozo

P = 1 − 0.1652 = 0.8349

Ejercicio 18.10
Una partı́cula parte del reposo y se desliza a lo largo de un plano inclinado cuyo ángulo de inclinación θ cambia con velocidad constante,

= w < 0.
dt
Despuésde t segundos, la posición de la partı́cula vienen dada por

e − e−wt
 wt 
g
x(t) = − sin wt .
2w2 2

Supongamos que la partı́cula ha recorrido 1.7m en 1s. Determinar, con una precisión de 10−12 , la velocidad w a la que θ cambia.Emplear
en valor de g = −9.8m/s2

Figure 58. Esquema dela partı́cula


Curso de métodos numéricos — 54/145

Solución
Para encontrar la velocidad w de la partı́cula al recorrer la distancia dada nos plantearemos la nueva ecuación y usaremos el programa de
Newton (ver figura 56) y encontraremos la raı́z
−9.8
= (sinh w − sin w) − 1.7
2w2

Figure 59. Newton para el problema 5

Ejercicio 18.11
L.L Vant-Hull(Solar Energy. 18.33 (1976)) dedujo la siguient ecuación de concentracion geométrica,C , en el estudio de la energı́a solar,

π(h/ cos A)2 )F


C=
0.5πD2 (1 + sin A − 0.5 cos A)
Suponiendo que h=290, C= 1100 ,F=0.7 y D=13, obtener el valor de A
Solución
Se plantea la ecuación nueva con los datos dados y se encuentra su raı́z.

π(290/ cos A)2 )0.7


C= − 1100
0.5π132 (1 + sin A − 0.5 cos A)
Usamos el programa de Newton (ver fifura 56) para obtener la raı́z de esta función y tendremos elvalor de A

Figure 60. Newton para el problema 6

Ejercicio 18.12

En el estudio de una reserva de gas natural Collier et al. (Soc. Petr-Engs., 21 , 5 (1981)) obtuvieron la siguiente ecuación que gobierna
la relación entre la presión del gas y el volumen de reserva,
 0.77295
y − 0.484696
x = y−1.5
0.515304
Curso de métodos numéricos — 55/145

Figure 61. Campo de energı́a solar

donde b=1.5k/(1+k),x es el volumen normalizado, y es la presión y k=1.06315 , todos los valores estan adimensionalizados.
Una reserva es útil hasta que la presión cae a un valor que hace que la producción sea antieconómica. Determinar el valor de y donde la
curva solución intersecta en la lı́nea de corte x=0.15

Figure 62. Planta de gas natural

Solución
Se plantea la ecuación nueva con los datos dados y se encuentra su raı́z.

y − 0.484696 0.772956
 
x = y−1.5 − 0.15
1 − 0.484696
Usamos el programa de Newton (ver fifura 56) para obtener la raı́z de esta función y tendremos el valor de y
Obteniendo y=26.9452

Figure 63. Newton para el problema 7

18.2 Matrices
Ejercicio 18.13
Sean A y B matrices invertibles de orden NxN y sea C=AB. Demuestre que C−1 =B−1 A−1 . Indicación.Use la propiedad asociativa del
producto de matrices.
Solución

C = AB
C−1C = (AB)−1 AB
I = (AB)−1 AB
IB−1 = (AB)−1 ABB−1
B−1 = (AB)−1 AI
B−1 = (AB)−1 A
B−1 A−1 = (AB)−1 AA−1
B−1 A−1 = (AB)−1 I
B−1 A−1 = (AB)−1
Curso de métodos numéricos — 56/145

Ejercicio 18.14
Demuestre las propiedades
IA = AI = A
c(AB) = (cA)B = A(cB)
Solución

A=A
IA = IA
IA = A
IAI = AI
IA = AI
IA = A
∴ IA = AI = A
c(AB) :
N N N
(c(a)mn (b)np )i j = ∑ caik bk j = ∑ (caik )bk j = ∑ aik (cbk j )
k=1 k=1 k=1
∴ c(AB) = (cA)B = A(cB)

Ejercicio 18.15
Sea A una matriz de orden MxN y X una matriz de orden Nx1
• ¿Cuántas multiplicaciones hacen falta para calcular AX?
• ¿Cuántas sumas hacen fanta para calcular AX?
Solución
Siendo las matrices
  
a11 a12 a13 ... a1n x11
 a21 a22
 a23 ... a2n  x21 
 
 a31 a32
 a33 ... a3n 
 x31 
 
 . .. .. .. ..   .. 
 .. . . . .  . 
am1 am2 am3 ... amn xn1

Por cada fila realizaremos N multiplicaciones y al tener M filas tendremos MxN multiplicaciones ya que P=1, de lo contrario tendrı́amos
MxNxP multiplicaciones.
Dado que la fórmula de cada término es
N
axmp = ∑ amk xkp ; p = 1
k=1
N
axm1 = ∑ amk xk1
k=1

Teniendo esta sumatoria para cada elemento se tendrá N-1 sumas y al tener M filas en A y P columnas de X tendremos M(N-1)P sumas;
teniendo una sola columna en X la cantidad de sumatorias será M(N-1)1=M(N-1) sumas.
Curso de métodos numéricos — 57/145

Ejercicio 18.16
Sea A una matriz de orden MxN y sean B y C dos matrices de orden NxP. Pruebe la propiedad distributiva de la multiplicación matricial por
la izquierda A(B+C)=AB+AC
Solución

(b + c)i j = bi j + ci j
N
(a(b + c)i j = ∑ aik (b + c)k j
k=1
N
A(B +C) = ∑ a(b + c)i j
k=1
N
abi j = ∑ aik bk j
k=1
N
aci j = ∑ aik ck j
k=1
N N
(ab + ac)i j = ∑ aik bk j + ∑ aik ck j
k=1 k=1
N
= ∑ (aik bk j + aik ck j )
k=1
N
= ∑ aik (bik + ck j )
k=1
N
= ∑ aik (b + c)k j
k=1
N
AB + AC = ∑ a(b + c)i j
k=1
∴ A(B +C) = AB + AC

Ejercicio 18.17
Sea A una matriz de orden MxN y sean B y C dos matrices de orden NxP. Pruebe la propiedad distributiva de la multiplicación matricial por
la derecha (A+B)C=AC+BC
Curso de métodos numéricos — 58/145

Solución
(a + b)i j = ai j + bi j
N
((a + b)c)i j = ∑ (a + b)ik ck j
k=1
N
(A + B)C = ∑ (a + b)ci j
k=1
N
aci j = ∑ aik ck j
k=1
N
bci j = ∑ bik ck j
k=1
N N
(ac + bc)i j = ∑ aik ck j + ∑ bik ck j
k=1 k=1
N
= ∑ (aik ck j + bik ck j )
k=1
N
= ∑ (aik + bik ck j )
k=1
N
= ∑ (a + b)ik ck j
k=1
N
AC + BC = ∑ (a + b)ci j
k=1
∴ AC + BC = (A + B)C

Ejercicio 18.18
Calcule XX’ y X’X, donde X=[1 -1 2]. Nota X’ es el transpuesto del vector X
Solución
X = [1 −1 2]
 
1
X 0 = −1
2

1
0
XX = [1 −1 2] −1
2
= [(1)(1) (−1)(−1) (2)(2)]
= [6]
 
1
X 0 X = −1 [1 −1 2]
2
 
(1)(1) (1)(−1) (1)(2)
= (−1)(1) (−1)(−1) (−1)(2)
(2)(1) (2)(−1) (2)(2)
 
1 −1 2
= −1 1 −2
2 −2 4
Curso de métodos numéricos — 59/145

Ejercicio 18.19
Sea una matriz de orden MxN y sea B una matriz de orden NxP.Pruebe que (AB)’=B’A’.Indicación.Siendo C=AB pruebe, usando la definición
del producto de matrices, que el elemento (i,j) de C’ es igual al elemento(i,j) de B’A’
Solución

C = AB
N
abi j = ∑ aik bk j
k=1
N
(ab)0i j = ∑ ak j bik
k=1
N
= ∑ bik ak j
k=1
A0 = ANxM
B0 = BPxN
N
(b0 a0 )i j = ∑ bik ak j
k=1
(ab)0i j 0 0
= (b a )i j
∴ C = (AB)0 = B0 A0
0

Ejercicio 18.20
Use el resultado del ejercicio anterior y la propiedad asociativa del producto de matrices para probarque (ABC)’=C’B’A’ Solución

(ABC)0 = C0 B0 A0
(A(BC))0 = C0 B0 A0
(BC)0 A0 = C0 B0 A0
C0 B0 A0 = C0 B0 A0

18.3 Resolución de sistemas de ecuaciones


Ejercicio 18.21
Encontrar la solución al siguiente sistema de ecuacions por medio de Gauss

 3x + 5y − 4z = 10
S 6 − 2y + z = 3
z=8

Solución
Podemos obtener la matriz gracias a (??) obteniendo.
    
3 5 −4 x1 10
0 −2 1  x2  =  3 
0 0 1 x3 8
Donde la solción final será
  
x1 59/6
x = x2   5/2 
x3 8
Ejercicio 18.22
Realizar la factorización LU de la matriz

 
4 3 −1
−2 −4 5
1 2 6
Solución
     
4 3 −1 4 3 −1 4 3 −1
−2 −4 5  ∼ F2 + 1/2F1 0 −5/2 9/2  ∼ 0 −5/2 9/2 
1 2 6 F3 − 1/4F1 0 5/4 25/4 F3 + 1/2F2 0 0 17/2
Curso de métodos numéricos — 60/145

   
1 0 0 4 3 −1
L = −1/2 1 0 ; U = 0 −5/2 9/2 
1/4 −1/2 1 0 0 17/2

Ejercicio 18.23
Realizar la descomposición en valores singulares de la matriz,ası́ como la matriz pseudoinversa
 
1 1 0
A=
0 1 1

Solución
   
1 0   1 1 0
1 1 0
AT A = 1 0 = 1 1 0
0 1 1
0 1 0 0 1

1 − λ 1 0
T
A A − λ I = 1 1−λ 0 = 0

0 0 1−λ

T
A A − λ I = λ (1 − λ )(λ − 2) = 0

λ1 = 0; λ2 = 1; λ3 = 2;
Para λ = 0
   
1 1 0 1 1 0
1 1 0  ∼ 0 0 0
0 0 1 0 0 1
 
−1
V1 =  1 
0
 √ 
−1/√ 2
V1norm =  1/ 2 
0
Para λ = 1
 
0 1 0
1 0 0
0 0 0
 
0
V2 = 0
1
 
0
V2norm = 0
1
Para λ = 2
   
−1 1 0 −1 1 0
1 −1 0 ∼ 0 0 0
0 0 −1 0 0 −1
 
1
V3 = 1
0
 √ 
1/√2
V3norm = 1/ 2
0
Curso de métodos numéricos — 61/145

 √ √ 
1/√2 0 −1/√ 2
V = 1/ 2 0 1/ 2 
0 1 0
√ 
2 0 0
S = 0 1 0
0 0 0
 √ 
 −1/ 2
1 1 0  √ 
  
1 1
u1 = √ = 1/ 2 =
2 0 0 1 0
0
 
  0  
1 1 1 0   0
u2 = = 0 =
1 0 0 1 1
1
 
1 0
U=
0 1
 √ √  √   
1/√2 0 −1/√ 2 1/ 2 0   1/2 0
A∗−1 −1 T
= V S U = 1/ 2 0 1/ 2   0 1  1 0
= 1/2 0
0 1
0 1 0 0 0 0 1

Ejercicio 18.24
Considere el siguiente sistema lineal de ecuaciones

1 1


 x1 + x2 + x3 = 2

 2 3
1 1 1

x1 + x2 + x3 = 0
 2 3 4
 1 x1 + 1 x2 + 1 x3 = −1



3 4 5
Resolver el sistema utilizando el método de Gauss.
Solución

Figure 64. Resolución por el método de Gauss

Ejercicio 18.25
Resolver el sistema de forma exacta,es decir, analiticamente
Solución
Curso de métodos numéricos — 62/145

     
1 1/2 1/3 |2 1 1/2 1/3 |2 1 1/2 1/3 |2
1/2 1/3 1/4 |0  ∼ 0 1/12 1/12 | − 1  ∼ 0 1/12 1/12 |−1 
1/3 1/4 1/5 | − 1 0 1/12 4/45 | − 5/3 0 0 1/180 | − 2/3
x3 = −2/3 ∗ 180 = −120
120
x2 = (−1 + ) ∗ 12 = 108
12
120 108
x1 = 2 + − = −12
3 2

Ejercicio 18.26
Escribase una función en Matlab que calcule la factorización LU de una matriz A usando el algoritmo, La matriz L debe ser una matria
triangular inferior nXn, U una matriz nXn triangular superior y P una matriz de permutación de las mismas dimensiones de A tal que se
cumple L*U=P*A.
Compruebe dicha función aplicándola a una matriz aleatoria 5x5
Dado el sistema lineal de ecuaciones Ax=b donde la matriz es no singular, un método para resolver dicho sistema consiste en calcular la
factorización LU de una matriz A. Si para resolver el sistema utilizado en el apartado anterior entonces, podemos obtener la solución x
resolviendo los dos sistemas triangulares

Ly = Pb
Ux = y

Escribase una función en Matlab que calcule la solución del sistema de ecuaciones Ax=b mediante el procedimiento descrito.
Compruebese la función con una matriz aleatoria 6x6 y un vector columna de 6 también aleatorio.
Solución

Figure 65. Separación LU de una matriz aleatoria


Curso de métodos numéricos — 63/145

Figure 66. Solución del sistema 6x6 por factorización LU

Ejercicio 18.27
Sea A Rnxn una matriz no singular,la matriz inversa puede calcularse resolviendo el sistema matricial AX=I donde XεRnxn e I es la matriz
identidad nxn, escribase una función de Matlab que calcule la matriz inversa de A.
Solución

Figure 67. Función InversaLU


Curso de métodos numéricos — 64/145

Figure 68. Función InversaLU

Ejercicio 18.28
La matriz de Hilbert es un clásico ejemplo de una matriz mal condicionada, esta se defina de la siguiente manera:
 
1 1/2 1/3 ... 1/n
1/2
 1/3 1/4 . . . 1/(n + 1) 

 . . . .. ..
 .. .. ..

. . 
1/n 1/(n + 1) 1/(n + 2) . . . 1/(2n − 1)
Esta matriz puede ser fácilmente generada en Matlab, utilizando el comando hilb(n) donde n es el orden de la matriz. En el presente ejercicio
se pide:
Resolver el sistema Hx=b donde b es el vector Hx y x (1,1,...,1)’ con n=12. Este sistema se debe resolver por 3 métodos distintos.Uno de los
métodos debe utilizar el programa de resolución por método de Gauss.
Compare el error producido por los tres métodos
Interprete los resultados
Solución

Figure 69. Matriz de Hilbert A y matriz de coeficientes b

Se usará el método de Gauss, factorización LU y la descomposición en valores singulares y uso de la pseudoinversa obteniendo los siguientes
resultados
Curso de métodos numéricos — 65/145

Figure 70. algoritmo de descomosición en valores singulares

Figure 71. Comparación entre métodos

Se observa que existen cambios muy grandes entre los diferentes sistemas y esto se debe a que la condición de la matriz es mucho mayor
que 1 por lo que el sistema a resolver resulta ser muy inestable, por lo que pequeños cambios en el sistema ocasionarán grandes cambios en la
solución, esto se puede evidenciar no solo en la condición de la matriz sino también en el proceso de descomposición en valores singulares
donde se observa que los valores singulares de la matriz son muy pequeños.
Debido a esto podemos observar que la descomposición en valores singulares es el método mas óptimo al no tomar en cuenta los valores

Figure 72. Condición y valores singulares de la matriz A

singulares muy pequeños que causan la estabilidad en el sistema obteniendo una solución deseada.
Curso de métodos numéricos — 66/145

18.4 Métodos de interpolación


18.4.1 Interpolación de Lagrange
Ejercicio 18.29
Determine en los siguientes casos, el polinomio interpolador de Lagrange para aproximar la función f (x) = x3

a) El polinomio cuadrático P2 (x) para los nodos x0 = −1, x1 = 0, x2 = 1


b) El polinomio cúbico P3 (x) para los nodos x0 = −1, x1 = 0, x2 = 1yx3 = 2
Solución
Para el polinomio cuadrático tendremos la función
x y
-1 -1
0 0
1 1
(x − 0)(x − 1) (x + 1)(x − 1) (x − 0)(x + 1)
y(x) = −1 +0 +1 =x
(−1 − 0)(−1 − 1) (0 + 1)(0 − 1) (1 − 0)(1 + 1)
Para el polinomio cúbico tendremos la función
x y
-1 -1
0 0
1 1
2 8
(x − 0)(x − 1)(x − 2) (x + 1)(x − 1)(x − 2) (x − 0)(x + 1)(x − 2) (x − 0)(x − 1)(x + 1)
y(x) = −1 +0 +1 +8 = x3
(−1 − 0)(−1 − 1)(−1 − 2) (0 + 1)(0 − 1)(0 − 2) (1 − 0)(1 + 1)(1 − 2) (2 − 0)(2 − 1)(2 + 1)

Ejercicio 18.30
Modi?car el código dado para que realice el gráfico de los nodos (puntos) y el polinomio interpolador Solución

Ejercicio 18.31
Cree su propio código.
Solución

Figure 73. Código de interpolación de Lagrange


Curso de métodos numéricos — 67/145

Ejercicio 18.32
En el cuadro siguiente se muestran temperaturas que fueron medidas cada hora, durante un lapso total de 5 horas.
H T
13 18
14 18
15 17
16 16
17 15
18 14
Solución

(x − 14)(x − 15)(x − 16)(x − 17)(x − 18) (x − 13)(x − 15)(x − 16)(x − 17)(x − 18)
y(x) =18 + 18 +
(13 − 14)(13 − 15)(13 − 16)(13 − 17)(13 − 18) (14 − 13)(14 − 15)(14 − 16)(14 − 17)(14 − 18)
(x − 13)(x − 14)(x − 16)(x − 17)(x − 18) (x − 13)(x − 14)(x − 15)(x − 17)(x − 18)
+ 17 + 16 +
(15 − 13)(15 − 14)(15 − 16)(15 − 17)(15 − 18) (16 − 13)(16 − 14)(16 − 15)(16 − 17)(16 − 18)
(x − 13)(x − 14)(x − 15)(x − 16)(x − 18) (x − 13)(x − 14)(x − 15)(x − 16)(x − 17)
+ 15 + 14
(17 − 13)(17 − 14)(17 − 15)(17 − 16)(17 − 18) (18 − 13)(18 − 14)(18 − 15)(18 − 16)(18 − 17)
x5 2x4 511x3 1018x2 26977x
= + + − + − 8536
120 3 24 3 10
Estimar la temperatura media dentro del lapso de las 5 horas dado
y(15.5)=16.4883
Dibuje los datos del cuadro y el polinomio interpolador encontrado, en el mismo gráfico. Discuta el error que puede aparecer al usar dicho
polinomio para estimar la temperatura media.

Figure 74. Temperaturas tomadas en 5 horas

Se puede observar que ambas gráficas son muy parecidas, sin embargo la temperatura dentro de la tabla tiene un incremento lineal por
lo que la gráfica sera una recta, sin embargo la gráfica del polinomio interpolador es una curva de grado 5, por lo que en su valor medio
puede ser diferente variando de 16.5 a 16.4883 la cual aun si es pequeña puede ser significante.
Curso de métodos numéricos — 68/145

Ejercicio 18.33
Calcular el polinomio interpolador de los siguientes puntos
x y
-4 16
-2 4
0 0
2 4
4 16
Solución
     
(x − 0)(x − 2)(x − 4)(x + 2) (x − 0)(x − 2)(x − 4)(x + 4) (x − 4)(x − 2)(x + 4)(x + 2)
PN (x) = 16 +4 +0 +
(−4 − 0)(−4 − 2)(−4 − 4)(−4 + 2) (−2 − 0)(−2 − 2)(−2 − 4)(−2 + 4) (0 − 4)(0 − 2)(0 + 4)(0 + 2)
   
(x − 4)(x − 0)(x + 4)(x + 2) (x − 2)(x − 0)(x + 4)(x + 2)
+4 + 16
(2 − 4)(2 − 0)(2 + 4)(2 + 2) (4 − 2)(4 − 0)(4 + 4)(4 + 2)
= x2

18.4.2 Interpolación de Newton


Ejercicio 18.34
En base alas funciones y datos que se muestran en el siguiente cuadro,realizar
a) Calcular la tabla de diferencias divididas para las funciones dadas
b) Escribir los polinomios interpoladores de Newton P1 , P2 , P3 , P4
c) Calcular los valores de los polinomios hallados, en el apartado anterior, para los valores x dados.
d) Compare los valores obtenidos, con los valores exactos.
f (x) = x1/2
x = 4.75; 7.5
k xk f (xk )
0 4 2
1 5 2.23
2 6 2.44
3 7 2.64
4 8 2.82
f (x) = 3(sin(πx/6))2
x = 1.5; 3.5
k xk f (xk )
0 0 0
1 1 0.75
2 2 2.25
3 3 3.00
4 4 2.25
Solución
f (x) = x1/2
k xk yk f [xk ] f [xk−1 , xk ] f [xk−2 , xk−1 , xk ] f [xk−3 , xk−2 , xk−1 , xk ] f [xk−4 , xk−3 , xk−2 , xk−1 , xk ]
0 4 2 2
1 5 2.23 2.23 0.23
2 6 2.44 2.44 0.21 -0.01
3 7 2.64 2.64 0.2 -0.0050 0.0017
4 8 2.82 2.82 0.18 -0.01 -0.017 -0.0008
P1 (x) = 2 + 0.23(x − 4)
P2 (x) = 2 + 0.23(x − 4) − 0.01(x − 4)(x − 5)
P3 (x) = 2 + 0.23(x − 4) − 0.01(x − 4)(x − 5) + 0.0017(x − 4)(x − 5)(x − 6)
P4 (x) = 2 + 0.23(x − 4) − 0.01(x − 4)(x − 5) + 0.0017(x − 4)(x − 5)(x − 6) − 0.0008(x − 4)(x − 5)(x − 6)(x − 7)
Valor exacto Interpolacion
P1 (4.75) 2.17945 2.1725
P2 (4.75) 2.17945 2.1744
P3 (4.75) 2.17945 2.1748
P4 (4.75) 2.17945 2.1752
Curso de métodos numéricos — 69/145

Valor exacto Interpolacion


P1 (7.5) 2.79285 2.8050
P2 (7.5) 2.79285 2.7175
P3 (7.5) 2.79285 2.7398
P4 (7.5) 2.79285 2.7346
Los valores del polinomio interpolador se acercan cada vez más mientras siga aumentando su grado debido a un mayor número de datos que
se analizan, al valor real cada vez más, siempre y cuando se encuentre dentro del intervalo de los puntos analizados.

f (x) = 3(sin(πx/6))2
k xk yk f [xk ] f [xk−1 , xk ] f [xk−2 , xk−1 , xk ] f [xk−3 , xk−2 , xk−1 , xk ] f [xk−4 , xk−3 , xk−2 , xk−1 , xk ]
0 0 0 0
1 1 0.75 0.75 0.75
2 2 2.25 2.25 1.5 0.375
3 3 3 3 0.75 -0.375 -0.25
4 4 2.25 2.25 -0.75 -0.75 -0.125 0.0313
P1 (x) = 0 + 0.75(x − 0)
P2 (x) = 0 + 0.75(x − 0) + 0.375(x − 0)(x − 1)
P3 (x) = 0 + 0.75(x − 0) + 0.375(x − 0)(x − 1) − 0.25(x − 0)(x − 1)(x − 2)
P4 (x) = 0 + 0.75(x − 0) + 0.375(x − 0)(x − 1) − 0.25(x − 0)(x − 1)(x − 2) + 0.0313(x − 0)(x − 1)(x − 2)(x − 3)
Valor exacto Interpolación
P1 (1.5) 1.5 1.1250
P2 (1.5) 1.5 1.4063
P3 (1.5) 1.5 1.5000
P4 (1.5) 1.5 1.5176
Valor exacto Interpolacion
P1 (3.5) 2.7999 2.6250
P2 (3.5) 2.7999 5.9063
P3 (3.5) 2.7999 2.6250
P4 (3.5) 2.7999 2.8304
Los valores del polinomio interpolador se acercan cada vez más mientras siga aumentando su grado debido a un mayor número de datos
que se analizan, sin embargo al ser una función trigonométrica podemos observar que uno de los polinomios no cumple con el valor exacto
debido a la inestabilidad de la función lo que se corrige en los siguientes polinomios.

Ejercicio 18.35
Considere M + 1 puntos (x0 , y0 ), ..., (xM , yM ).
a) Pruebe que si las (N + 1)-ésimas diferencias divididas son cero, entonces todas las siguientes hasta la M-ésima son también cero.
b) Pruebe que si las (N + 1)-ésimas diferencias divididas son cero, entonces existe un polinomio PN (x) de grado N tal que
PN (xk ) = yk para k =0 ,1,...,M.
Solución
xk yk f [xk ] f [xk−1 , xk ] ... f [xk−n+1 , . . . , xk ] f [xk−n+2 , . . . , xk ] ... f [xk−m , . . . , xk ]
x0 y0 f [x0 ]
x1 y1 f [x1 ] f [x0 , x1 ]
.. .. .. .. ..
. . . . .
..
xn yn f [xn ] f [xn−1 , xn ] . f [x0 , . . . , xn ]
..
xn+1 yn+1 f [xn+1 ] f [xn , xn+1 ] . f [x1 , . . . , xn+1 ] 0 ...
.. .. .. .. .. ..
. . . . . . 0 0
..
xm ym f [xm ] f [xm−1 , xm ] . f [xm−n , . . . , xm ] 0 0 0
PN = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + · · · + an (x − x0 )(x − x1 ) . . . (x − xn )
Siendo el orden del polinomio interpolador N como máximo.
Curso de métodos numéricos — 70/145

Ejercicio 18.36
En el código dado, sección anterior, la matriz D se emplea para almacenar la tabla de diferencias divididas:
Compruebe 4 que la siguiente modificación, del código dado, es una forma equivalente de calcular el polinomio interpolador de Newton.

Solución
El código modificado es efectivamente una forma equivalente de calcular las diferencias divididas ya que toma los valores de xk y yk y las
utiliza para poder calcular los coeficientes ak del polinomio y almacenarlos en un vector.

Ejercicio 18.37
Determine el polinomio interpolador de Newton para la tabla
x y
0 10
1 4
2 -3
3 5
4 1
5 -2
Solución
Determinando la tabla de diferencias divididas se tiene
x y f [xk ] f [xk−1 , xk ] f [xk−2 , . . . , xk ] f [xk−3 , . . . , xk ] f [xk−4 , . . . , xk ] f [xk−5 , . . . , xk ]
0 10 10
1 4 4 -6
2 -3 -3 -7 -0.5
3 5 5 8 7.5 8/3
4 1 1 -4 -6 -4.5 -43/24
5 -2 -2 -3 0.5 13/6 5/3 83/120
PN (x) = 10 − 6(x − 0) − 0.5(x − 0)(x − 1) + 8/3(x − 0)(x − 1)(x − 2) − 43/24(x − 0)(x − 1)(x − 2)(x − 3)+
+ 83/120(x − 0)(x − 1)(x − 2)(x − 3)(x − 4)
83 5 209 4 361 3 1507 2 1631
= x − x + x − x + x + 10
126 24 8 24 60

18.4.3 Interpolación de Spline


Ejercicio 18.38
Se desea modelar la cubierta de un edificio simétrico describiendo el perfil de su sección con un spline de grado 2 (ver figura 75 ). Los datos
de los que se dispone son las alturas del edificio en varios puntos, según se indica en la tabla
x 0 1 2
Altura y0 y1 y2
Curso de métodos numéricos — 71/145

Figure 75. perfil de un edificio

Solución
Se tendrá la curva S definida como

S1 (x) = a1 x2 + a2 x + a3 ;

0<x<1
S(x) =
S2 (x) = b1 x2 + b2 x + b3 ; 1<x<2

Con las siguientes condiciones




 a1 + a2 + a3 = y1
b1 + b2 + b3 = y1




a3 = y0

S(x) =

 4b1 + 2b2 + b3 = y2
2a 1 + a2 = 2b1 + b2




2a1 + a2 = 0

Solucionando el sistema se encuentra que




 a1 = y1 − y0
a 2=0




a3 = y0

S(x) =

 b1 = (−2y0 + 4y1 − y2 )/3
b = (−2y0 − y1 + y2 )/3

 2



b3 = 4y0 /3
Obteniendo la curva

S1 (x) = (y1 − y0 )x2 + y0 ;



0<x<1
S(x) =
S2 (x) = (−2y0 + 4y1 − y2 )x2 /3 + (−2y0 − y1 + y2 )x/3 + 4y0 /3; 1<x<2

Ejercicio 18.39
Construir un programa para la interpolación spline de grado 2.
Solución
Para utilizar una interpolación de Spline se deberá dividir al los datos obtenido en grupos de 3 para poder trazar una curva suave entre ellos y
concatenar todas estas para lograr una interpolación.
Para que una curva entre tres puntos sea suave debe de cumplir de cumplir las siguientes condiciones para las siguientes dos curvas.

S1 (x) = a1 x2 + a2 x + a3 ;

x0 < x < x1
S
S2 (x) = b1 x2 + b2 x + b3 ; x1 < x < x2
• S1 (x1 ) = S2 (x1 )
• S1 (x1 ) = f (x1 )
• S1 (x0 ) = f (x0 )
• S2 (x2 ) = f (x2 )
• S10 (x1 ) = S20 (x1 )
• Si no se da como dato la derivada será cero S10 (x1 ) = 0
Curso de métodos numéricos — 72/145

Por lo que la curva de interpolación entre estos tres puntos sera la resolución del sistema de ecuaciones. por lo que tendremos el programa
que hará esto.

Figure 76. Programa de interpolación para tres puntos

El programa devolverá la derivada del punto x2 para poder utilizarlo en el siguiente grupo de puntos.Para poder utilizar esto en un grupo de
puntos utilizaremos otra función que controlará el proceso iterativo.

Figure 77. Programa de interpolación completa

Para poder utilizar una interpolación de Spline de grado dos necesitaremos un numero impar de datos para utiliazr todos asi que de ser
necesario podemos añadir un dato extra que aunque no sea real nos servira para poder realizar la interpolación ya que no se deberá tomar en
cuenta cualquier valor fuera del intervalo de interpolación.
Curso de métodos numéricos — 73/145

Ejercicio 18.40
Consultar y desarrollar una metodologı́a para las funciones spline cúbicas.
Solución
Podemos determinar una interpolación de Spline cúbica para n+1 puntos si tomamos grupos de dos puntos y los unimos mediante una curva
suave de grado 3 para esto tendremos que:

Si = ax3 + bx2 + cx + b; i = 1, 2, 3, . . . n (111)

Se puede observar que tenemos cuatro incógnitas a encontrar por lo que necesitaremos cuatro ecuaciones las cuales serán obtenidas de las
siguientes condiciones :
Para el intervalo [x0 , x1 ]

• Si (xi ) = f (xi )

• Si (xi+1 ) = f (xi+1 )

• Si0 (xk ) = Si0 (xk−1 ); k = 2, 3, . . . , n + 1; si k = 1 Si0 (xk ) = 0

• Si00 (xk ) = Si00 (xk−1 ); k = 2, 3, . . . , n + 1; si k = 1 Si00 (xk ) = 0

Concatenando estas curvas de Spline grado tres a lo largo de todos los datos dados, podemos construir una interpolación de spline cúbicos.

Ejercicio 18.41
Implementar un algoritmo para la interpolación spline cúbica.
Solución
Dada la explicación en el ejercicio anterior, se crea la función compcspline(x,y) que recibe los datos x e y, dos vectores de la misma
dimensión conteniendo los puntos dados y construye por partes las splines de grado cúbico, el programa utiliza la función cspline(x,y,d)
donde envia un dos vectores con dos puntos de x e y respectivamente y un vector con las derivadas de la curva Spline a construir, las cuales
serán cero para la primera curva y se calcularán de la curva para la siguiente interpolación.

Figure 78. Código para una interpolación de Spline cúbica entre dos puntos

Al poder realizar esta interpolación entre dos puntos se realizará la función compcspline(x,y) que recibirá los dos vectores con todos los
datos y enviará por grupos de dos la información a la función anterior, logrando realizar una interpolación cúbica de Spline.
Curso de métodos numéricos — 74/145

Figure 79. Código de interpolación completa de Spline cúbica

Ejercicio 18.42
Resolver:
a) Interpolar por splines de grado 1, 2 y 3 la función f(x)=1 x en tomando los puntos (0,1;10), (0,2;5), (0,5;2), (1;1), (2;0,5), (5;0,2) y
(10;0,1).
b) Interpolar por splines cúbicos la función f(x)= 1 x2+1 en el intervalo 0 ? x ? 1 tomando los seis puntos de las abcisas xk = k 5, k =0
,1,2,3,4,5.
Solución
x y
0.1 10
0.5 2
1 1
2 0.5
5 0.2
10 0.1
Para todos los casos tendremos 5 curvas interpoladoras que se calcularán a continuación.
Spline de grado 1
Curva S1
S1 (x) = ax + b
S1 (0.1) = a(0.1) + b = 10
S1 (0.5) = a(0.5) + b = 2
Resolviendo el sistema tendremos
S1 (x) = −20x + 12
Curva S2
S2 (x) = ax + b
S2 (0.5) = a(0.5) + b = 2
S2 (1) = a(1) + b = 1
Resolviendo el sistema tendremos
S2 (x) = −2x + 3
Curva S3
S3 (x) = ax + b
S3 (1) = a(1) + b = 1
S3 (2) = a(2) + b = 0.5
Resolviendo el sistema tendremos
S1 (x) = −0.5x + 1.5
Curva S4
S4 (x) = ax + b
S4 (2) = a(2) + b = 0.5
S4 (5) = a(5) + b = 0.2
Resolviendo el sistema tendremos
S4 (x) = −0.1x + 0.7
Curva S5
S5 (x) = ax + b
S5 (5) = a(5) + b = 0.2
S5 (10) = a(10) + b = 0.1
Curso de métodos numéricos — 75/145

Resolviendo el sistema tendremos


S5 (x) = −0.02x + 1.3
Spline de grado 2
Curva S1
S1 (x) = ax2 + bx + c
S1 (0.1) = a(0.1)2 + b(0.1) + c = 10
S1 (0.5) = a(0.5)2 + b(0.5) + c = 2
S10 (0.1) = 2(0.1) + b = 0
Resolviendo el sistema tendremos
S1 (x) = −50x2 + 10x + 9.5
Curva S2
S2 (x) = ax2 + bx + c
S2 (0.5) = a(0.5)2 + b(0.5) + c = 2
S2 (1) = a(1)2 + b(1) + c = 1
S20 (0.5) = 2(0.5) + b = −40
Resolviendo el sistema tendremos
S2 (x) = 76x2 − 116x + 41
Curva S3
S3 (x) = ax2 + bx + c
S3 (1) = a(1)2 + b(1) + c = 1
S3 (2) = a(2)2 + b(2) + c = 0.5
S30 (1) = 2(1) + b = 36
Resolviendo el sistema tendremos
S3 (x) = −36.5x2 + 109x − 71.5
Curva S4
S4 (x) = ax2 + bx + c
S4 (2) = a(2)2 + b(2) + c = 0.5
S4 (5) = a(5)2 + b(5) + c = 0.2
S40 (2) = 2(2) + b = −37
Resolviendo el sistema tendremos
S4 (x) = 12.3x2 − 86.2x + 123.7
Curva S5
S5 (x) = ax2 + bx + c
S5 (5) = a(5)2 + b(5) + c = 0.2
S5 (10) = a(10)2 + b(10) + c = 0.1
S50 (5) = 2(5) + b = 36.8
Resolviendo el sistema tendremos
S5 (x) = −7.364x2 + 110.44x + 367.9
Spline de grado 3
Curva S1
S1 (x) = ax3 + bx2 + cx + d
S1 (0.1) = a(0.1)3 + b(0.1)2 + c(0.1) + d = 10
S1 (0.5) = a(0.5)3 + b(0.5)2 + c(0.5) + d = 2
S10 (0.1) = 3a(0.1)2 + 2b(0.1) + c = 0
S100 (0.1) = 6a(0.1)2 + 2 = 0
Resolviendo el sistema tendremos
S1 (x) = −125x3 + 32.5x2 − 3.75x + 10.125
Curva S2
S2 (x) = ax3 + bx2 + cx + d
S2 (0.5) = a(0.5)3 + b(0.5)2 + c(0.5) + d = 2
S2 (1) = a(1)3 + b(1)2 + c(1) + d = 1
S20 (0.5) = 3a(0.5)2 + 2b(0.5) + c = −60
S200 (0.5) = 6a(0.5)2 + 2b = −300
Resolviendo el sistema tendremos
S2 (x) = 532x3 − 948x2 + 489x − 72
Curva S3
S3 (x) = ax3 + bx2 + cx + d
S3 (1) = a(1)3 + b(1)2 + c(1) + d = 1
S3 (2) = a(2)3 + b(2)2 + c(2) + d = 0.5
S30 (1) = 3a(1)2 + 2b(1) + c = 189
Curso de métodos numéricos — 76/145

S100 (1) = 6a(1)2 + 2b = 1296


Resolviendo el sistema tendremos
S3 (x) = −837.5x3 + 3160.5x2 − 3619.5x + 1297.5
Curva S4
S4 (x) = ax3 + bx2 + cx + d
S4 (2) = a(2)3 + b(2)2 + c(2) + d = 0.5
S4 (5) = a(5)3 + b(5)2 + c(5) + d = 0.2
S40 (2) = 3a(2)2 + 2b(2) + c =
S400 (2) = 6a(2)2 + 2b = −3729
Resolviendo el sistema tendremos
S4 (x) = 735.656x3 + 62784x2 + 15280x − 11288
Curva S5
S5 (x) = ax3 + bx2 + cx + d
S5 (5) = a(5)3 + b(5)2 + c(5) + d = 0.2
S5 (10) = a(10)3 + b(10)2 + c(10) + d = 0.1
S50 (5) = 3a(5)2 + 2b(5) + c = 7648.2
S500 (5) = 3a(5)2 + 2b(5) + c = 9512.8
Resolviendo el sistema tendremos
S5 (x) = −1257.2x3 + 23615x2 − 134210x + 237820

Ejercicio 18.43
Se considera la función polinomial a trozos
 3
x ; x0 < x < x1
r(x)
0.5(x − 1)3 + a(x − 1)2 + b(x − 1) + c; x1 < x < x2

Determinar qué condiciones deben verificar los parámetros reales a, b y c para que dicha función sea un spline cúbico sobre τ = {0, 1, 3}
Solución
Siendo las dos curvas de r(x)
r1 (x) = x3 r2 (x) = 0.5(x − 1)3 + a(x − 1)2 + b(x − 1) + c Se tiene las siguientes relaciones que deben cumplirse en el punto de unión de las
curvas x=1:
r1 (1) = r2 (1)
13 = 0.5(1 − 1)3 + a(1 − 1)2 + b(1 − 1) + c
c=1
r10 (1) = r20 (1)
3(1)2 = 3 ∗ 0.5(1 − 1)2 + 2a(1 − 1) + b
b=3
r100 (1) = r200 (1)
3 ∗ 2 ∗ 1 = 3 ∗ 2 ∗ 0.5(1 − 1) + 2a
2a = 6
a=3
Por lo que la curva r(x) será
 3
x ; x0 < x < x1
r(x)
0.5(x − 1)3 + 3(x − 1)2 + 3(x − 1) + 1; x1 < x < x2
Curso de métodos numéricos — 77/145

18.5 Derivación e integración


Ejercicio 18.44
Escribir una función MATLAB df(x) que admita como entradas un vector de puntos x y los valores de una función f (x) y que calcule el valor
de la derivada primera en los puntos dados, utilizando la fórmula de diferencia adelantada.Para calcular el valor en el extremo superior
debe usarse la fórmula de diferencia retrasada
Solucion

Figure 80. funcion df para el calculo de la primera derivada

Ejercicio 18.45
Aplicar la fórmula de dos puntos adelantada al cálculo de la derivada primera de f (x) = sin(x) en x=2.13432. Comprobar que al ir
reduciendo h el error se reduce de manera aproximadamente lineal con h.
Solucion
Adelantada

f (x) = sin(x)
f 0 (2.13432) = cos(2.13432) = −0.53416
x = 2.13432
h=2
f (2.13432 + 2) − f (2.13432)
f 0 (x) = = −0.841449
2
h=1
f (2.13432 + 1) − f (2.13432)
f 0 (x) = = −0.838106
1
h = 0.5
f (2.13432 + 0.5) − f (2.13432)
f 0 (x) = = −0.719166
0.5
h = 0.2
f (2.13432 + 0.2) − f (2.13432)
f 0 (x) = = −0.614871
0.2
h = 0.1
f (2.13432 + 0.2) − f (2.13432)
f 0 (x) = = −0.575512
0.1

Ejercicio 18.46
Repetir el ejercicio anterior comparando la precision de la formula de diferencia adelantada con la retrasada. Aplicar también ambas
formulas al calculo de la derivada de la función g(x) = 1/(1 + ex) en x = 1/2.

Solucion
Curso de métodos numéricos — 78/145

Atrasada

f (x) = sin(x)
f 0 (2.13432) = cos(2.13432) = −0.53416
x = 2.13432
h=2
f (2.13432) − f (2.13432 − 2)
f 0 (x) = = −0.355731
2
h=1
f (2.13432) − f (2.13432) − 1
f 0 (x) = = −0.060869
1
h = 0.5
f (2.13432+) − f (2.13432) − 0.5
f 0 (x) = = −0.0.304251
0.5
h = 0.2
f (2.13432) − f (2.13432) − 0.2
f 0 (x) = = −0.446358
0.2
h = 0.1
f (2.13432) − f (2.13432) − 0.1
f 0 (x) = = −0.491645
0.1

1
b) g(x) = ; x = 1/2
1 + ex
Adelantada

1 1

0
g (x) = 1 + e x+h 1 + ex
h
Retrasada

1 1
x

g0 (x) = 1 + e 1 + ex−h
h
h Adelantada Retrasada
2 g’(x)=-0.50841 g’(x)=-0.220017
1 g’(x)=-0.195115 g’(x)=-0.244914
0.5 g’(x)=-0.217198 g’(x)=-0.249192
0.2 g’(x)=-0.228642 g’(x)=-0.240084
0.1 g’(x)=-0.231971 g’(x)=-0.237717

Ejercicio 18.47
Supongamos que se conoce el valor de la derivada mediante la formula de diferencia adelantada para tres valores de h diferentes. ¿Es
posible estimar el valor del h optimo? ¿Es posible estimar el error que se comete en el cálculo en cada uno de los casos?. Aplicarlo al
cálculo de la derivada de la función f(x) = sin(x) en x = 0,6 usando h = 0,1, h = 0,01 y h = 0,0000000001.
Solucion
Mientras mas pequena sea el paso h mas exacta sera sin embargo esto se cumplira hasta que la diferencia represente un cambio entre f(x)y
f(x+h), de o contrario laderivada tenderia a dar el erroneo valor de cero.

f (x) = sin(x) ; x = 0.6


0
f (0.6) = cos(0.6) = 0.825356
sin(0.6 + h − sin(0.6)
f 0 (0.6) =
h
h f’(0.6)
0.1 0.795752
0.01 0.822499
0.0000000001 0.8253
Curso de métodos numéricos — 79/145

|0.795752 − 0.825356|
Errh=0.1 = 100% = 3.59%
0.825356
|0.822499 − 0.825356|
Errh=0.01 = 100% = 0.34%
0.825356
|0.8253 − 0.825356|
Errh=0.0000000001 = 100% = 0.004377%
0.825356

Ejercicio 18.48
Calcular la derivada de la función f(x) = tan(x) en x = 3,14 usando h = 0,1 y h = 0,01. Comparar el resultado con el valor exacto. ¿Es buena
la aproximación ? ¿Por que?.
Solucion

f (x) = tan(x)
f 0 (x) = sec2 (x)
tan(3.14 + h) − tan(3.14)
f 0 (3.14) = 1 f 0 (x) =
h
h f’(x)
0.1 1.0319
0.01 1.00002

Es buena la aproximacion ya que al reducir la distancia h casi se obtiene en valor exacto de la derivada, sin embargo se debe de tener cuidado
al encontrar esta derivada ya que su imagen en 3.14 es casi cero por lo que esto podria generar problemas.

Ejercicio 18.49
Consulta: Calcular cotas para el error de truncacion que se comete al aproximar las derivadas de las funciones f(x) = 1/(1 + sin(x)) y g(x) =
ln(1 + 2x). Calcular las cotas teniendo en cuenta el error de redondeo y comprobar que los errores reales esta por debajo de lo permitido
por la cota.
Solucion
La cota para el error de la primera derivada en el metodo del trapecio es:

h3
R( f ) = − max f 00 (x)
12 xε[a,b]
1
f (x) =
1 + sin(x)
cos(x)
f 0 (x) = −
(1 + sin(x))2
2 cos(x)2 + 0.5sin(x)(sin(x) + 1)

f 00 (x) =
(sin(x) + 1)3
−6cos(x) cos(x)2 + 0.83333(sin(x) − 0.2)(sin(x) + 1

f 000 (x) =
(sin(x) + 1)4
max | f 00 (x)| = 1.5708
h3
R( f ) = − 1.5708
12

f (x) = log(1 + 2x)


2
f 0 (x) =
(2x + 1
−4
f 00 (x) =
(2x + 1)2
16
f 000 (x) =
(2x + 1)2
max | f 00 (x)| = −0.5
h3
R( f ) = − 0.5 =
12
h3
R( f ) = −
6
Curso de métodos numéricos — 80/145

Ejercicio 18.50
Construir una tabla de derivadas primeras de la función g(x) definida por la siguiente tabla en los puntos xi con la mayor precision posible
mediante formulas de tres puntos.

x g(x)
1.0 1.000000
1.2 0.997502
1.4 0.99002
1.8 0.960398
2.0 0.940678
Solucion

Adelantada
− f2 + 4 f1 − 3 f0
f 0 (x)
h
Retrasada
3 f0 − 4 f1 + f2
f 0 (x) =
2h
x g(x) g’(x) derivada utilizada
1.0 1.000000 -0.000085 Adelantada
1.2 0.997502 0.03598 Adelantada
1.4 0.990025 -0.339805 Adelantada
1.8 0.960398 -0.20351 Retrasada
2.0 0.940678 -0.073833 Retrasada

Ejercicio 18.51 √
Usando la formula de diferencia centrada calcular la derivada primera de la función f(x) = arctan(x) en el punto x = 2 (el valor correcto
es 1/3). Utilizar diferentes valores de h y estudiar los efectos de los errores de redondeo y de truncacion.
Solucion
√ √
f (x) = arctan(x); x = 2; f 0 ( 2) = 1/3
√ √ √
√ arctan( 2 + h) − 2arctan( 2) + arctan( 2 − h)
f 0 ( 2) =
h2
f 0 ( (2))
p
h
2 -0.288660
1 -0.339837
0.5 -0.322548
0.2 -0.315656
0.1 -0.314618
0.05 -0.314357
0.0001 -0.314267
Se puede observar que ninguna aproximación aunque llegue a estar cerca del valor real pueda llegar a este y se debe a que debido a la gran
cantidad de cifras decimales con las que esta función en particular trabaja, la computadora se ve obligada a recortar o truncar estos valores
que para el calculo de esta derivada representan detalles en la función y por eso se da el error producido, que no se elimina al disminuir el
paso h, sino que lo hace aumenta.r

Ejercicio 18.52
Deducir una formula de cinco puntos que utilice los valores de la función en los puntos x, x + h, x + 2h, x + 3h y x-h para calcular f’(x).
Solucion

h2 00 h3
f (x + h) = f (x) + f 0 (x)h + f (x) + f 000 (x) + O(h4 )
2 6
0 4h2 00 8h3 000
f (x + 2h) = f (x) + 2 f (x)h + f (x) + f (x) + O(h4 )
2 6
9h2 00 27h3 000
f (x + 3h) = f (x) + 3 f 0 (x)h + f (x) + f (x) + O(h4 )
2 6
h2 h3
f (x − h) = f (x) − f 0 (x)h + f 00 (x) − f 000 (x) + O(h4 )
2 6
Curso de métodos numéricos — 81/145

Resolviendo la primera y cuarta ecuacion y la segunda y tercera se tiene

18 f (x + h) − 18 f (x − h) = 36 f 0 (x)h + 6 f 000 (x)h3 + O(h4 )


9 f (x + 2h) − 4 f (x + 3h) = 5 f (x) + 6 f 0 (x)h − 6 f 000 (x)h3 + O(h4 )

Para obtener sumando


18 f (x + h) − 18 f (x − h) + 9 f (x + 2h) − 4 f (x + 3h) − 5 f (x) = 42 f 0 (x)h + O(h4 )
−4 f3 + 9 f2 + 18 f1 − 5 f0 − 18 f−1
f 0 (x) =
42h
Ejercicio 18.53
Se conocen los valores de la función de Bessel J0 (x) en los puntos J0 (0, 0) = 1,00000000, J0 (0, 1) = 0,99750156, J0 (0, 2) = 0,99002497,
J0 (0, 3) = 0,97762625, J0 (0, 4) = 0,96039823 y J0 (0, 5) = 0,93846981. Construir una tabla de derivadas en esos puntos con la mayor
precision posible usando las formulas de tres puntos mas apropiadas.
Solución

Adelantada
− f2 + 4 f1 − 3 f0
f 0 (x)
h
Retrasada
3 f0 − 4 f1 + f2
f 0 (x) =
2h

x Jo(x) f’(x) Derivada


0 1 0.000001 Adelantada
0.1 0.99750156 0.049936 Adelantada
0.2 0.99002497 0.099501 Adelantada
0.3 0.97762625 0.148318 Adelantada
0.4 0.96039823 -0.196427 Retrasada
0.5 0.93846981 -0.24278 Retrasada

Ejercicio 18.54
Calcular la derivada primera de la función f (x) = |x − 2|cos(x) en x = 2 usando las formulas de diferencias centradas y adelantadas.
Comparar los resultados.
Solucion

Adelantada
− f2 + 4 f1 − 3 f0
f 0 (x)
h
Centrada
f1 − f−1
f 0 (x) =
2h
h f’(x) (centrada) f’(x)(adelantada)
2 -0.826822 0.653644
1 -0.765147 -0.989992
0.5 -0.4335941 -0.801144
0.2 -0.160652 -0.588501
0.1 -0.090778 -0.504846
La derivada adelantada tiene mas estabilidad y tiende al valor real de la derivada, mientras que la centrada es inestable y no converge al
valor deseado, esto ademas de el orden de aproximación que tiene puede deberse a que esta centrada en un punto donde la imagen de esta
función real es cero.

Ejercicio 18.55
Considerese la función
(
0 − 1 < x < 4/5
f (x) = −x2
e 4/5 ≤ x < 1

Para calcular f’(4/5) ¿sera mejor usar una formula adelantada o una centrada?
Solucion
Curso de métodos numéricos — 82/145

Seria mucho mejor utilizar la formula adelantada para encontrar la derivada en este punto ya que si se utiliza ya formula centrada se tendran
imágenes un la primera función a la izquierda e igualmente imágenes de la segunda a la derecha por lo que el método no tendrá una buena
aproximación a la derivada, ademas en la función existe una discontinuidad de salto por lo que no es continua en ese punto
Ejercicio 18.56
Deducir las formulas centradas y adelantadas para la derivada tercera.
Solucion
Derivada Centrada

h2 00 h3
f (x + h) = f (x) + f 0 (x)h + f (x) + f 000 (x) + O(h4 )
2 6
0 4h2 00 8h3 000
f (x + 2h) = f (x) + 2 f (x)h + f (x) + f (x) + O(h4 )
2 6
h2 h3
f (x − h) = f (x) − f 0 (x)h + f 00 (x) − f 000 (x) + O(h4 )
2 6
4h 2 8h3 000
f (x − 2h) = f (x) − 2 f 0 (x)h + f 00 (x) − f (x) + O(h4 )
2 6
Sumando la primera ecuacion con la segunda y la tercera con la cuarta
h3 000
f (x + h) − f (x − h) = 2 f 0 (x)h + f (x) + O(h4 )
6
16h3 000
f (x + 2h) − f (x − 2h) = 4 f 0 (x)h + f (x) + O(h4 )
6
Resolviendo estas dos ultimas ecuaciones
7 f 000 (x)h3
2 f (x + h) − 2 f (x − h) − f (h + 2h) + f (x − 2h) = + O(h4 )
3
3( f2 − 2 f1 + 2 f−1 − f−2
f 000 (x) =
7h3
Derivada Adelantada:

h2 00 h3
f (x + h) = f (x) + f 0 (x)h + f (x) + f 000 (x) + O(h4 )
2 6
4h 2 8h3 000
f (x + 2h) = f (x) + 2 f 0 (x)h + f 00 (x) + f (x) + O(h4 )
2 6
9h2 00 27h3 000
f (x + 3h) = f (x) + 3 f 0 (x)h + f (x) + f (x) + O(h4 )
2 6
16h2 00 64h3 000
f (x + 4h) = f (x) + 4 f 0 (x)h + f (x) + f (x) + O(h4 )
2 6
Sumando la primera ecuación con la tercer y la segunda con la cuarta
f (x + 3h) − 3 f (x + h) = −8 f (x) − 6h f 0 (x) + 3h3 f 000 (x) + O(h4 )
f (x + 4h) − 4 f (x + 2h) = −3 f (x) − 4h f 0 (x) + 16h2 /3 f 000 (x) + O(h4 )
Resolviendo estas dos ultimas ecuaciones
7 f (x) − 6 f (x + h) + 12 f (x + 2h) + 2 f (x + 3h) − 3 f (x + 4h) = 10h3 f 000 (x) + O(h4 )
3 f4 − 2 f3 − 12 f2 + 6 f1 − 7 f0
f 000 (x) =
10h3
Ejercicio 18.57
Al calcular la derivada segunda de una función, ¿que formula tendra menor influencia del error de redondeo, la centrada de tres puntos o la
centrada de cinco puntos? Razonar la respuesta y comprobar la hipótesis con el empleo de la función f (x) = ex . Comparar los errores de
redondeo con los que aparecen al calcular f 0 (x). ¿Cuales son mayores?

Solucion
Al usar mas datos se obtendra mayor error en el redondeo ya que la propagaciondel error se dara en mas datos y se realizaran mas
operaciones .
ex+h − 2ex + ex−h
f 00 (x) =
h2
−e x+2h + 16ex+h − 30ex + 16ex−h + ex−2h
f 00 (x) =
12h2
Curso de métodos numéricos — 83/145

h f’(x) (3puntos) f’(x)(5 puntos)


2 1.3811 0.746051
1 1.08616 1.0104
0.5 1.02101 1.24454
0.2 1.00334 3.79298
0.1 1.00083 14.6455
Como se puede observar el error con la derivada real de la función (f’(0)=1) existe en mayor parte en la formula de cinco puntos ya que esta
tendrá mas cálculos y mas propagación del error,mientras el espacio entre los nodos sea mas pequeño, existirá mas error de redondeo y la
derivada sera menos exacta.

Ejercicio 18.58
Estudiar el efecto de los errores de truncacion y redondeo en la formula centrada de cinco puntos para f”. Particularizar para f(x) = 1/(1+x2)
en x = 1.

Solución

− f2 + 16 f1 − 30 f0 + 16 f−1 + f−2
f 00 (x) =
12h2
h = 0.1
numero de cifras decimales f2 f1 f0 f−1 f−2
2 0.40 0.45 0.5 0.55 0.60
4 0.4098 0.4524 0.5 0.5524 0.6097
6 0.409836 0.452488 0.5 0.552486 0.609756
8 0.40983606 0.45248868 0.5 0.55248618 0.60975609
Cifras decimales :8
−0.40983606 + 16(0.45248868) − 30(0.5) + 16(0.55248618) + 0.60975609
f 00 (1) = = 10.6626
12(0.1)2
Cifras decimales :6
−0.409836 + 16(0.452488) − 30(0.5) + 16(0.552486) + 0.609756
f 00 (1) = = 10.6625
12(0.1)2
Cifras decimales :4
−0.4098 + 16(0.4524) − 30(0.5) + 16(0.5524) + 0.6097
f 00 (1) = = 10.6392
12(0.1)2
Cifras decimales :2
−0.40 + 16(0.45) − 30(0.5) + 16(0.55) + 0.60
f 00 (1) = = 10
12(0.1)2
Cifras decimales :1
−0.4 + 16(0.4) − 30(0.5) + 16(0.5) + 0.6
f 00 (1) = = −3.333
12(0.1)2
Mientras se toman menoscifras significativas se redondea las mismas el cambio en la derivada se hace mas notorio ya que la distancia del
paso h es pequeño igualmente y el truncar demasiado a los valores a evaluar seria el equivalente a cambiar el tamaño del paso h

Ejercicio 18.59
Deducir el termino de error O(h5 ) en la formula de cinco puntos para f”’.
Solucion
Derivada Adelantada:

h2 00 h3
f (x + h) = f (x) + f 0 (x)h + f (x) + f 000 (x) + O(h5 )
2 6
4h 2 8h3 000
f (x + 2h) = f (x) + 2 f 0 (x)h + f 00 (x) + f (x) + O(h5 )
2 6
9h2 00 27h3 000
f (x + 3h) = f (x) + 3 f 0 (x)h + f (x) + f (x) + O(h5 )
2 6
16h2 00 64h3 000
f (x + 4h) = f (x) + 4 f 0 (x)h + f (x) + f (x) + O(h5 )
2 6
Sumando la primera ecuación con la tercer y la segunda con la cuarta

f (x + 3h) − 3 f (x + h) = −8 f (x) − 6h f 0 (x) + 3h3 f 000 (x) − 8O(h5 )


f (x + 4h) − 4 f (x + 2h) = −3 f (x) − 4h f 0 (x) + 16h2 /3 f 000 (x) − 3O(h5 )
Curso de métodos numéricos — 84/145

Resolviendo estas dos ultimas ecuaciones


7 f (x) − 6 f (x + h) + 12 f (x + 2h) + 2 f (x + 3h) − 3 f (x + 4h) = 10h3 f 000 (x) − 7O(h5 )
7O(h5 ) 3 f4 − 2 f3 − 12 f2 + 6 f1 − 7 f0 7O(h5 ) v
f 000 (x) + = 3
E( f ) = f (ε)
10 10h 10
Ejercicio 18.60
Se requiere realizar una integración numérica de la función f(x) en el intervalo [0,12]. Escriba los puntos en los cuales se necesita conocer
la funcion para los siguientes métodos de integración:
• Método del punto medio con cuatro intervalos.
• Método del trapecio en tres intervalos.
• Método de Simpson en dos intervalos.
Solución
Método del punto medio en cuatro intervalos
Intervalos: [0,3],[3,6],[6,9],[9,12]
Intervalo: [0,3]
f(0),f(1.5),f(3)
Intervalo: [3,6]
f(3),f(4.5),f(6)
Intervalo: [6,9]
f(6),f(7.5),f(9)
Intervalo: [9,12]
f(9),f(10.5),f(12)

Método del trapecio en tres intervalos


Intervalos: [0,4],[4,8],[8,12]
Intervalo: [0,4]
f(0),f(4)
Intervalo: [4,8]
f(4),f(8)
Intervalo: [8,12]
f(8),f(12)

Metodo de Simpson en dos intervalos


Intervalos: [0,6],[6,12]
Intervalo: [0,6]
f(0),f(3),f(6)
Intervalo: [4,8]
f(6),f(9),f(12)

Ejercicio 18.61
Calcular la cuadratura compuesta para dos intervalos de la integral
Z π
sin xdx
0
por el método del trapecio.
Solución
        
2π 5π
Z π
π π π  π 
sin (x) dx = sin (0) + 2 sin + sin + sin + sin + sin + sin (π)
0 12 6 3 2 3 3
π  √ 
= 4+2 3
12
π  √ 
= 2+ 3
6
Z π
= 1.9541 ≈2= sin (x) dx
0
Ejercicio 18.62
Calcular la cuadratura compuesta para dos intervalos de la integral
Z 2
3x2 dx
0
Curso de métodos numéricos — 85/145

por el método del Simpson tres octavos.


Solución

1 2
Z π 
3x2 dx = 0 + 2 · 3(1)2 + 3(2)2
0 2
Z π
=9≈8= 3x2 dx
0

Ejercicio 18.63
Comparar el método del rectángulo con el método de Simpson en el calculo de la integral
Z b
sin xdx
a

Calcular los errores asociados

(b − a)2 (b − a)5
Erect = f (θ ) ESimp = = f (4) (θ )
2 90
Ademas, calcular el valor exacto de la integral.
Solucion
Igualamos los errores para encontrar la distancia a,b en el cual son iguales.

f (x) = sin (x)


f 0 (x) = cos (x)
f 00 (x) = − sin (x)
f 000 (x) = − cos (x)
f iv (x) = sin (x)
Siendo los maximos de la primera y cuarta derivada respectivamente

f 0 (0) = cos (0) = 1


π  π 
f iv = sin =1
2 2
(b − a)2 (b − a)5
=
2 90
45 (b − a)2 = (b − a)5
√3
b − a = 45 = 3.556899
Ahora probaremos con un distancia b-a menor a este valor e igualmente mayor.

b−a = 3
32
Erect = = 4.5
2
35
ESimp = = 2.7
90
b−a = 4
42
Erect = =8
2
45
ESimp = = 11.3778
90
Observando en este caso que el método del Simpson tendrá mejor precision si es que el intervalo es menor a 3.44689 y el método del
rectángulo sera mas apropiada si el intervalo supera esta cifra.

Ejercicio 18.64
Aplicar la regla del punto medio, la regla del trapecio y la regla de Simpson para aproximar la integral
Z 1
x2 e−x dx
0
Curso de métodos numéricos — 86/145

Obtener en cada caso una cota del error y comparar el error con el error real
Solucion

f (x) = x2 e−x
f 0 (x) = (2x − x2 )e−x
f 00 (x) = (x2 − 4 + 2)e−x
f 000 (x) = (−x2 + 6x − 6)e−x
f iv (x) = (x2 − 8x + 12)e−x
f v (x) = (−x2 + 10x − 20)e−x
max | f 00 (x)| = 2
max | f iv (x)| = 12
Punto medio:
Z 1
f (x) dx = (1 − 0) (0.5)2 e−0.5 = 0.151633
0
f 00 (θ )(ba)3
E( f ) =
24
2(1)3
E(0) = = 0.0833
24
0.151633 − 0.160603
Ereal = = 0.0558
0.160603
Trapecio
Z 1
(1 − 0) h i
f (x) dx = (0)2 e0 + (1)2 e−1 = 0.18394
0 2
f 00 (θ )(ba)3
E( f ) =
24
2(1)3
E(0) = = 0.0833
24
0.18394 − 0.160603
Ereal = = 0.1453
0.160603
Simpson
Z 1
(1 − 0) h 2 0 i
f (x) dx = (0) e + 2(0.5)2 e−0.5 + (1)2 e−1 = 0.162402
0 6
f iv (θ )(b − a)5
E( f ) =
180
12(1)3
E(0) = = 0.13333
90
0.162402 − 0.160603
Ereal = = 0.0112
0.160603

Ejercicio 18.65
En los casos que se relacionan a continuación se considera la integración de la función dada f(x) sobre el intervalo [0,1]. Aplique la regla
trapecio, la regla se Simpson, la regla se Simpson 3/8 y la regla de Boole. Utilice cinco evaluaciones de la función en nodos equiespaciados
con incremento h = 1/4.
• f (x) = sin (πx)
• f (x) = 1 + e−x cos (4x)

• f (x) = sin ( x)
Solucion
f (x) = sin(x)
Trapecio
Z 1  
1−0
sin (x) dx = (0 + 0) = 0
0 2
Curso de métodos numéricos — 87/145

Simpson 3/8

Z 1  
1−0
sin (x) dx = (sin (0) + 3 sin (π/3) + 3 sin (2π/3) + sin (π)) = 0.6495
0 8

Boole

Z 1  
1−0
sin (x) dx = (7 sin (0) + 32 sin (π/4) + 12 sin (π/2) + sin (3π/4) + 7 sin (π)) = 0.636165
0 90

f (x) = 1 + e−x cos(4x)


Trapecio

Z 1  
−x 1−0  
1+e cos (4x) dx = 1 + e−0 cos (0) + 1 + e−1 cos (4) = 1.37977
0 2

Simpson 3/8

Z 1  
1−0  
1 + e−x cos (4x) dx = 1 + e−0 cos (0) + 1 + e−1/3 cos (4/3) + 1 + e−2/3 cos (8/3) + 1 + e−1 cos (4) = 0.986427
0 8

Boole

Z 1  
1−0
1 + e−x cos (4x) dx = (7(1 + e−0 cos (0)) + 32(1 + e−1/4 cos (1)) + 12(1 + e−2/4 cos (2)) + 32(1 + e−3/4 cos (3))+
0 90
+7(1 + e−1 cos (4))) = 0.986427

f (x) = sin( x)dx
Trapecio

Z 1  
1−0
sin (x) dx = (0 + 0) = 0
0 2

Simpson 3/8

Z 1
√ 
 
1−0  p  p  
sin x dx = sin (0) + 3 sin 1/3 + 3 sin 2/3 + sin (1) = 0.583143
0 8

Boole

Z 1
√ 
 
1−0  √  p  p  p  √ 
sin x dx = 7 sin 0 + 32 sin 1/4 + 12 sin 1/2 + 32 sin 3/4 + 7 sin 1 = 0.593376
0 90

Ejercicio 18.66
Integrando el polinomio de interpolacion de Lagrange

x − x1 x − x0
P1 (x) = f0 + f1
x0 − x1 x1 − x0

en el intervalo [x0 , x1 ], deduzca la regla del trapecio.


Solucion
Curso de métodos numéricos — 88/145

Z x1 Z x1 Z x1
f0 f1
P1 (x) dx = (x − x1 ) dx + (x − x0 ) dx ; x1 − x0 = h
x0 x0 − x1 x x1 − x0
x0
"0 # " #
f (x0 ) x12 − x02 2 f (x1 ) x12 − x02 2
=− − (x1 − x1 x0 ) + − (x1 x0 − x0 )
h 2 h 2
    
1 (x1 − x0 )(x1 − +x0 ) (x1 − x0 )(x1 − +x0 )
= f (x1 ) − x0 (x1 − x0 ) − f (x0 ) − x1 (x1 − x0 )
h 2 2
hx x0 i hx x0 i
1 1
= f (x1 ) + − x0 − f (x0 ) + − x1
2 2  2  2 
x1 − x0 x0 − x0 x1 − x1 x1 − x0
= f (x1 ) + − f (x0 ) −
2 2 2 2
   
h h
= f (x1 ) − f (x0 )
2 2
h
= [ f (x1 ) + f (x0 )]
2
b−a
= [ f (x1 ) + f (x0 )]
2
1
= [ f (x1 ) + f (x0 )]
2
Ejercicio 18.67
Una formula de cuadratura en un intervalo [a,b] puede obtenerse a partir de una formula de cuadratura en un intervalo [c,d] haciendo el
cambio de variable dado por la función lineal
b−a ad − bc b−a
x = g (t) = t+ con dx =
d −c d −c d −c
• Compruebe que x = g(t) es la linea recta que pasa por los puntos (c,a) y (b,d).
• Compruebe que la regla del trapecio tiene el mismo grado de precision en cualquier intervalo [a,b] que en el intervalo [0,1].
• Compruebe que la regla del Simpson tiene el mismo grado de precision en cualquier intervalo [a,b] que en el intervalo [0,2].
• Compruebe que la regla del Boole tiene el mismo grado de precision en cualquier intervalo [a,b] que en el intervalo [0,4].

Ejercicio 18.68
Construya programas en Matlab para las reglas compuestas: rectángulo, trapecio y Simpson.
Solucion
Rectángulo

Figure 81. Programa integracion por rectangulo compuesta


Curso de métodos numéricos — 89/145

Trapecio

Figure 82. Programa integracion por trapecio compuesta

Simpson

Figure 83. Programa integracion por Simpson compuesta

Ejercicio 18.69
Aproxime cada una de las siguientes integrales, utilizando los programas desarrollados.
R1
1 + x2 dx.

a) −1
R2
b) 0 2x cos (x)dx.
sin (2x) e−x dx.

c) 0
Solucion
R1
1 + x2 dx.

a) −1

Figure 84. Métodos compuestos para la función f (x) = 1 + x2


Curso de métodos numéricos — 90/145

R2
b) 0 2x cos(x)dx.

Figure 85. Métodos compuestos para la función f (x) = 2x cos(x)

sin(2x)e−x dx.

c) 0

Figure 86. Métodos compuestos para la función f (x) = 2x cos(x)

Ejercicio 18.70
Considere las siguientes funciones
a) f (x) = x3 para 0 ≤ x ≤ 1.
b) f (x) = sin (x) para 0 ≤ x ≤ π/4.
c) f (x) = e−x para 0 ≤ x ≤ 1.
Teniendo presente que:
• Longitud de una curva. La longitud de una curva y = f(x) definida sobre un intervalo [a,b] es
Z bq
longitud = 1 + ( f 0 (x))2 dx
a
• Area de una superficie de revolución. El área de la superficie del solido de revoluciónón que se obtiene al girar alrededor del eje OX
la región limitada por la curva y = f(x) y el intervalo [a,b], viene dada por:
Z b q
area = 2π f (x) 1 + ( f 0 (x))2 dx
a
Curso de métodos numéricos — 91/145

Calcula la longitud de curva y la superficie de revolución de las curvas dadas, utilizando las reglas compuestas. Realice, ademas, un análisis
del error cometido por cada uno de los métodos. Mostrar las gráficas.
Solución
a)f(x)=3x 2
R1√
l= 0 1 + 9x4 dx
x 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1
f(x) 1 1.068 1.25 1.5052 1.8028 2.1250 2.4622 2.8090 3.1623
R 1 2√
0 3x 1 + 9x4 dx
x 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1
f(x) 0 0.0501 0.2344 0.6350 1.3521 2.4902 4.1550 6.4520 9.4868
Rectangulo
l=(1*0.25)+(1.25*0.25)+(1.5052*0.25)+(1.8028*0.25)+(2.4622*0.25)=1.3072
A=0.25(0+0.1908)+0.9375+3.3101+9.4868)=1.1096
Trapecio
l= 0.125( 1+2( 1.014+1.25+1.9615)+3.1623 )=1.5775
A=0.125 (0 +2(0.1908+0.9375+3.3101)+9.4868 )=2.2954
Simpson
l= 38 = (1 + 4(1.0011 + 1.0853 + 1.5405 + 2.5051) + 2(1.0174 + 1.25 + 1.9615) + 3.1623) = 1.5479
A= 83 (0 + 4(0.0469 + 0.4579 + 1.8023 + 5.7540) + 2(0.1908 + 0.9375 + 3.3101) + 3.1623) = 2.1092
Integración exacta
Z 1p
l= 1 + 9x4 dx = 1.5478
Z0 1 p
A= 3x2 1 + 9x4 dx = 2.1088
0

b)f(x)=sin(x)
R π/4 p
l= 0 1 + cos2 (x)dx
x 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1
f(x) 1.4142 1.4108 1.4007 1.3841 1.3615 1.3333 1.3005 1.2639 1.2247
R π/4 p
0 sin(x) 1 + cos2 (x)dx
x 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1
f(x) 0 0.1383 0.2733 0.4018 0.5210 0.6285 0.7225 0.8018 0.8660
Rectangulo
l=0.049087*(1.4142+1.4007+1.3615+1.3005+1.2247)=1.0754
A=0.049087*(0+0.2733+0.5210+0.7225+0.8660)=0.2978
Trapecio
l=0.3926*(1.4142+2(1.4007+1.3615+1.3005)+1.2247)=1.0568
A=0.3926*(0+2(0.2733+0.5210+0.7225)+0.8660)=0.3828
Simpson
l= 0.3926
3 = (1.4142 + 4(1.4108 + 1.3841 + 1.3333 + 1.2639) + 2(1.4007 + 1.3615 + 1.3005) + 1.2247) = 1.0581
A= 0.3926 3 (0 + 4(0.1383 + 0.4018 + 0.6285 + 0.8018) + 2(0.2733 + 0.5210 + 0.7225) + 0.8018) = 0.3855
Integración exacta
Z π/4 q
l= 1 + cos2 (x)dx = 1.0581
0
Z π/4 q
A= sin(x) 1 + cos2 (x)dx = 0.3855
0
c)f(x)=e( x)
R1
q
l= 0 1 + e( − 2x)dx
x 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1
f(x) 1.0655 1.0834 1.1060 1.1342 1.1696 1.2134 1.2675 1.3337 1.4142
q
A= 01 e−1 1 + e( − 2x)dx
R

x 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1


f(x) 1.4142 1.1770 0.9871 0.8340 0.7094 0.6071 0.5224 0.4516 0.3920
Rectangulo
l=0.25*(1.4142+1.2675+1.1696+1.1060+1.0655)=1.2393
A=0.25*(1.4141+0.9871+0.7094+0.5224+0.3920)=0.9083
Trapecio
Curso de métodos numéricos — 92/145

l=0.125*(1.4142+2(1.2675+1.1696+1.1060)+1.0655)=1.1957
A=0.125*(1.4141+2(0.9871+0.7094+0.5224)+0.3920)=0.7805
Simpson
l= 0.125
3 = (1.4142 + 4(1.3337 + 1.2134 + 1.1342 + 1.0834) + 2(1.2675 + 1.1696 + 1.1.1060) + 1.0655) = 1.1927
A= 0.125
3 (1.4142 + 4(1.1770 + 0.8340 + 0.6071 + 0.4516) + 2(0.9871 + 0.7094 + 0.5224) + 0.3920) = 0.7718
Integración exacta
Z π/4 q
l= 1 + e( − 2x)dx = 1.1927
0
Z π/4 q
A= e−x 1 + e( − 2x)dxdx = 0.0.7718
0

Ejercicio 18.71
Determine las constantes w0 ,w1 y w2 de manera que

Z 2
g (t) dt = w0 g (0) + w1 g (1) + w2 g (2)
0

sea exacta para las funciones g (t) = 1, g (t) = t, g (t) = t 2


Solucion

(x − 1)(x − 2) (x − 0)(x − 2) (x − 0)(x − 1)


f (x) = f (0) + f (1) + f (2)
(0 − 1)(0 − 2) (1 − 0)(1 − 2) (2 − 0)(2 − 1)
Z 2 Z 2 Z 2 Z 2
(x − 1)(x − 2) (x − 0)(x − 2) (x − 0)(x − 1)
f (x) dx = f (0) dx + f (1) dx + f (2) dx
0 0 (0 − 1)(0 − 2) 0 (1 − 0)(1 − 2) 0 (2 − 0)(2 − 1)
f (0) 2 2
Z 2
f (2) 2 2
Z Z
= (x − 3x + 2) dx + f (1) (−1) (x2 − 2x) dx + (x − 2) dx
2 0 2 0
    0 
f (0) 2 4 f (2) 2
= + f (1) (−1) − +
2 3 3 2 3
f (0) 4 f (1) f (2)
= + +
3 3 3
f (x) = 1

1(1) 4(1) 1(1)


+ + =2
3 3 3
Z 2
1=2
0

f (x) = x

1(0) 4(1) 1(2)


+ + =2
3 3 3
Z 2
x=2
0

f (x) = x2

1(0) 4(1) 1(4) 8


+ + =
3 3 3 3
Z 2
2 8
x =
0 3

Ejercicio 18.72
Use la relación f(x0 + ht) = g(t) y el cambio de variable x = x0 + ht con dx = hdt para trasladar la regla de Simpson desde [0,2] hasta el
intervalo [x0 , x2 ].
Solucion
Curso de métodos numéricos — 93/145

f (x0 + ht) = g(t)


x = x0 + ht
dx = hdt
Z 2 Z 1.5
= h0 g(t)dt ; h0 = 0.5
0 0.5
Z 1.5  Z 1.5 Z 1.5 Z 1.5 
(t − 1)(t − 1.5) (t − 0.5)(t − 1.5) (t − 0)(t − 1)
h g(t)dt = h f (x0 ) dt + f (x1 ) dt + f (x2 ) dt
0.5 0.5 (0.5 − 1)(0.5 − 1.5) 0.5 (1 − 0.5)(1 − 1.5) 0.5 (2 − 0)(2 − 1.5)
Z 1.5  Z 1.5 Z 1.5 Z 1.5 
h g(t)dt = 2 f (x0 ) (t 2 − 2.5t + 1.5)dt − f (x1 ) (t 2 − 2t + 0.75)dt − f (x2 ) (t 2 − 1.5t + 0.5)dt
0.5 0.5 0.5 0.5
Z 1.5  
f (x0 ) f (x1 ) f (x2 )
h g(t)dt = 2 + +
0.5 12 3 12
Z 1.5 Z 1.5
1
h g(t)dt = [ g(t)dt + 4 f (x1 ) + f (x2 )]
0.5 6 0.5

Ejercicio 18.73
Determine en cada uno de los siguientes casos, el numero m y el tamaño de los subintervalos h de manera que la regla del trapecio y la de
Simpson (considerar cada regla por separado) con m subintervalos nos permita obtener la integral dada con una precision de 5x10−19 .

Z π/6
a) cos (x) dx
−π/6

Z 3
1
b) dx
2 5−x
Z 2
c) xe−x ) dx
0

Solución
Z π/6
a) cos (x) dx
−π/6

f (x) = cos(x)
f 0 (x) = −sin(x)
f 00 (x) = −cos(x)
f 000 (x) = sin(x)
f (iv) (x) = cos(x)
f (v) (x) = −sin(x)
max | f 00 (x)| = 1 = 1
max | f (iv) (x)| = 1

Trapecio
(π/6 + π/6)h2
5x10−19 = (1)
2
h = 9.77205x10−10
Simpson
(π/6 + π/6)h4
5x10−19 = (1)
180
h = 0.000096

Z 3
1
b) dx
2 5−x
Curso de métodos numéricos — 94/145

1
f (x) =
5−x
1
f 0 (x) =
(x − 5)2
2
f 00 (x) = −
(x − 5)3
6
f 000 (x) =
(x − 5)4
24
f (iv) (x) = −
(x − 5)5
120
f (v) (x) =
(x − 5)6
5∈
/ [2, 3]

Trapecio
2
f 00 (2) = −
27
1
f 00 (3) = −
4
(3 − 2)h2 1
5x10−19 = ( )
2 4
h = 2x10−9
Simpson
8
f (iv) (2) = −
9
f (iv) (3) = −3
(3 − 2)h4
5x10−19 = (3)
180
h = 0.000074

Z 2
c) xe−x dx
0

f (x) = xe−x
f 0 (x) = (1 − x)e−x
f 00 (x) = (x − 2)e−x
f 000 (x) = (3 − x)e−x
f (iv) (x) = (x − 4)e−x
f (v) (x) = (5 − x)e−x
max | f 00 (x)| = 1 = 1; x = 3
max | f (iv) (x)| = 1; x = 5
3∈
/ [0, 2]
5∈
/ [0, 2]
Curso de métodos numéricos — 95/145

Trapecio
f 00 (0) = −2
f 00 (2) = −0
(2 − 0)h2
5x10−19 = (2)
2
−10
h = 7.071x10
Simpson
f (iv) (0) = −4
f (iv) (2) = −0.2706
(2 − 0)h4
5x10−19 = (4)
180
h = 0.000069

18.6 Ecuaciones diferenciales


Ejercicio 18.74
Pruebe que cuando se usa el método de Heun para resolver el problema de valor inicial y0 = f (t) en [a, b] con y(a) = y0 = 0 el resultado es
h M−1
y(b) = ∑ ( f (tk ) + f (tk + 1))
2 k=0
que es la aproximación dad por la regla compuesta del trapecio para aproximar la integral definida de f (t) en el intervalo [a,b]
Solución

h
ytk+1 = ytk + ( f (tk ) + f (tk+1 ))
2
h
y1 = y0 + ( f (t0 ) + f (t1 )) ; y0 = 0
2
h
= ( f (t0 ) + f (t1 ))
2
h
y2 = y1 + ( f (t1 ) + f (t2 ))
2
h h
= ( f (t0 ) + f (t1 )) + ( f (t1 ) + f (t2 ))
2 2
h
= ( f (t0 ) + f (t1 ) + f (t1 ) + f (t2 ))
2
h 1
= ∑ ( f (tk ) + f (tk+1 ))
2 k=0
h
y3 = y2 + ( f (t2 ) + f (t3 ))
2
h 1 h
= ∑ ( f (tk ) + f (tk+1 )) + 2 ( f (t2 ) + f (t3 ))
2 k=0
h 2
= ∑ ( f (tk ) + f (tk+1 ))
2 k=0
h M−1
yM = y(b) = ∑ ( f (tk ) + f (tk+1 ))
2 k=0

Ejercicio 18.75
El método de Richardson para mejorar las aproximaciones puede usarse en conjunción con el método de Heun.Si usamos el método de Heun
con tamaño de paso h,entonces tenemos
y(b) ≈ yh +Ch2
Si ahora lo usamos con tamaño de paso 2h, entonces tenemos
y(b) ≈ y2h + 4Ch2
Los términos que contienen Ch2 pueden eliminarse para obtener una aproximación mejorada a y(b)

4yh − y2h
y(b) ≈
3
Curso de métodos numéricos — 96/145

Este esquema de mejora puede usarse con los valores mostrados en el Ejemplo 9.7 para obtener una aproximación mejor a y(3).Calcule las
entradas que faltan en la tabla siguiente:
h yk (4yh − y2h )/3
1 1.732422 ——–
1/2 1.682121 1.665354
1/4 1.672269 ——–
1/8 1.670076 ——–
1/16 1.669558 1.669385
1/32 1.669432 ——–
1/64 1.669401 ——–
Solución
h yk (4yh − y2h )/3
1 1.732422 ——–
1/2 1.682121 1.665354
1/4 1.672269 1.668985
1/8 1.670076 1.669345
1/16 1.669558 1.669385
1/32 1.669432 1.669390
1/64 1.669401 1.669390

Ejercicio 18.76

En psicologı́a,la ley de estı́mulo respuesta de Wever-Fechner establece que la tasa de variación dr/dE de la reacción Ante un estı́mulo
E es inversamente proporcional al estı́mulo.Si llamamos valor umbral al mı́nimo nivel de estı́mulo S0 que es posible detectar, entonces el
problema de valor inicial que modela esta situación es

k
R0 = con R(S0 ) = 0
S

Supongamos que S0 = 0.1 y que R(0.1)=0. Use el método de Heun con h=0.1 para resolver

1
R0 = en [0.1,5.1] con R(S0 ) = 0 (112)
S

Solución
El esquema del método de Heun para este problema sera

  
0.1 1 1
R(Sk+1 ) = R(Sk ) + + R(Sk ) + 0.1 (113)
2 Sk Sk

Y los resultados de la función sera:


Curso de métodos numéricos — 97/145

S R
0.1 0
0.2 0.7500
0.3 1.1667
0.4 1.4583
0.5 1.6833
0.6 1.8667
0.7 2.0214
0.8 2.1554
0.9 2.2734
1 2.3790
1.1 2.4744
1.2 2.5615
1.3 2.6417
1.4 2.7158
1.5 2.7849
1.6 2.8495
1.7 2.9101
1.8 2.9673
1.9 3.0214
2 3.0727
2.1 3.1215
2.2 3.1681
2.3 3.2126
2.4 3.2551
2.5 3.2960
2.6 3.3352
2.7 3.3729
2.8 3.4093
2.9 3.4444
3 3.4783
3.1 3.5111
3.2 3.5429
3.3 3.5736
3.4 3.6035
3.5 3.6325
3.6 3.6607
3.7 3.6881
3.8 3.7147
3.9 3.7407
4 3.7660
4.1 3.7907
4.2 3.8148
4.3 3.8384
4.4 3.8614
4.5 3.8838
4.6 3.9058
4.7 3.9273
4.8 3.9484
4.9 3.9690
5 3.9892
5.1 4.0090
Curso de métodos numéricos — 98/145

Graficando la solución se obtiene el resultado

1
Figure 87. Gráfica de la solución a la ecuación diferencial R0 =
S

Ejercicio 18.77

a) Escriba un programa que sirva para llevar a cabo el método de mejora de Richardson en el Ejercicio 7
b) Use su programa para aproximar y(2) n cada una de las ecuaciones de los Problemas 1-5 tomando h = 0.05 como tamaño de paso
inicial.El programa deberı́a terminar cuando el valor absoluto de la diferencia entre dos mejoras consecutivas sea menor que 10−6
Solución

El programa a crear deberá utilizar el método de Heun de forma que se tenga como retorno de la función implementada el valor de y(b)
con un numero de paso dado

Figure 88. Programa de Heun para el cálculo de y(b) con un tamaño de paso dado

La figura ( 88 ) muestra la implementación de dicho programa ahora se necesita un programa que ejecute esta función con varios tamaños de
paso distintos y calcule la mejora de Richarson entre dos pares de soluciones de la ecuación diferencial, una vez realizado esto el resto entre
las dos mejoras de Richarson sera el error a considerar para tomar la solución final
Curso de métodos numéricos — 99/145

Figure 89. Programa de mejora de Richarson usando el método de Heun

En la figura (89) se muestra el programa que tendrá un bucle con criterio de parada el error entre las mejoras de Richarson y como
tolerancia 10−6

1) y0 = t 2 − y y(0) = 1, y(t) = e−t + t 2 − 2t + 2

h y(h) (4yk − y2k )/3 error


0.05 1.864664702065796
0.025 1.864664715863744 1.864664720463060
0.0125 1.864664716707743 1.864664716989076 3.473984655499862e-09

2) y0 = 3y + 3t y(0) = 1, y(t) = e−t + t 2 − 2t + 2

h y(h) (4yk − y2k )/3 error


0.05 5.355597062507118e+02
0.025 5.355709251885876e+02 5.355746648345462e+02
0.0125 5.355716731062228e+02 5.355719224121011e+02 0.002742422445067
0.00625 5.355717213843542e+02 5.355717374770646e+02 1.849350364864222e-04
0.003125 5.355717244508369e+02 5.355717254729979e+02 1.200406677526189e-05
0.0015625 5.355717246440477e+02 5.355717247084513e+02 7.645465984751354e-07

3) y0 = −ty y(0) = 1, y(t) = e−t + t 2 − 2t + 2

h y(h) (4yk − y2k )/3 error


0.05 0.135335288461187
0.025 0.135335283545296 0.135335281906665
0.0125 0.135335283255416 0.135335283158789 1.252123654760240e-09

4) y0 = e−2t − 2y y(0) = 1/10, y(t) = e−t + t 2 − 2t + 2

h y(h) (4yk − y2k )/3 error


0.05 0.038462747643438
0.025 0.038462836063604 0.038462865536992
0.0125 0.038462841324416 0.038462843078020 2.245897225139348e-08

5) y0 = 2ty2 y(0) = 1, y(t) = e−t + t 2 − 2t + 2

Al analizar este ejercicio en el programa se obtiene como resutlado con el primer paso h=0.05 un valor de infinito, l cual no coincide con su
valor real y(2)=-1/3, al observar la función solución podemos notar la razón de este error
1
y(t) =
1 − t2
y es que la función tiende a infinito y es discontinua en t=1 por lo que no se podrá utilizar ningún método numérico mencionado en este
documento para esta función.
Curso de métodos numéricos — 100/145

Figure 90. Respuesta infinita en la resolución de l ecuación diferencial en t=2

Figure 91. Gráfica de la función real solución de la ecuación diferencial

Ejercicio 18.78
Pruebe que el método de Taylor falla cuando queremos aproximar la solución y(t) = t 3/2 del problema de valor inicial

y0 = f (t, y) = 1.5y1/3 con y(0) = 0


justifique su respuesta.Cuál es el problema?
Solución
Para realizar el método de Taylor se deberá encontrar hasta la cuarta derivada en términos de t

y0 (t) = t 3/2
y(2) (t) = (3/2)t 1/2
y(3) (t) = (3/4)t −1/2
y(4) (t) = (−3/8)t −3/2
Ahora se evalúan las derivadas en t0 = 0

y0 (0) = 03/2 = 0
y(2) (0) = (3/2)01/2 = 0
y(3) (0) = (3/4)0−1/2 = ∞
y(4) (0) = (−3/8)0−3/2 ∞
El método de Taylor presenta problemas en esta ecuación diferencial ya que la evaluación de este termino resulta infinito y su siguiente
valor sera infinito,por lo que el método divergerá y no se podrá encontrar una función con valores reales.

Ejercicio 18.79
Consideremos el problema de valor inicial y0 = 1 + y2 , y(0) = 1
Curso de métodos numéricos — 101/145

a) Determine las expresiones de y(2) (t), y(3) (t) y y(4) (t)

b) Evalué las derivadas en t=0 y úselas para calcular los cinco primeros términos del desarrollo de Maclaurin de tan(t)

f 0 (t) = f
f 00 (t) = ft + fy y0 = ft + fy f
f (3) = ftt + 2 fty y0 + fy y00 + fyy (y0 )2
= ftt + 2 fty f + fyy f 2 + fy ( ft + fy f )
(114)
f (4) = fttt + 3 ftty y0 + 3 ftyy (y0 )2 + 3 fty y00 + fy y000 + 3 fyy y0 y00 + fyyy (y0 )3
= ( fttt + 3 ftty f + 3 ftyy f 2 + fyyy f 3 ) + fy ( ftt + 2 fty f + fyy f 2 ) + 3( ft + fy f )( fty + fyy f ) + fy2 ( ft + fy f )
!!!!
0 f 00 (yk ) f (3) (yk ) f (4) (yk )
yk+1 = yk + h f (yk ) + h +h +h
2 6 24
Solución

y0 = 1 + y2
y(2) = 2yy0
= 2y(1 + y2 )
= 2y + 2y3
y(3) = 2y0 + 6y2 y0
= 2(1 + y2 ) + 6y2 (1 + y2 )
= 2 + 8y2 + 6y4
y(4) = 16yy0 + 24y3 y0
= 16y(1 + y2 ) + 24y3 (1 + y2 )
= 24y5 + 40y3 + 16y
y(0) = 1
y0 (0) = 1
y(2) (0) = 0
y(3) (0) = 2
y(4) (0) = 0

t −0 0 (t − 0)2 (2) (t − 0)3 (3) (t − 0)4 (4)


tan(t) ≈ f (t) = y(0) + y (0) + y (0) + y (0) + y (0)
1! 2! 3! 4!
t3
= 1+t +
3
Podemos entonces observar en la gráfica centrada en cero la relación del error al compáralo con la función tan(t) alrededor del punto t=0

Figure 92. Comparación de la aproximación de Maclaurin con la función tan(t)


Curso de métodos numéricos — 102/145

Ejercicio 18.80
Pruebe que cuando se usa el método de Runge-Kutta de orden N=4 para resolver el problema de valor inicial y’=f(t) en [a,b] con y(a)=0 el
resultado es

h M−1  
y(b) ≈ ∑ f (tk ) + 4 f (tk+1/2 ) + f (tk+1 ))
6 k=0

donde h=(b-a)/M , tk = a + kh y tk+1/2 = a + k + 12 h que es la aproximación dada por la regla de Simpson (con incremento h/2) a la


integral definida en el intervalo [a,b]


Solución
El esquema de Runge-Kutta para resolver la ecuación diferencial sera
h
yk+1 = yk + ( f1 + 2 f2 + 2 f3 + f4 )
6
f1 = f (tk )
 
h
f 2 = f tk +
2
 
h
f 3 = f tk + ; f2 = f3 = f (tk+1/2 )
2
f4 = (tk + h) = f (tk+1 )
h 
y1 = f (t0 ) + 4 f (t0+1/2 ) + f (t0+1 )
6
h 0  
= ∑ f (tk ) + 4 f (tk+1/2 ) + f (tk+1 )
6 k=0
h 
y2 = y1 + f (t1 ) + 4 f (t1+1/2 ) + f (t1+1 )
6
0 
h  h 
= ∑ f (tk ) + 4 f (tk+1/2 ) + f (tk+1 ) + f (t1 ) + 4 f (t3/2 ) + f (t2 )
6 k=0 6
h 1  
= ∑ f (tk ) + 4 f (tk+1/2 ) + f (tk+1 )
6 k=0
h M−1  
yM = y(b) = ∑ f (tk ) + 4 f (tk+1/2 ) + f (tk+1 )
6 k=0

Ejercicio 18.81
El método de Richardson para mejorar las aproximaciones puede usarse en conjunción con el método de Runge-Kutta .Si en el método de
Runge-Kutta de orden N=4 se usa usando un tamaño de paso h entonces y(b) ≈ yh +Ch4
pero si usamos un tamaño de paso 2h, entonces y(b) ≈ y2h + 16Ch2
Los términos que contienen Ch4 pueden eliminarse para obtener una aproximación mejorada a y(b)
16yh − y2h
y(b) ≈
15
Este esquema de mejora puede usarse con los valores mostrados en el Ejemplo 9.11 para obtener una aproximación mejor a y(3).Calcule las
entradas que faltan en la tabla siguiente:
h yk (4yh − y2h )/3
1 1.6701860 ——–
1/2 1.6694308 ——–
1/4 1.6693928 ——–
1/8 1.6693906 ——–
Solución
h yk (4yh − y2h )/3
1 1.6701860 ——–
1/2 1.6694308 1.66938
1/4 1.6693928 1.66932
1/8 1.6693906 1.6693

Ejercicio 18.82
En una reacción quı́mica,una molécula de una sustancia A se combina con una molécula de una sustancia B para formar una molécula de
una sustancia C.SE sabe que la concentración y(t) de la sustancia C en el instante t es la solución del problema de valor inicial
Curso de métodos numéricos — 103/145

y0 = k(a − y)(b − y) con y(0) = 0


donde k es una constante positiva y a y b son las concentraciones iniciales de las sustancias A y B,respectivamente.Supongamos que
k=0.001,a=70 milimoles/litro y b=50 milimoles/litro.Use el método de Runge Kutta de orden N=4 con h=0.4 para hallar la solución en el
intervalo [0,20]
Observación Compare la solución dada por el computador con la solución exacta y(t) = 350(1 − e−0.2t )/(7 − 5e−0.2t ).Observe que el valor
limite cuando t → +∞ es 50
Solución
Para poder encontrar la solución a la ecuación diferencial utilizaremos el programa de Runge-Kutta mostrado a continuación mostrando
el gráfico de las soluciones tanto como numérica como la solución de la ecuación diferencial gracias a la función dsolve() mostrada a
continuación Las soluciones serán mostradas a continuación

Figure 93. Programa de Runge-Kutta para la resolución de ecuaciones diferenciales

Figure 94. Solución numérica al problema de reacción quı́mica


Curso de métodos numéricos — 104/145

Figure 95. Solución numérica al problema de reacción quı́mica y = 350(1 − e−0.2t )/(7 − 5e−0.2t )

Se aprecia que la solución en el intervalo [0,20] es muy próxima a la solución real y que al tender al infinito la curva en ambos casos
tiende a 50

Ejercicio 18.83
Resolviendo un problema de valor inicial adecuado, haga una tabla de valores de la función de distribución normal f(t) definida por la integral

1 1
Z x 2
f (x) = +√ e−t /2 dt para 0 ≤ x ≤ 3
2 2π 0
Utilice en sus cálculos el método de Runge-Kutta de orden N=4 con h=0.1
Su solución deberı́a coincidir los valores que se muestran en la siguiente tabla.Observación, Esta es una manera bastante aceptable de
generar una taba de valores de función de distribución normal estándar.
x f(x)
0.0 0.5
0.5 0.6914625
1.0 0.8413448
1.5 0.9331928
2.0 0.9772499
2.5 0.9937903
3.0 0.9986501
Solución
Utilizando el programa descrito en la figura ( 7 ) podremos observar los datos obtenidos y las gráficas de la solución numérica y real

x f(x)
0.0 0.5
0.5 0.6914733
1.0 0.8413554
1.5 0.9331958
2.0 0.9772473
2.5 0.9937871
3.0 0.9986483
Curso de métodos numéricos — 105/145

Figure 96. Solución numérica al problema de distribución

1 1 R x −t 2 /2
Figure 97. Solución real al problema de distribución f (x) = +√ 0e dt
2 2π

Ejercicio 18.84

a) Escriba un programa para el método de mejora de Richardson descrito en el Ejercicio 7

b) Use su programa del apartado (a) para aproximar y(0.8) en el problema de valor inicial y0 = t 2 + y2 , y(0)=1 en [0,0.8]. Se sabe
que el valor de la solución exacta en t=0.8 es y(0.8)=5.8486168. Empiece con un tamaño de paso h=0.05 y utilice como criterio de
parada el que el valor absoluto de la diferencia entre dos mejoras de Richardson consecutivas sea menor que 10−7

Solución
El programa a crear deberá utilizar el método de Runge-Kutta de forma que se tenga como retorno de la función implementada el valor de
y(b)=y(0.8) con un numero de paso dado
Curso de métodos numéricos — 106/145

Figure 98. Programa de Runge-Kutta para el cálculo de y(b) con un tamaño de paso dado

La figura ( 98 ) muestra la implementación de dicho programa ahora se necesita un programa que ejecute esta función con varios tamaños de
paso distintos y calcule la mejora de Richarson entre dos pares de soluciones de la ecuación diferencial, una vez realizado esto el resto entre
las dos mejoras de Richarson sera el error a considerar para tomar la solución final En la figura (99) se muestra el programa que tendrá un

Figure 99. Programa de mejora de Richarson usando el método de Runge-Kutta

bucle con criterio de parada el error entre las mejoras de Richarson y como tolerancia 10−7
Se utilizará entonces el programa para la ecuación dad y los resultados se mostraran en la siguiente tabla.
h yk (yk − y2k )/15 error
0.05 5.848112336343729
0.025 5.848583276475173 5.848614672483936
0.0125 5.848614679514072 5.848616773049999 2.100566063312215e-06
0.00625 5.848616671716836 5.848616804530353 3.148035432332108e-08
Por lo que se evidencia que se necesitará de una aproximación de un paso de h=0.00625 para usarlo en la mejora de Richadson y obtener un
error de 10−7 , tolerancia que necesitarı́a un paso mucho mas pequeño si se utilizarı́a solamente el método de Runge-Kutta

Ejercicio 18.85
Considere la ecuación integro diferencial de primer orden

Z t
y0 = 1.3y − 0.25y2 − 0.0001y y(τ)dτ
0

a) Use el método de Runge Kutta de orden N=4 con h=0.2 el valor inicial y(0)=250 en el intervalo [0,20] y la regla del trapecio para
calcular una solución aproximada de la ecuación
b) Repita el apartado (a) usando como valores iniciales y(0)=200 e y(0)=300

c) Dibuje las soluciones aproximadas calculadas en los apartados (a) y (b) sobre una misma gráfica

Solución
Curso de métodos numéricos — 107/145

Al tomar el método del trapecio para la resolución de la integral desde 0 hasta t la ecuación integro-diferencial sera ahora

y0 = 1.3y − 0.25y2 − 0.0001Tk


h
Tk = t − k − 1 + (yk−1 + yk )
2
Implementando ahora el algoritmo para la resolución de esa ecuación integro diferencial se tendrá el siguiente resultado. Evaluando en la

Figure 100. Programa para la resolución de la ecuación integro diferencial

condición inicial y(0)=250 se tendrá

Figure 101. Solución de la ecuación integro diferencial para y(0)=250


Curso de métodos numéricos — 108/145

Para el valor de y(0)=200

Figure 102. Solución de la ecuación integro diferencial para y(0)=200

Para el valor de y(0)=300

Figure 103. Solución de la ecuación integro diferencial para y(0)=300


Curso de métodos numéricos — 109/145

Uniendo las tres soluciones en una gráfica

Figure 104. Soluciones de la ecuación integro diferencial para y(0)=200,y(0)=250 y y(0)=300

Como se puede observar las condiciones iniciales modifican de una manera drástica la ecuación integro diferencial y al tomar una condición
inicial de un valor menor se puede observar la solución de una mejor manera, en este caso y(0)=25 muestra la siguiente solución

Figure 105. Solución de la ecuación integro diferencial para y(0)=25


Curso de métodos numéricos — 110/145

19. Programas
19.1 Métodos para el cálculo de raı́ces
19.1.1 Método de bisección
Una vez ingresado los valores del limite izquierdo (a), derecho (b) y el error con el cual se trabajara (Err), además de la función (f)
comenzamos por condicionar que la imagen de ambos lı́mites al multiplicarse sea negativa lo que s indicará que existe una raı́z entre estos;
esto lo realizaremos con una condición if,sin embargo debemos tomar en cuenta el caso que la multilicación sea cero ya que encontrarı́amos
una raı́z directamente en uno de los lı́mites, si su producto es positivo se deberá mostrar que no existe raı́z.

Figure 106. Existencia de Raı́ces

Si es negativo entraremos al ciclo repetitivo for que ira de 1 al infinito excepto si la condición de la altura y el error se cumple, delo
contrario seguirá recortando el intervalo tomando el valor medio del intervalo y tomando como nuevo intervalo aquel donde el producto de
sus extremos sea negativo.

Figure 107. Bucle for

Teniendo como resultado


Curso de métodos numéricos — 111/145

Figure 108. Ejemplo Bisección

19.1.2 Método de Newton


Para trabajar con el método de Newton se hará uso del cálculo simbólico de MATLAB el cuál permitirá obtener tanto la función como su
derivada; el comando syms permite trabaja en forma simbólica mientras el comando subs reemplazara los valores de la variable independiente
en contenido numérico lo cuál evaluará a la función en un punto.
De esta manera en un vector se almacenará primero el valor inicial, la función en ese punto, la derivada en ese punto y el cálculo del siguiente
valor y bastará con realizar el cálculo iterativamente y reemplazar el nuevo valor con el valor inicial hasta tener una respuesta aceptable al
error planteado.

Figure 109. Ciclo while método de Newton


Curso de métodos numéricos — 112/145

Para el ciclo for se utilizará el mismo concepto sin embargo se tiene un for que recorre de 1 a infinito y el criterio de parada de cumplirse
se saldrá automaticamente del bucle.

Figure 110. Ciclo for método de Newton

Observando los siguientes resultados.

Figure 111. Ejemplo método de Newton while


Curso de métodos numéricos — 113/145

Figure 112. Ejemplo método de Newton for

19.1.3 Método de la secante


Para realizar este ejercicio teniendo dos valores iniciales y el valor del error ingresados ası́ como la función a analizar se encontrará el tercero
mediante la fórmula de la secante utilizando los dos valores iniciales y sus imágenes.
Para el ciclo while tendremos el siguiente código.

Figure 113. Código while para método de la secante


Curso de métodos numéricos — 114/145

De igual manera para el criterio for tendremos un análisis similar simplemente tendremos un criterio de parada en una condición if

Figure 114. Código for para método de la secante

Obteniendo los siguientes resultados

Figure 115. Ejemplo método de la secante while


Curso de métodos numéricos — 115/145

Figure 116. ejemplo método de la secante for

19.2 Métodos para la resolución de sistemas de ecuaciones


Representación de un sistema de ecuaciones como matrices Definase un sistema de ecuaciones con igual número de ecuaciones e
incógnitas como:

a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1


a21 x1 + a22 x2 + a23 x3 + · · · + a2n xn = b2
.. (115)
.
an1 x1 + an2 x2 + an3 x3 + · · · + ann xn = bn

Representado en la forma matricial como Ax = b

    
a11 a12 a13 ... a1n x1 b1
a21
 a22 a23 ... a2n  x2  b2 
   
a31
 a32 a33 ... a3n 
 = x3  b3 
  
(116)
 . .. .. .. ..   ..   .. 
 .. . . . .   .  . 
an1 an2 an3 ... ann xn bn

Condiciones de la solución Existen varios métodos para poder resolver un sistema de ecuaciones lineales siempre que se cumpla con la
siguientes condiciones que las filas y columnas de la matriz son linealmente independientes y además de esto

det(A) 6= 0; ∃A−1 (117)

Para los siguientes métodos podemos utilizar laa propiedad que establece que las filas de una matriz se puede cambiar por otra, siendo este
proceso justificado por una matriz de permutación P la cual será la identidad con sus filas intercambiadas.

19.2.1 Gauss
El método de Gauss se basa principalmente en reducir en reducir la matriz de coeficientes A a una matriz triangular superior, teniendo
unicamente ceros por debajo de la diagonal
 0
a11 a012 a013 . . . a01n
   0 
x1 b1
 0 a0 a0 . . . a 0 0
22 23 2n    b20 
x2
   

 0 0 0 0
a33 . . . a3n  = x3  b3 
   
 
 . . .. .. ..   ..   .. 
 .. .. . . .   .  . 
0 0 0 ... a0nn xn b0n
Curso de métodos numéricos — 116/145

De donde se puede obtener por despejes sucesivos la matriz de solución x


Programa
Utilizando el programa MATLAB se puede diseñar el método de Gauss para resolver un sistema de ecuaciones lineal no singular.
Dentro de la función utilizada en el programa lo primero será determinar si la matriz es singular o no lo cuál se puede averiguar con el
comando ”det()” que calculará el determinante de la matriz y si este es diferente de cero se puede seguir con la solución del sistema.

Figure 117. Algoritmo método de Gauss Jordan

Procedemos a verificar que no existen ceros en la diagonal para lo cual de darse ese caso se intercambiaran las filas de la siguiente manera.
De existir el caso que al final de este procedimiento el elemento de la diagonal final sea cero y al ser el último no se lo pueda intercambiar

Figure 118. Algoritmo para el cambio de filas

podemos usar una función auxiliar para poder solucionar este problema, de lo contrario diremos que la matriz es singular y no encontraremos
solución.—

Una vez cumplida esta condición podemos reducirla a una matriz triangular superior mediante el siguiente algoritmo
Curso de métodos numéricos — 117/145

Figure 119. Algoritmo auxiliar para el cambio de filas

Figure 120. Algoritmo parauna matriz triangular superior

Y ya reducida se resuelve por un método de sustitución simple

Figure 121. Algoritmo para la resolución de una matriz triangular superior


Curso de métodos numéricos — 118/145

Ejemplo
Teniendo un sistema este se lo puede representar por (116) en matrices

Figure 122. Ejemplo método de Gauss

19.2.2 Gauss-Jordan
El método de Gauss-Jordan tiene el mismo principio que el método de Gauss con la diferencia que también se trabajara tanto con la matriz
para hacerla triangular superior y luego seprocede a eliminar los elementos por encima de la diagonal teniendo ası́ una matriz diagonal con lo
que la solución se obtendrá de una forma inmediata
Al igual que con Gauss procedemos a verificar por medio de la figura (118)y figura (119) nos aseguraremos que no existan ceros en la
diagonal y gracias al algoritmo de la figura (120) la transformaremos en una matriz diagonal superior.
A partir de este paso procedemos a trabajar con un nuevo algoritmo esta vez para hacer de la matriz una matriz diagonal eliminando los
Curso de métodos numéricos — 119/145

elementos encima de esta.


Programa

Figure 123. Algoritmo principal Gauss Jordan

Con la función que eliminará los elementos por encima de la diagonal

Figure 124. Algoritmo Eliminar elementos filas superiores

Obteniendo la matriz diagonal con lo cual obtendremos la respuesta.


Ejemplo
Usaremos el mismo sistemas de ecuaciones para comprobar el método de Gauss Jordan.
Curso de métodos numéricos — 120/145

Figure 125. Algoritmo Eliminar elementos filas superiores

19.2.3 LU
El método de factorización LU consiste basicamente en dividir a la matriz A en dos matrices L y U, la primera triangular inferior y la segunda
triangular superior y tendremos entonces el sistema:
    
a11 a12 a13 . . . a1n l11 0 0 ... 0 u11 u12 u13 . . . u1n
a21 a22 a23 . . . a2n  l21 l22 0 ... 0 u22 u23 . . . u2n 
 0

   
a31 a32 a33 . . . a3n  l31 l32 la33 . . . 0  0 0 u33 . . . u3n 
 =   A = LU (118)
 . .. .. .. ..   .. .. .. .. ..   .. .. .. .. .. 
 .. . . . .   . . . . .  . . . . . 
an1 an2 an3 . . . ann ln1 ln2 ln3 . . . lnn 0 0 0 . . . unn

Esta es la factorización LU mas simple y uno de los métodos utilizados el mediante el algoritmo de Gauss para en donde utilizaremos los
elementos de la diagonal para transformar los elementos debajo de esta por medio de la resta de las filas de los elementos a eliminar menos la
Curso de métodos numéricos — 121/145

fila de pivote multiplicado por un factor de multiplicación m dado por

m = amn /dmm
(119)
amn = amn − m ∗ dmm

siendo amn el elemento a eliminar y dmn el elemento de la diagonal qu nos ayudara a realizarlo. El factor m se guardará en la matriz L en la
posición del mismo elemento para el cual se intento eliminar.
Debido a que si existen ceros en la diagonal se deben intercambiar las filas tendremos la nueva igualdad

PA = LU (120)

donde P sera una matriz de permutacı́ón compuesta por una matriz identidad la cual tendrá las filas cambiadas de la misma manera que la
matriz A sinceros en la diagonal.
Una vez obtenida las matrices L y U y sea el sistema (115 ) tendremos los sistemas

Ly = b0
(121)
Ux = y

Programa

Figure 126. Algoritmo principal resolución LU

Siendo b’=P*b ,obteniendo x obtenemos la solución al sistema de ecuaciones de (115)


Curso de métodos numéricos — 122/145

Figure 127. Algoritmo para factorizar L y U

Figure 128. Algoritmo para resolver Ly=b

Figure 129. Algoritmo para resolver Ux=y


Curso de métodos numéricos — 123/145

Ejemplo
Usando el sistema de ecuaciones de los ejemplos anteriores podemos utilizar el algoritmo para el método LU.

Figure 130. Ejemplo método factorización LU

19.2.4 Matriz inversa por un sistema de ecuaciones


Se puede lograr la inversa de una matriz mediante el planteamiento de sistemas de ecuaciones sabiendo que
A ∗ A−1 = I

 0
a012 a013 a01n
   
a11 a12 a13 ... a1n a11 ... 11 0 0 ... 0
a21 a22 a23 ... a2n  a021 a022 a023 ... 0
a2n  0 12 0 ... 0
 0
a032 a033 a03n 
   
a31
 a32 a33 ... a3n 
 a31
 ... =0
 0 13 ... 0  (122)
 . .. .. .. ..   .. .. .. .. ..   .. .. .. .. .. 
 .. . . . .  . . . . .  . . . . .
an1 an2 an3 ... ann a0n1 a0n2 a0n3 ... a0nn 0 0 0 ... 1n

Se puede dividir para columna formando un sistema de ecuaciones


  0   
a11 a12 a13 . . . a1n a1n b1
a21 a22 a23 . . . a2n  a02n  b2 
  0   
a31 a32 a33 . . . a3n  a3n  b3 
   =   (123)
 . .. .. .. ..   ..   .. 
 .. . . . .  .   . 
an1 an2 an3 . . . ann a0nn bk

Donde bk = 1 si k = n y cero de otra manera


Al resolver cada una de las soluciones de los sistemas de ecuaciones, obtendremos cada una de las columnas de la matriz inversa.
Curso de métodos numéricos — 124/145

Programa
Para implementar el algoritmo de la matriz inversa usaremos el algoritmo descrito en la figura 126.

Figure 131. Algoritmo para encontrar la inversa de una matriz

Ejemplo
Encontraremos la inversa de la matriz A anteriores.
   
1 2 3 −2.66 2.66 −1
inv 4 5 6 =  3.33 −4.33 2
7 8 8 −1 2 1

Figure 132. Ejemplo inversa de una matriz por LU


Curso de métodos numéricos — 125/145

19.3 Métodos de interpolación


19.3.1 Método de Lagrange
Marco Teórico El método de Lagrange consiste en crear un polinomio en el itervao [a,b] que se aproxime a la función original de la forma

f (x) = PN (x) + EN (x) (124)

Donde
N
PN (x) = ∑ f (xk )LN,k (x) (125)
k=0

N
∏ (x − x j )
j=0, j6=k
LN,k (x) = N
(126)
∏ (xk − x j )
j=0, j6=k

(x − x0 )(x − x1 ) . . . (x − xN ) f N+1 (c)


EN (x) = (127)
(N + 1)!
para algún valor c=c(x) del intervalo [a,b]
Programa
La implementación del código para la interpolación de Lagrange se centrará en dos ciclos for anidados que calcularán LN,k y cada uno de los
elementos de PN graficando finalmente el polinomio interpolador y los puntos originales con asteriscos para verificar su veracidad.

Figure 133. Programa interpolador de Lagrange


Curso de métodos numéricos — 126/145

19.3.2 Método de Newton


Marco Teórico El método de Newton consiste en crear un polinomio de la forma.

PN (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) · · · + an (x − x0 )(x − x1 ) . . . (x − xn ) (128)

Donde an se obtendrá por medio del método de diferencias divididas obtenidas de la forma

Figure 134. Esquema de diferencias divididas

Programa La implementación del código para realizar las diferencias divididas se centrará en utilizar una matriz y sus posiciones para
calcular las diferencias divididas dentro de la misma matriz, la cuál comenzará en una matriz nula llena de ceros.
Curso de métodos numéricos — 127/145

Figure 135. Programa interpolador de Newton

19.3.3 Programa interpolador de Spline


Marco teórico

Para utilizar una interpolación de Spline se deberá dividir al los datos obtenido en grupos de 3 para poder trazar una curva suave entre ellos y
concatenar todas estas para lograr una interpolación.
Para que una curva entre tres puntos sea suave debe de cumplir de cumplir las siguientes condiciones para las siguientes dos curvas.

S1 (x) = a1 x2 + a2 x + a3 ;

x0 < x < x1
S
S2 (x) = b1 x2 + b2 x + b3 ; x1 < x < x2
• S1 (x1 ) = S2 (x1 )

• S1 (x1 ) = f (x1 )

• S1 (x0 ) = f (x0 )

• S2 (x2 ) = f (x2 )

• S10 (x1 ) = S20 (x1 )

• Si no se da como dato la derivada será cero S10 (x1 ) = 0


Curso de métodos numéricos — 128/145

Programa
Por lo que la curva de interpolación entre estos tres puntos sera la resolución del sistema de ecuaciones; por lo que tendremos el programa
que hará esto

Figure 136. Programa de interpolación para tres puntos

El programa devolverá la derivada del punto x2 para poder utilizarlo en el siguiente grupo de puntos.Para poder utilizar esto en un grupo
de puntos utilizaremos otra función que controlará el proceso iterativo.
Curso de métodos numéricos — 129/145

Figure 137. Programa de interpolación completa

Para poder utilizar una interpolación de Spline de grado dos necesitaremos un numero impar de datos para utilizar todos asi que de ser
necesario podemos añadir un dato extra que aunque no sea real nos servira para poder realizar la interpolación ya que no se deberá tomar en
cuenta cualquier valor fuera del intervalo de interpolación.

19.3.4 Comparación de métodos


Para comparar los tres métodos anteriores se utilizará una función que reciba los dos vectores x e y y realice las tres interpolaciones para
observar los resultados

Figure 138. Programa de comparación

Una vez realizado el programa se lo probara con datos aleatorios que el programa ordenará para su uso y utilizará en los tres métodos,
tomando la función y=2x tendremos

Figure 139. Ejemplo y=2x


Curso de métodos numéricos — 130/145

Figure 140. Ejemplo y=2x

Obteniendo el resultado que muestra que el método de Lagrange y Newton funcionan de una manera eficiente para una función lineal, sin
embargo la función de Sline al tomar la función a trozos y debido a sus condiciones formara un polinomio que aunque coincide en los datos
datos y se une con una curva suave,no es tan exacto como los dos métodos anteriores.
Ahora probraremos los métodos con una función trigonométrica y=sin(x)con 13 datos en el intervalo de 0 a 6.

Figure 141. Ejemplo y=sin (x)

Figure 142. Ejemplo y=sin(x) con 13 datos

Observamos que igual que en el ejemplo anterior el método de Spline por sus condiciones aunque cumple con los datos dados no es una
representación muy exacta de la función deseada, por lo que se optará por observar los resultados ahora con 63 puntos dados desde 0 a 6
obteniendo.
Curso de métodos numéricos — 131/145

Figure 143. Ejemplo y=sin(x) con 63 datos

Lo cual aunque aumenta considerablemente el esfuerzo en el cálculo muestra que el método de Spline mejora considerablemente,
aunque su exactitud no es tan buena como los métodos de Lagrange y Newton para una función conocida, y depende del número de datos
dados,además de esto se nota que aun existen pequeñas variaciones en la función de interpolación de Spline.
Ahora se puede experimentar con una serie de datos aleatorios y observar las interpolaciones resultantes

Figure 144. Ejemplo Datos Aleatorios


Curso de métodos numéricos — 132/145

Figure 145. Ejemplo Interpolación con datos aleatorios

Con lo que podemos observar que los métodos de Lagrange y Newton forman una interpolación muy parecida, sin embargo alcanza
valores extremos más elevados en relación al método de Spline mientras mas se acercan a los extremos del intervalo seleccionado, lo cual
puede dar lugar a errores; considerando que fuera del intervalo los métodos de interpolación son serán exactos o precisos.

19.4 Métodos de Derivación


Los métodos de derivación se basan en ciclos repetitivos que calculen el valor de la siguiente derivada partiendo de un punto de valor inicial
utilizando las fórmulas ya definidas en la sección de derivación.

19.4.1 Derivación centrada

Figure 146. Programa derivación centrada

19.4.2 Derivación adelantada

Figure 147. Programa derivación adelantada

19.5 Métodos de Integración


Los programas de los métodos de integración compuesta se basan en las fórmulas de integración simple repitiendolas gracias a un ciclo
repetitivo for que calculara su valor y lo sumará en un acumulador repetitivo cuyo valor será la respuesta final
Curso de métodos numéricos — 133/145

19.5.1 Método del rectángulo

Figure 148. Programa de integración del rectángulo

19.5.2 Método del trapecio

Figure 149. Programa de integración del trapecio

19.5.3 Método del Simpson 1/3

Figure 150. Programa de integración de Simpson 1/3


Curso de métodos numéricos — 134/145

19.6 Métodos de resolución de ecuaciones diferenciales


19.6.1 Método de Heun
Teorı́a
También conocido como método de Euler mejorado el método de Heun se basa en el siguiente esquema

y0 (t) = f (t, y(t)); en [a, b]; y(0) = y0


Z t1 Z t1
f (t, y(t))dt = y0 dt = y(t0 ) − y(t1 )
t0 t0 (129)
Z t1
y(t1 ) = y(t0 ) + f (t, y(t))dt
t0

Para resolver le lado derecho de la ecuación que consta de un aintegral se usara la regla del trapecio con incremento h = (t1 − t0 ) obteniendo
h
y(t1 ) = y(t0 ) + ( f (t0 , y(t0 )) + f (t1 , y(t1 ))))
2
Sin embargo para poder realizar esta operación se necesitará del valor de y1 el cual es exactamente el que deseamos encontrar, par resolver
este problema se encontrará un valor aproximado de este por medio del método de Euler el cual es

yk+1 = yk + h f (tk , yk ) (130)

Obteniendo finalmente la fórmula


h
yk+1 = yk + ( f (tk , y(tk )) + yk + h f (tk , yk )) (131)
2
El cual es el esquema iterativo para ası́ poder encontrar los valores próximos de la función solución
Programa
Basados en ( 131 ) el programa a implementar tendrá el siguiente esquema

Figure 151. Programa para la resolución de ecuaciones diferenciales por el método de Heun

Ejemplo
Para comprobar el funcionamiento del programa se plantea la siguiente ecuación
dy 1 2
= √ e−t
dt 2π
La cual es la ecuación de la distribución normal, aplicando el programa con un paso de h=0.5 y y(0)=0.5 se obtiene el siguiente resultado
Curso de métodos numéricos — 135/145

Figure 152. Solución numérica a la ecuación diferencial de una distribución normal por el método de Heun

Figure 153. Solución real a la ecuación diferencial de una distribución normal por el método de Heun

19.6.2 Método de Taylor


Teorı́a
El método de Taylor se basa en el desarrollo de la serie de Taylor donde una función se puede expresar de la forma
N
y( j) (tk ) j−1
y(tk + h) = y)tk ) + h ∑ h (132)
j=1 j!

Donde por la regla de la cadena se puede encontrar

f 0 (t) = f
f 00 (t) = ft + fy f
f (3) = ftt + 2 fty f + fyy f 2 + fy ( ft + fy f )
(133)
f (4) = ( fttt + 3 ftty f ) + 3 ftyy f 2 + fyyy f 3 ) + fy ( ftt + 2 fty f + fyy f 2 ) + 3( ft + fy f )( fty + fyy f )) + fy2 ( ft + fy f )
!!!!
0 f 00 (yk ) f (3) (yk ) f (4) (yk )
yk+1 = yk + h f (yk ) + h +h +h
2 6 24
Curso de métodos numéricos — 136/145

Hallando ası́ el siguiente punto de la función solución a la ecuación diferencial, al realizar este proceso para todos los puntos desde hasta b
con un paso h se encontrará los puntos correspondientes a la imagen de la función solución.
Programa
El programa del método de Taylor utiliza la función diff() y subs() en conjunto para poder encontrar hasta la cuarta derivada en función de t
y y(t) para poder usarlos en el esquema iterativo antes descrito y asi poder encontrar los puntos de la función con un orden de aproximacion
O(h5 )

Figure 154. Programa para la resolución de ecuaciones diferenciales por el método de Taylor

Ejemplo
Para comprobar el funcionamiento del programa se plantea la siguiente ecuación
dy 1 2
= √ e−t
dt 2π
La cual es la ecuación de la distribución normal, aplicando el programa con un paso de h=0.5 y y(0)=0.5 se obtiene el siguiente resultado

Figure 155. Solución numérica a la ecuación diferencial de una distribución normal por el método de Taylor
Curso de métodos numéricos — 137/145

Figure 156. Solución real a la ecuación diferencial de una distribución normal por el método de Taylor

19.6.3 Método de Runge-Kutta


El método de Runge Kutta se basa en el siguiente esquema

f 1 = f (tk , yk )
 
h h
f 2 = f tk + , yk + f1
2 2
 
h h
f 3 = f tk + , yk + f2 (134)
2 2
f 4 = f (tk + h, yk + h f3 )
h( f1 + 2 f2 + 2 f3 + f4 )
yk+1 = yk +
6
Hallando ası́ el siguiente punto de la función solución a la ecuación diferencial, al realizar este proceso para todos los puntos desde hasta b
con un paso h se encontrará los puntos correspondientes a la imagen de la función solución.
Programa
El programa implementado en Matlab para el método de Runge-Kutta evalué en cada iteración estas condiciones con un paso h dado de la
función en el intervalo [a,b] encontrando el siguiente punto y el cual se evalúa en un siguiente paso para encontrar la siguiente imagen de la
función solución.

Figure 157. Programa para la resolución de ecuaciones diferenciales por el método de Runge-Kutta

Ejemplo
Para comprobar el funcionamiento del programa se plantea la siguiente ecuación
dy 1 2
= √ e−t
dt 2π
Curso de métodos numéricos — 138/145

Figure 158. Solución numérica a la ecuación diferencial de una distribución normal por el método de Runge-Kutta

Figure 159. Solución real a la ecuación diferencial de una distribución normal por el método de Runge-Kutta

La cual es la ecuación de la distribución normal, aplicando el programa con un paso de h=0.5 y y(0)=0.5 se obtiene el siguiente resultado
Curso de métodos numéricos — 139/145

19.6.4 Comparación de métodos


Para comparar los tres métodos antes establecidos se resolverá la ecuación diferencial siguiente

y0 = t + y(t); y(0) = 0 h = 0.5

A continuación se observa los tres resultados comparados con su solución real

Figure 160. Solución de la ecuación diferencial por el método de Heun

Figure 161. Solución de la ecuación diferencial por el método de Taylor


Curso de métodos numéricos — 140/145

Figure 162. Solución de la ecuación diferencial por el método de Runge-Kutta

Se observa aunque en una proporción muy pequeña que los métodos de Runge-Kutta y de Taylor presentan una mejor precisión que el
método de Heun, sin embargo la complejidad de calcular estos dos métodos demanda mas recursos computacionales y tiempo de cálculo, por
lo que se debe tomar en cuenta estos aspectos si se quiere aplicar uno mde los métodos en la vida practica

20. Aplicación a la electrónica-Conversión análoga digital


En el procesamiento de señales es necesario el poder manipular las señales de tal manera que se pueda no solamente poder enviarlas hacia
un medio digital sino también para que la computadora pueda entender y procesar una señal análoga, para poder ası́ realizar procesos que
requieren un complejidad matemática y computacional muy grande, además de poder almacenar una señal real en el tiempo de tal manera que
se pueda analizar en un tiempo determinado y no se pierda en el tiempo.
La conversión análoga digital se basa en el método del muestreo que consiste en tomar diferentes muestras en el tiempo y almacenarlas como
valores discretos dentro de un computador, obteniendo una señal discreta en lugar de una señal continua en el tiempo.

Figure 163. Ejemplos de una señal análoga y señal discreta

Como se puede observar en la figura (163) la diferencia entre una señal analógica y una señal discreta es justamente su continuidad, sin
embargo una señal análoga que ha sido muestreada y almacenada en una base de datos para poder ser utilizada puede generar una buena señal
digital que la represente.

20.1 Teorema del muestreo


A partir del método del muestreo descrito se plantea la pregunta: ¿ cuántas muestras son necesarias para lograr una buena representación
de una señal analógica?, se debe considerar que el tiempo entre cada muestra debe de ser equidistante de tal manera que se pueda obtener
Curso de métodos numéricos — 141/145

una señal discreta que se pueda interpretar, por lo tanto debe existir un paso de muestreo de tal tamaño que se pueda obtener un número
representativo de datos, este paso se define como perı́odo de muestra y se determina como
Td
δt = (135)
n
Donde Td y n son el Intervalo a muestrear y n el numero de muestras a tomar, la frecuencia de muestreo se define como:
1
fs = (136)
δt
Y es el número de muestras que se tomarán por cada tiempo de muestreo, ahora el objetivo central será analizar cual serı́a la frecuencia de
muestreo ideal para una determinada señal, el teorema del muestreo establece que si se conoce la frecuencia máxima de una señal el muestreo
se debe de realizar con una frecuencia tres veces mayor a esta, de tal manera que se pueda obtener una señal representativa.

Figure 164. Señal muestreada con una frecuencia tres veces su máxima frecuencia

Para una señal no determinista es decir que no pueda ser representada en el tiempo debido a una fórmula matemática se debe tomar una
frecuencia de muestreo mucho mayor y la frecuencia de muestreo para una señal es del orden de los khz (numero de muestras tomadas por
segundos), mientras más alta la frecuencia de muestreo, mejor la representación de esa señal y por ende mayor calidad de una señal.

20.2 Digitalización de una señal


Una vez obtenidas las muestras de una señal se puede volverla digital al ajustar los niveles de la misma hacia números que puedan ser
representados en codificación binaria, ajustando a su número posible de representar más próximo, mientras se represente una señal con un
número mayor de bits entonces se podrá tener un número mayor de niveles a representar y por lo tanto una digitalización más óptima, como
se puede observar en la figura (3)

Figure 165. Señal muestreada con una frecuencia tres veces su máxima frecuencia

20.3 Conversión digital-análoga de una señal


Una vez obtenida una señal digital se puede realizar una conversión hacia una nueva señal análoga mediante métodos como la interpolación
en la cual se una los puntos mediante una curva suave, se puede utilizar los métodos de Lagrange, Newton o interpolación por Splines para
poder obtener el resultado deseado
Curso de métodos numéricos — 142/145

Figure 166. Interpolación de una señal digital a una señal análoga

20.4 Digitalización de una señal en Matlab


Para poder representar una señal en Matlab existen varios comandos para poder tomar un muestreo adecuado, una señal análoga será por
ejemplo una señal de voz la cual puede ser obtenida por medio del comando audiorecorder() y recordblocking() lo cual nos dará un vector
de muestras a una frecuencia de muestreo de 8000 Hz, después de esto se puede amplificará la señal obtenida por 100 para obtener una
precision de dos cifras decimales y se sumara su mı́nimo valor a cada valor muestreado para volver la señal completamente positiva,además
de escalar la señal hacia su número mayor representado en codificación binaria dependiendo de cuantos bits se tengan y ası́ poder representar
gracias a la función round() números enteros dentro del rango de bits utilizados y gracias a la función dec3bin() se podrán convertir todos los
valores a un vector de valores binarios y gracias a la función xlswrite() se almacenarán estos valores en un documento de Microsoft Excel.

Figure 167. Programa transmisor de señal de audio


Curso de métodos numéricos — 143/145

Figure 168. Datos almacenados en una hoja de Microsoft Excel

20.5 Conversión Digital-Análoga de una señal en Matlab


Para poder tomar los datos digitales almacenados anteriormente la función SoundReception(x,scale,offset) recibirá como parámetros el
vector de tiempo utilizado para el muestreo y la escala y desplazamiento que tuvo la señal en su codificación, mediante la interpolación de
Spline definida en Matlab se puede obtener una reconstrucción análoga de la señal, que deberá volver a la escala y desplazamiento original y
ası́ grabarla en un nuevo archivo de audio usando la función audiowrite()

Figure 169. Programa de recepción y conversión digital-análoga

Obteniendo como resultados las siguientes señales y el archivo de audio.

Figure 170. Programa de recepción y conversión digital-análoga


Curso de métodos numéricos — 144/145

Figure 171. Señales digital-análoga con 16 bits

Si se toma ahora por ejemplo un número menor de bits para poder representar una señal el proceso será el mismo sin embargo al tener una
cantidad menor de números que puedan representar nuestra señal el número de datos por el redondeo será mucho mayor, lo que ocasionará
una calidad mucho más baja en nuestra señal y un sonido de audio con ruido por consecuencia de esto.

Figure 172. Señales digital-análoga con 3 bits


Curso de métodos numéricos — 145/145

21. Conclusiones
• Se pueden utilizar varios métodos iterativos para poder alcanzar soluciones aproximadas.
• Las herramientas computacionales como MATLAB pueden ser de gran ayuda al realizar cálculos repetitivos.
• Siempre existirá un margen de error que se debe intentar minimizar.
• Se pueden representar aproximadamente funciones por medio del polinomio de Taylor, lo cual representa una gran ayuda para
funciones complejas o difı́ciles de operar.
• Existen diferentes métodos de resolución de sistemas de ecuaciones lineales, cuyo uso depende de la aplicación que se utilice.
• Si un sistema es inestable pequeños cambios en el sistema pueden producir grandes cambios en la solución; para poder reducir la
estailidad se puede utilizar la descomposicı́on en valores y la pseudo inversa de la matriz de coeficientes sin tomar en cuenta los
valores singulares cercaos a cero,
• Existen sistemas de interpolación para un grupo de puntos dados dentro de un intervalo, cuyo uso dependerá del tipo de datos a
interpolar.
• Los métodos de derivació e integración utilizan ciclos repetitivos con un tamaño de paso que siendo apropiado dan una aproximación
muy cercana a sus valores reales.
• Los métodos de resolución de ecuaciones diferenciales utilizan los valores de la variable independiente y un valor inicial de la variable
dependiente para poder calcular valores siguientes aproximados de la función solución con un paso equidistante
• Los métodos numéricos representan una herramienta muy útil como aplicación en el campo de ciencias e ingenierı́a al momento de
realizar cálculos de complejidad muy alta.
• Los métodos de interpolación pueden ser utilizados para poder convertir una señal digital en una señal análoga para poder ası́ recuperar
datos almacenados digitalmente.
• La conversión análoga digital permite almacenar datos de una señal análoga en el tiempo y digitalizarla para su transmisión.
• El número de bits utilizados para la digitalización de una señal determina la cantidad de niveles de una señal que pueden representarse
digitalmente.
• La frecuencia de muestreo y la cantidad de datos que se toman en el muestreo de una señal determinan la calidad de la señal a
digitalizar, sin embargo un muestreo excesivo de datos de una señal generarı́a datos innecesarios que tomarı́an un cálculo con mayor
complejidad computacional.

References
[1] J. Mathews - K.Fink, Métodos numéricos con MATLAB, Prentice Hall,2000
[2] J. Sánchez - A..Souto, Problemas de Cálculo Numérico para ingenieros con aplicaciones MATLAB, McGraw-Hill ,2005
[3] Dr.P.Medina, SVD
[4] Dr.P.Medina, Sistemas Lineales
[5] Dr.P.Medina, Interpolación
[6] Dr.P.Medina, Derivación e integración
[7] A.Oppenheim - A.Willsky - S. Nawab Señales y sistemas. Pearson Educación (1998).

También podría gustarte