Você está na página 1de 29

Introducción a los métodos numéricos

Magı́ster Mariela C. Olguı́n∗


August 30, 2014


E-mail: mcolguin@fceia.unr.edu.ar

1
Contents
1 ¿Qué es un método numérico? 3

2 Resolución aproximada de ecuaciones no lineales 4


2.1 Método de Bisección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Método de la secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Método de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Métodos de Punto fijo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Sistemas lineales de ecuaciones 10


3.1 Métodos directos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.1 Eliminación Gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.2 Descomposición LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Métodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 Método de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.2 Método de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Sistemas de ecuaciones no lineales 15

5 Ajuste de funciones 16
5.1 Interpolación de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.1.1 Método de interpolación de Lagrange . . . . . . . . . . . . . . . . . . . . . . . 17
5.1.2 Método de diferencias divididas de Newton . . . . . . . . . . . . . . . . . . . . 18
5.2 Aproximación de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

6 Integración numérica 21
6.1 Método del trapecio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.2 Método de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

7 Diferenciación numérica 24
7.1 Fórmulas de un punto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.2 Fórmulas de 2 puntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.3 Fórmulas de 3 puntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.4 Derivación numérica a partir del polinomio aproximante . . . . . . . . . . . . . . . . . 25
7.5 Problemas de EDO con condiciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . 25
7.5.1 Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.5.2 Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8 Apéndice 28
8.1 Algoritmo Figura 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.1.1 Teorema de bolzano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

9 Bibliografı́a 29

2
Abstract
En este trabajo se desarrollan, resumidamente, diversos conceptos básicos del análisis numérico.
Intenta ser una guı́a de clase para que el estudiante pueda profundizar en la investigación de esta
gran herramienta ya que, en la actualidad, una creciente cantidad de problemas que se originan en
varias disciplinas cientı́ficas o de la ingenierı́a, requieren la utilización de métodos numéricos.
En cada sección, se definen diversos métodos numéricos dirigidos a obtener una aproximación de
la solución de distintos problemas. Además se proponen ejercicios que ayudarán al estudiante a
comprender los temas desarrollados. Este apunte se complementará con las clases teóricas y de
laboratorio.

1 ¿Qué es un método numérico?


Muchas veces, al observar procesos de la biologı́a, quı́mica, fı́sica, economı́a ó ingenierı́a, se obtienen
modelos matemáticos a los que resulta difı́cil o imposible resolver analı́ticamente. Esto último es un
hecho usual en la práctica pues, por ejemplo en el caso de un experimento fı́sico, sólo se contará con
algunas observaciones del experimento como toda información. Es por esto que surge la necesidad de
desarrollar técnicas, es decir métodos numéricos, que nos permitan aproximar numéricamente la
solución requerida.
Antes de comenzar a desarrollar algún método numérico, hemos de tener en cuenta de que in-
evitablemente, al implementar algoritmos para resolver algún problema utilizando la computadora,
aparecerán errores en nuestras soluciones. Es por esto precisamente que las soluciones obtenidas se
llaman soluciones aproximadas. Las diferentes razones por las cuales estos errores irán apareciendo
son:

H En primer lugar, los datos medidos en una observación, dependerán del sistema de medición utilizado
y por lo tanto habrá “errores de medición”.

H En segundo lugar, el algoritmo considerado también introducirá errores llamados “errores de trun-
camiento”.

H Y por último, la computadora también introduce “errores de redondeo” dada la forma de repre-
sentación interna de los números.

Veamos un ejemplo de la aparición de error en el cálculo del valor numérico de una función a partir
de truncar una representación en serie.

Ejemplo 1: Sea f una función infinitamente derivable en un entorno de x0 , N (x0 ). Si esta función
puede ser representada mediante una Serie de potencias de Taylor alrededor del punto x0 , se tendrá
que:

X f (k) (x0 )
f (x) = (x − x0 )k ∀ x ∈ N (x0 ).
k!
k=0

Pero si se trunca esta serie en los primeros (k + 1) términos, lo que se obtiene es un Polinomio de
Taylor de grado k para f alrededor de x0 :

k
f (x) ≈ f (x0 ) + f 0 (x0 )(x − x0 ) + .... + f (k) (x0 ) (x−x
k!
0)
= Pk (x).

Puede verse que el error de truncamiento cometido es, para algún ξ ∈ N (x0 )

3
(k+1)
|Rk (f, x0 )| = |f (x) − Pk (x)| = | f (k+1)!(ξ) (x − x0 )k+1 |

Observación 1: Este es un error que llamaremos “error de truncamiento verdadero” pues, para
medirlo, debe conocerse el valor verdadero de f (x). En la práctica, nos conformaremos con estimar el
máximo error posible acotando superiormente la función |f (k+1) (x)| en el entorno N (x0 ).

Teniendo en cuenta el desarrollo anterior, resulta evidente que para poder obtener una solución
numérica con el mı́nimo error, es necesario conocer cómo se originan estos errores y si es posible,
evitarlos. Luego, de acuerdo a los datos que tengamos del problema, estaremos en condiciones de
elegir adecuadamente el esquema numérico a utilizar(recordar que buscamos rapidez en el método
numérico y precisión en la solución aproximada).

I Ejercicio 1: Aproximar a la función ex alrededor de x = 0, sucesivamente, con polinomios de Taylo


de grados 1, 2, 3 y 4. Mostrar en un mismo gráfico estas aproximaciones y estimar los respectivos
errores si x ∈ [0, 1].

Definición: Llamando xv al valor verdadero de un número y xa a su valor aproximado, se definen:

 Error absoluto = |xv − xa |

| error absoluto | |xv −xa |


 Error relativo fraccional = |valor verdadero | = |xv |

|error absoluto | |xv −xa |


 Error relativo porcentual = |valor verdadero | · 100% = |xv | · 100%.

2 Resolución aproximada de ecuaciones no lineales


En materias anteriores, se han estudiado varios tipos de ecuaciones y se ha visto la forma de resolverlas.
Por ejemplo en el caso de ecuaciones polinómicas de grado pequeño ó aquellas que se resuelven mediante
el uso de técnicas como factoreo, factor común en grupos, Ruffini, etc. Pero, qué ocurre cuando aparece
una ecuación del tipo:
e−x − x = 0. (1)
En esta sección, desarrollaremos algunos de los muchos métodos existentes para resolver ecuaciones
no lineales como la anterior, en forma aproximada.
El primer paso en el proceso de resolución aproximada de una ecuación, es hacer es un bosquejo
de las funciones que la conforman. En la Figura 1, que aparece a continuación (ver algoritmo en el
Apéndice), se observan en el mismo gráfico las representaciones de e−x y x. Entonces tenemos una
“idea“ de la solución de la ecuación (1)
Pero algunas veces es muy complicado realizar este esquema, por lo que es altamente recomend-
able poder establecer la existencia y unicidad de la solución buscada, antes de encarar su resolución
numéricamente. Por ejemplo, en el caso de tener una función f estrictamente monótona y continua
en el intervalo (a, b), si f tiene un cero, lo asumirá en un único r ∈ (a, b). Si existieran más de una
solución, tendremos que “aislarlas” primero, es decir dar un (a, b) donde podamos asegurar que hay
una y sólo una raı́z y luego aproximarnos de a una por vez.

En lo que sigue, consideraremos la ecuación no lineal:


f (x) = 0 ∀x ∈ [a, b] (2)

4
3.0

2.5
exp(-x)
x
2.0

1.5

1.0

y
0.5

0.0
-1.0 -0.5 0.0 0.5 1.0 1.5 2.0
x
-0.5

-1.0

Figure 1: Resolución gráfica de la ecuación (1)

donde f es una función real y llamaremos r a su solución.


Observación 2: Con los métodos de aproximación de la solución, lo que estaremos haciendo es generar
una sucesión {xn }n=∞
n=1 tal que, bajo ciertas condiciones, xn → r si n → ∞. Por ende, será de mucha
utilidad repasar los conceptos de sucesión y convergencia vistos en Análisis matemático III 1 .

2.1 Método de Bisección


El método de bisección es el método que menos requisitos tiene acerca de la función f y es el más
sencillo para implementar. Bajo las hipótesis del teorema de Bolzano resulta que, si f tiene un cambio
de signo en un intervalo [a, b], existe al menos una raı́z. Si además podemos mostrar monotonı́a de la
función f , tendremos la unicidad de esta raı́z. Entonces, en este intervalo se genera una sucesión de
la siguiente manera:(ver en el Apéndice el teorema de Bolzano)

I Paso 1: Obtener a y b, tal que f (a).f (b) < 0. Dar el número máximo de iteraciones Nmax y la
tolerancia tol.
a1 +b1
I Paso 2: a1 = a; b1 = b; c1 = 2 el punto medio del [a, b]. Sea i = 1.

I Paso 3: Si f (ci ) = 0, entonces r = ci , si no, continuar.

I Paso 4:
ai+1 +bi+1
– Si f (ai ).f (ci ) < 0 entonces sea ai+1 = ai , bi+1 = ci y ci+1 = 2 ;
– sino, si f (bi+1 ).f (ci ) < 0 entonces sea ai+1 = ci , bi+1 = bi y ci+1 = ai+1 +b
2
i+1
;
– i = i + 1.

I Paso 5: Repetir los pasos 3 y 4 iterativamente hasta verificar por lo menos una de las siguientes
tres posibilidades

¸ f (c ) = 0,
i
¸ |c − c | < tol,
i+1 i
¸ haber realizado el máximo de iteraciones, i = N max .
1
Notar que será imprescindible un buen manejo de las 3 materias de Análisis matemático y las 2 Álgebras.

5
Entonces definir i∗ = i y r = ci∗ .

Observemos que, en cada iteración, la longitud del intervalo [a, b] donde se halları́a la solución de la
ecuación, es reducida a la mitad de la anterior. Entonces se tiene que el error estimado en la solución
verifica:
b−a
|r − ci | 6
2i
Con lo que está garantizada la convergencia de la sucesión generada (es decir, del esquema
numérico). Como en realidad no conocemos la solución exacta, se establece un error máximo esperado
(la tolerancia) y a partir de esta tolerancia, podemos estimar la cantidad de iteraciones necesarias
para alcanzarlo:
b−a
|ci−1 − ci | 6 6 tol
2i
por lo tanto, tomando i∗ un natural tal que
ln((b − a)/tol) b−a
i∗ > = log2 ( )
ln(2) tol
obtendremos una solución aproximada ci∗ de la ecuación (2) que satisface la tolerancia de error pre-
determinada.
Antes de continuar, veamos una definición que nos dará una idea de velocidad de convergencia.

Definición: diremos que una sucesión xn → α, con orden de convergencia p ≥ 1, si existe c > 0
tal que

|xn+1 − α| ≤ c |xn − α|p ∀ n ≥ 1.

Para el método de Bisección no podemos asegurar que sea un método con orden de convergencia
lineal, salvo que la sucesión {cn } generada sea monótona. Lo que sı́ es posible mostrar utilizando la
definición anterior, es que la sucesión {bi − ai }i tiene orden de convergencia p = 1. Es decir “el tamaño
de los intervalos donde sucesivamente acotamos la posición de la solución, decrece linealmente”

2.2 Método de la secante


Como su nombre lo indica, dados dos puntos iniciales (x1 , y1 ) ; (x2 , y2 ), trazamos la recta secante a
la gráfica de la función f pasante por estos puntos. Calculamos las coordenadas del punto donde esta
recta tangente interseca al eje x. La abscisa de este punto se toma como x3 . En general, definiremos
una sucesión de la forma:
xk − xk−1
xk+1 = xk − f (xk ) ∀ k ≥ 2.
f (xk ) − f (xk−1 )
Si bien la convergencia de esta sucesión no está asegurada, cuando converge es bastante rápida.
2
I Ejercicio 2: Consideremos la función f (x) = x 3−1 en el intervalo [0, 2]. Sabemos que su gráfica
es una parábola desplazada hacia abajo y cuyas raı́ces son -1 y 1. Aproximar la raı́z positiva de f
utilizando el método de la secante.

I Ejercicio 3: Resolver numéricamente la ecuación x10 − 1 = 0 en [0, 1. 3] mediante los métodos de


Bisección y Secante. Comparar estos métodos obteniendo una idea de velocidad de convergencia y
además teniendo en cuenta las hipótesis necesarias para asegurar convergencia de las iteraciones de
cada método.

6
7
f(x)
recta secante
6

0
−1 −0.5 0 0.5 1 1.5 2

−1

−2

Figure 2: Esquema del método de la secante.

2.3 Método de Newton-Raphson


Consideremos ahora una función f ∈ C 2 ([a, b]), es decir, una función 2 veces derivable con continuidad
(f, f 0 y f 00 continuas). Sea r la raı́z de f en [a, b]. La idea del método se resume en los siguientes
pasos:

ˆ Dar una estimación inicial x ∈ [a, b],1

ˆ hallar el desarrollo de Taylor de primer orden alrededor de x 1 (es decir la recta tangente a f en
x1 ),
f (x) = f (x1 ) + f 0 (x1 )h + O(h2 )
donde h = (x − x1 ),
ˆ definiendo P (x) = f (x ) + f (x )(x − x ), hallar x
1 1
0
1 1 2 tal que P1 (x2 ) = 0.

Esta secuencia se repite hasta obtener la solución aceptando cierta tolerancia prefijada o porque
se llegó al número máximo de iteraciones previsto. Es decir:

Xelegidos x1 , Nmax y tol


f (xn )
Xdefino xn+1 = xn − f 0 (xn ) n = 1, 2, . . . hasta que se verifique n + 1 = Nmax ó |xn+1 − xn | < tol.

Pero, este esquema:

¿siempre es factible?
¿f 0 (xn ) 6= 0?

La respuesta es afirmativa si pedimos que

f 0 (r) 6= 0

pues, por el teorema de conservación del signo para las funciones continuas, si xn es cercano a r, f 0 (xn )
tendrá el mismo signo que f 0 (r).

Teorema 1 (Condición suficiente de convergencia) Sea la función f ∈ C 2 (R), estrictamente


creciente, convexa y tal que existe r que verifica que f (r) = 0. Entonces se tiene que:
X esta raı́z es única,
X xn → r para cualquier punto inicial.

7
Observación 3: Se puede ver que el orden de convergencia para este método es cuadrático.

I Ejercicio 4: Aplicar el método recién visto para estimar la menor raı́z de la función f (x) =
2cosh(x/4) − x. Cuántas iteraciones del método serán necesarias para obtener un error menor que
1.e-8?

2.4 Métodos de Punto fijo


Ante todo, nos preguntamos:

¿Qué es un punto fijo?

Definición: Sea g : A ⊂ R → R. Diremos que p ∈ A es un punto fijo de la función g si verifica que

g(p) = p.

En la figura que sigue (ver Figura 3) podemos ver un ejemplo de esta definición. Los puntos donde
se intersecan la gráfica de la función g y de la recta y = x son los puntos fijos de la función g.

3.0

2.5

2.0

1.5

1.0
y

0.5 x^ 2-1
x

0.0
-1.0 -0.5 0.0 0.5 1.0 1.5 2.0
x
-0.5

-1.0

Figure 3: Ejemplo de la definición de punto fijo

Entonces surgen dos preguntas:


1) ¿toda función tiene punto fijo?
2) en caso afirmativo, ¿es único?

En la misma Figura 3, podemos ver que el punto fijo de una función no necesariamente es único.
Entonces, veamos a continuación bajo qué condiciones habrá unicidad.

Teorema 2 ( Teorema de Punto Fijo)


Sea g una función continua sobre el intervalo cerrado [a, b] y tal que g([a, b]) ⊂ [a, b]. Entonces:
i) existe p ∈ [a, b] tal que g(p) = p,
ii) si además g es derivable en (a, b) y existe k ∈ (0, 1) constante tal que |g 0 (x)| ≤ k ∀x ∈ (a, b), el
punto fijo es único.
Más aún, la sucesión xn+1 = g(xn ) n ≥ 1 será convergente a p para cualquier x1 ∈ [a, b] punto
inicial.

Algoritmo: una vez chequeadas las condiciones de existencia y unicidad establecidas en el teorema
anterior, un método de punto fijo consta de los siguientes pasos:

8
ˆ Paso 1: Dar los valores de la tolerancia tol y número máximo de iteraciones N
ˆ Paso 2: dar una estimación inicial p → si g(p ) = p , r = p ;
1 1 1 1

→ si no ir al paso siguiente.

ˆ Paso 3: definir p n+1 = g(pn ) → si g(pn+1 ) = pn+1 , r = pn+1 ;


→ si no evaluar en =| pn+1 − pn |,
si (en < tol) ó (n > N ) terminar, si no volver a repetir el Paso 3.

Dado que g es una función continua, si

pn → p ⇒ g(pn ) → g(p) = p.

Corolario: Bajo las hipótesis del teorema anterior, se tiene que:

k (n−1)
| pn − p |≤ | p2 − p1 | ∀ n ≥ 2.
1−k
Observación 4:

1) Por ser k ∈ (0, 1), (1 − k) > 0 y más aún, si k1 < k2 , se tiene que k1n << k2n por lo que la constante
k es una herramienta útil a la hora de optar entre dos funciones que satisfagan las condiciones del
teorema de punto fijo. A propósito, veamos el siguiente ejemplo.

Ejemplo 2: Consideremos la ecuación no lineal del principio de párrafo e−x − x = 0. Podemos


verificar que las siguientes funciones son funciones que tienen su punto fijo donde la ecuación tiene su
raı́z.

* g1 (x) = e−x ;

* g2 (x) = ln(x−1 );

* g3 (x) = 21 (x + e−x ).

La lista de funciones podrı́a continuar. ¿pero cuál de ellas es adecuada? y si hubiese más de una
función adecuada ¿cuál elijo?
I Ejercicio 5: Mostrar cuál de las funciones anteriores es utilizable para aplicar el método de punto
fijo y ası́ resolver en forma aproximada la ecuación 1. De haber varias funciones factibles ¿cuál hace
que la sucesión converja más velozmente?

Observación 5: Puede verse que el orden de convergencia del método de punto fijo, depende de las
propiedades de la función g, pues aplicando Taylor adecuadamente resulta:

(pn − p)2 (pn − p)n


en+1 = pn+1 − p = g(pn ) − g(p) = g 0 (p)(pn − p) + g 00 (p) + · · · + g (n) (p) + ···
2 n!
es decir:

(en )2 (en )n
en+1 = g 0 (p).en + g 00 (p) + · · · + g (n) (p) + ···
2 n!
si g 0 (p) 6= 0
en+1 (en ) (en )n−1
= g 0 (p) + g 00 (p) + · · · + g (n) (p) + ···
en 2 n!

9
(en )n−1
pero como n! → 0 cuando n → ∞, resulta que:
en+1
→ g 0 (p)
en
con lo que se muestra que el error es lineal. Si hubiésemos pedido que la función g verificara que
g 0 (p) = 0 y además g 00 (p) 6= 0 obtendrı́amos que el error es cuadrático.

3 Sistemas lineales de ecuaciones


En el tratamiento de diversos modelos matemáticos, aparece la necesidad de resolver sistemas lineales
de ecuaciones. Un primer ejemplo que podrı́amos mencionar es: ”Hallar la intersección entre dos rectas
dadas en el plano“. Es un ejemplo muy sencillo en el cual se ha de resolver un sistema lineal con 2
ecuaciones y dos incógnitas. Durante el cursado de la materia Álgebra y Geometrı́a II, se trató este
tema con más profundidad y nivel de generalización. Ahora bien, en las aplicaciones que surgen, es
casi imposible aplicar estos métodos vistos en Álgebra y Geometrı́a II, pues las matrices que debemos
utilizar son de orden mucho mas grande. Por lo tanto, veremos que hay una cantidad considerable
de técnicas numéricas disponibles para resolver estos sistemas lineales de ecuaciones, según el tipo
de matriz a considerar. Estas diferentes técnicas se dividen en ”métodos directos“ y ”métodos
iterativos“.

3.1 Métodos directos


En adelante, consideraremos un sistema lineal de ecuaciones de la forma:

Ax = b, (3)
donde A es una matriz cuadrada de orden n a coeficientes reales y b es un vector dado de Rn . Si
bien no hay una única técnica que sea la mejor para todos los casos, en ausencia de error de redondeo
estos métodos directos brindan la solución exacta en un número finito de pasos. El método básico es
el llamado ”Eliminación Gaussiana“ y a partir de ahı́ veremos variantes.

3.1.1 Eliminación Gaussiana


Como dije antes, ya se vio en Álgebra II, que la idea de este método es transformar el sistema de
ecuaciones original en otro equivalente, de modo que la nueva matriz de coeficientes sea ”triangular
superior“. Resultando la matriz de coeficientes ampliada:
 ∗
a11 a∗12 . . . a∗1,n−1 a∗1n | b∗1

 0 a∗ . . . a∗ ∗ ∗ 
22 2,n−1 a2n | b2 
A∗ =  .

.. .. .. .. . 
 .. . . . . | .. 
0 0 0 0 a∗nn | b∗n

Una vez realizada la triangulación, se procede a aplicar la técnica de ”remonte“ (es decir resolvemos
desde abajo hacia arriba) y ası́ se obtiene la solución del sistema inicial. Pero sucede que, la expresión
para hallar cada una de las componentes del vector solución, es de la forma:

b∗k − n ∗
P
j=k+1 akj xj
xk = ∗
akk k = n, n − 1, ..., 1.

10
Recordemos que es necesario que a∗kk sea no nulo para todo k, si no debe aplicarse ”pivoteo“, es decir,
una técnica que nos permita evitar estas situaciones. Existen varias de estas técnicas:(desarrollarlas
en clase)

a) pivoteo parcial por columna,


b) pivoteo parcial por fila,
c) pivoteo total.

I Ejercicio 6: Analicemos ahora el costo del método, es decir ¿qué cantidad de operaciones realizamos
para resolver el sistema original? (Ejercicio opcional para el lector). Considerando un sistema de orden
5, podrı́a decir que ¿se hacen más ó menos operaciones que si utilizara el método de Cramer?

Definición: Diremos que una matriz A es estrictamente dominante diagonalmente si


n
X
|aii | > |aij | ∀ i = 1, ..., n.
j=1,j6=i

Puede verse que, al menos en teorı́a y en ausencia de errores de redondeo, si la matriz A es dd no


serı́a necesario pivotear para obtener la solución del sistema de ecuaciones (3).

3.1.2 Descomposición LU
Este método, consiste en descomponer el sistema de ecuaciones (3) en dos sistemas triangulares. Es
decir, re-escribimos a la matriz A como el producto de 2 matrices:

A = L.U

donde L es una matriz triangular inferior y U es triangular superior. Entonces resulta que resolver el
sistema:

Ax = b
es equivalente a resolver los 2 sistemas que siguen:


(
Ly = b
L |{z}
Ux = b
y
Ux = y

con lo que el sistema original se transforma en dos sistemas de ecuaciones con matrices principales
triangulares fáciles de resolver. Existen varias formas de obtener las matrices L y U . Como puede
verse, se tendrán n2 datos mientras que las incógnitas serán:
n(n + 1)
2 .
2
Para poder hallar y con unicidad estas matrices, hemos de agregar condiciones. Los métodos más
conocidos son:

1) Doolitle, que propone considerar li,i = 1, ∀i = 1, · · · , n;

2) Crout, considera ui,i = 1, ∀i = 1, · · · , n;

3) Cholesky define li,i = ui,i , ∀i = 1, · · · , n.

11
Teorema 3 Si A es tal que todas las n-submatrices
 
a11 · · · a1k
 .. .. .. 
Ak =  . . . 
ak1 · · · akk

son inversibles, entonces existen únicas L y U según el método de Doolitle (por analogı́a vale para el
de Crout).

Definición: Una matriz simétrica A es definida positiva si

xt A x > 0 ∀ x 6= 0.

Teorema 4 Si A es definida positiva, existe una única matriz triangular inferior B tal que:

A = BB t , y bi,i > 0 ∀i = 1, ..., n.

Observación 6: El método de Cholesky, si A es una matriz simétrica, tiene única solución L = B,


U = Bt.

3.2 Métodos iterativos

Antes de comenzar debemos recordar el concepto de norma vectorial y definir el concepto de norma
matricial.

Definición: Sean x = (xi )i=1..n , x ∈ Rn y A = (aij ), i, j = 1..n, aii ∈ R

XNorma vectorial:
1
1) la norma euclideana se define como ||x||2 = ( ni=1 x2i ) 2 ,
P

2) la norma 1 se define como ||x||1 = ni=1 |xi |,


P

3) la norma infinito es ||x||∞ = maxi=1...n |xi |,

XLa norma matricial asociada, en cada caso, es:


1
1) ||A||2 = ( nj=1 ni=1 a2i,j ) 2 (Norma de Frobenius)
P P

2) ||A||1 = max1≤j≤n ni=1 |ai,j |


P

3) ||A||∞ = max1≤i≤n nj=1 |ai,j |


P

Observación 7: notar que si la matriz A es simétrica, ||A||1 y ||A||∞ coinciden.

Los métodos iterativos son especialmente aplicables a sistemas de ecuaciones donde la matriz
de coeficientes es ”rala“ (es decir tiene pocos elementos no nulos) y es de gran orden. Otra cosa que
debemos tener en cuenta es que, en muchos problemas, la matriz de coeficientes es mal condicionada.
Esto implica que, pequeños cambios en los coeficientes del sistema pueden originar grandes errores en
su resolución.

12
Definición:

Si la matriz A es inversible y su inversa es A−1 , se define número condición de una matriz A y


se nota cond(A) al producto
cond(A) = ||A||||A−1 ||.

Observación 8: como se tiene que kABk 6 kAkkBk, resulta que cond(A) ≥ 1 (ejercicio para el
lector).

Ejemplo 3:
a) Sea A = 0. 1 I, con I ∈ Mn (la matriz identidad de orden n). Entonces det(A) = (0. 1)n det(I) =
(0. 1)n y como A−1 = 10 I, resulta que cond(A) = 1;
b) En cambio, si la matriz A es
 
1 −1 −1 · · · −1
 0 1 −1 · · · −1 
A=
 
.. .. .. 
 . . . 
0 0 0 ··· 1

resulta que su determinante es 1 pero si calculamos A−1 , en la posición 1n tendremos 2n−2 y en


consecuencia cond(A) → ∞ si n → ∞.

3.2.1 Método de Jacobi


Consideremos el sistema de ecuaciones

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

a21 x1 + a22 x2 + · · · + a2n xn = b2
S=

..

.
an1 x1 + an2 x2 + · · · + ann xn = bn

Suponiendo que aii 6= 0 ∀i = 1, ..., n (sino, realizamos pivoteo), re-escribo lo anterior de la siguiente
manera:

x1 = [b1 − (a12 x2 + a1,3 x3 + · · · + a1n xn )] a1



11
x2 = [b2 − (a21 x1 + a23 x3 + · · · + a2n xn )] 1

a22
S1 =

..

.
xn = [bn − (an1 x1 + · · · + a 1
n(n−1) xn−1 )] ann

Si doy una solución inicial (ó punto de arranque) x(1) , obtengo una nueva aproximación x(2) reem-
plazando la solución inicial en el lado derecho de S1 . Repitiendo este proceso, conociendo la estimación
xk , la componente i de la solución aproximada xk+1 serı́a:
n
(k+1) 1 X (k)
xi = [bi − aij xj ] ∀i = 1, ..., n; k ≥ 1.
aii
j=1,j6=i

En forma matricial, serı́a:

x(k+1) = (I − D−1 A)x(k) + D−1 b (4)

13
donde D es una matriz diagonal con dii = aii . Para implementarlo en la computadora proponemos el
siguiente algoritmo:

„ P aso 1: dar la solución inicial x (1) , tol (la tolerancia) y Nmax (el número máximo de iteraciones).
Sea k = 1,
„ P aso 2: definir x (k+1) a partir de la fórmula (4),
„ P aso 3: si kx (k+1) − x(k) k< tol ó (k > Nmax ) hacer xsol = x(k) ,

si no, k = k + 1 y volver al P aso 2.

I Ejercicio 7: Resolver en forma aproximada el siguiente sistema lineal de ecuaciones



 8x1 − x2 + x3 = 1
S= 2x1 + 10x2 − x3 = 4
x1 + x2 − 5x3 = 3

Como se tiene que:


a11 = 8 > | − 1| + 1 = 2
a22 = 10 > 2 + | − 1| = 3
|a33 | = 5 > 1 + 1 = 2
resulta ser A matriz estrictamente diagonalmente dominante, entonces, podemos aplicar el algoritmo de
Jacobi con confianza, pues como veremos, ésta es una condición necesaria de convergencia. Realicemos
un par de iteraciones a mano para familiarizarnos con el esquema y luego implementémoslo en la
computadora. Analizar el resultado.

¿qué podemos decir acerca de la convergencia del método de Jacobi?


Llamando MJ a la matriz del método, es decir:

MJ = I − D−1 A

la ecuación (4) resulta

x(k+1) = MJ x(k) + D−1 b

Aplicando el lı́mite cuando k → ∞ en ambos miembros de la expresión anterior y suponiendo que la


sucesión xk → xsol , se tiene que:

xsol = MJ xsol + D−1 .b


Entonces

e(k+1) = x(k+1) − xsol = MJ (x(k) − xsol ) = MJ e(k)


y por lo tanto, el esquema es convergente con orden de convergencia 1(¿por qué?). Más aún,

ke(k+1) k ≤ kMJ kk ke(1) k


con lo que se muestra que si kMJ k < 1 entonces la norma del error tiende a 0, es decir el esquema es
convergente. Puede verse que si la matriz A es dominante diagonalmente, lo anterior ocurre y la
sucesión converge a xsol .

14
3.2.2 Método de Gauss-Seidel
Este método es una mejora al método de Jacobi. En cada iteración aprovecha las componentes recién
actualizadas. Es decir: Dada la estimación inicial de la solución x(1) , el la primer ecuación del sistema
S1 , obtenemos:

(2) (1) (1) 1


x1 = [b∗1 − (a∗12 x2 + a∗13 x3 + · · · + a∗1n x(1)
n ]
a∗11
(2) (2) (1) 1
x2 = [b∗2 − (a∗21 x1 + a∗23 x3 + · · · + a∗2n x(1)
n )]
a∗22
..
.
∗ ∗ (1) (1) 1
x(2)
n = [bn − (an1 x + · · · + a∗n(n−1) xn−1 )]
a∗nn

La forma matricial será:

x(k+1) = (I − (L + D)−1 A) x(k) + (L + D)−1 b (5)


Aquı́ la matriz del método será

MGS = I − (L + D)−1 A

de donde la sucesión xk+1 se reescribe como

x(k+1) = MGS x(k) + (L + D)−1 b

y puede verse que el esquema converge si el método de Jacobi converge.

I Ejercicio 8: (Computadora) Implementar este método y utilizarlo en el sistema del ejercicio


anterior considerando una tolerancia tol = 10−5 ¿Cuál es más rápido?

4 Sistemas de ecuaciones no lineales


Dada una función vectorial F , se define el sistema no lineal de ecuaciones:

F (x) = 0 (6)
Este tipo de sistemas aparece, por ejemplo, cuando buscamos resolver problemas de optimización

min Φ(x1 , . . . , xn )
x
donde Φ es una función costo. Bajo ciertas hipótesis, este mı́nimo se dará donde

∇Φ(x) = 0.
Volviendo al sistema de la ecuación (6), si el campo vectorial F tiene componentes fi con i = 1, . . . , n,
lo que estamos considerando es un sistema de ecuaciones no lineales


 f1 (x1 , x2 , . . . , xn ) = 0
 f2 (x1 , x2 , . . . , xn ) = 0

S= ..


 .
fn (x1 , x2 , . . . , xn ) = 0.

15
Por simplicidad, en adelante, nosotros estudiaremos el sistema de orden 2 (n = 2). Es decir:

f1 (x, y) = 0
F (x, y) = 0 ⇐⇒
f2 (x, y) = 0
Si tanto f1 como f2 son suficientemente suaves (derivables con continuidad, sin puntos angulosos),
podemos aplicar un desarrollo de Taylor de primer grado alrededor de un punto inicial de coordenadas
x(1) = (x1 , y 1 ).

∂f1 (x1 , y 1 ) ∂f1 (x1 , y 1 )


0 = f1 (x, y) ≈ f1 (x1 , y 1 ) + (x − x1 ) + (y − y 1 )
∂x ∂y

∂f2 (x1 , y 1 ) ∂f2 (x1 , y 1 )


0 = f2 (x, y) ≈ f2 (x1 , y 1 ) + (x − x1 ) + (y − y 1 )
∂x ∂y
En forma matricial, definiendo la matriz Jacobiana

f1x (x1 , y 1 ) f1y (x1 , y 1 )


 
J(x(1) ) =
f2x (x1 , y 1 ) f2y (x1 , y 1 )
y el vector h = (x − x1 , y − y 1 ), podemos pensar en el sistema lineal asociado

(f1 (x1 , y 1 ), f2 (x1 , y 1 ))t + J(x(1) )ht = 0 t


o, lo que es lo mismo:

J(x(1) ).ht = − (f1 (x1 , y 1 ), f2 (x1 , y 1 ))t


| {z }
b

Entonces, si es inversible, este sistema tiene única solución h∗ , y definimos la nueva solución
J(x(1) )
aproximada (corrección de la anterior !) como:

x(2) = h∗ + x(1) .

Como sabemos, para resolver este sistema lineal de ecuaciones (pensemos en sistemas de gran
orden), no serı́a recomendable calcular la matriz inversa de J, sino aplicar las técnicas vistas en la
sección anterior para resolver sistemas lineales.

Observación 9:
i) Las condiciones necesarias para obtener convergencia son similares a las impuestas en el caso
del método de punto fijo.
ii) ver interpretación geométrica en clase.

I Ejercicio 9: Hallar la intersección de las curvas planas dadas por las ecuaciones x21 −2x1 −x2 = −1
y x21 + x22 = 1.

5 Ajuste de funciones
Ajustar una función consiste en obtener una expresión simple para describir una función de evaluación
dificultosa ó relacionar un conjunto de datos provenientes de un experimento, etc. En primer lugar se
verá el caso de ”Interpolación de funciones“ y a continuación ”Aproximación de funciones“.

16
5.1 Interpolación de funciones
La interpolación de funciones es de gran utilidad, por ejemplo cuando la procedencia de los datos es
experimental. Si se considera un proceso en el que, para determinados valores de una variable x, se
obtiene un resultado y, al repetir el proceso se obtiene el conjunto de datos

{(xk , yk )}k=1,...,(n+1) .

Entonces podrı́amos pensar en hallar el resultado y dada una entrada x en el experimento sin tener
que realizarlo (debemos pensar en los costos del material a utilizar en el experimento, mano de obra
para realizarlo e instalaciones necesarias).
En el caso de tener alguna certeza acerca de los datos (recordemos que estos dependen del sistema
de medición y del instrumental si son datos experimentales), puede considerarse la idea de construir
una función cuya gráfica pase por sobre estos datos. Esto significarı́a tener ”error cero” en esos
”nodos”. Entonces: Dados los datos {(xk , yk )}k=1,...,(n+1) , es decir, un conjunto de pares de números
reales, se considera definir un polinomio p tal que p(xk ) = yk .

Preguntas:

X¿existe tal polinomio?,


X¿es único?,
X¿es una buena aproximación?.

Vayamos por partes y analicemos en primer lugar la existencia y unicidad de este tal polinomio de
interpolación.

Existencia y Unicidad de solución.


Dado el conjunto de puntos (xk , yk ), k = 1, ..., (n + 1), pretendemos hallar un polinomio p de grado
n tal que p(xk ) = yk . Considerando

p(x) = an+1 xn + an xn−1 + .... + a2 x + a1

quedará definido un sistema lineal de ecuaciones Ax = b en las variables a1 , ...an+1 , con bi = yi . O sea
que la matriz de coeficientes para este sistema de ecuaciones es:

xn1 x1n−1 . . . x1 1
 
 xn xn−1 . . . x2 1 
2 2
A= .
 
. .. .. .. 
 . . . . 1 
n−1
xnn+1 xn+1 . . . xn+1 1

Se puede ver que el determinante de esta matrizQ de coeficientes, llamado determinante de Vander-
monde, es no nulo si xi 6= xj ∀i 6= j (pues det(A)= k>i,i=1..n+1 (xk − xi )). Por lo tanto este sistema
de ecuaciones tiene única solución y entonces el polinomio interpolante p existe y es único. Ahora,
veamos algunos métodos para hallar este polinomio sin tener que resolver el sistema lineal Ax = b.

5.1.1 Método de interpolación de Lagrange


Proponemos como polinomio interpolante:
n+1
X
fn (x) = Li (x) yi
i=1

17
donde:
1) x1 , x2 , . . . , xn+1 son (n + 1) puntos pertenecientes al intervalo [a, b] y
(x−x1 )...(x−xi−1 )(x−xi+1 )...(x−xn+1 )
2) Li (x) = (xi −x1 )...(xi −xi−1 )(xi −xi+1 )...(xi −xn+1 ) es un polinomio de Pn para cada i = 1, . . . , n + 1;

Además, observemos que:


ˆL (x ) = 1 ∀i = 1 . . . , n + 1 ;
i i

ˆL (x ) = 0 ∀i 6= j, i = 1 . . . , n + 1;
i j

ˆf (x ) = P L (x )f (x ) = y .
n j
n+1
i=1 i j i j

Puede mostrarse que, en caso de conocer la función f (x) que estamos interpolando y que ésta es
suficientemente suave, el error estimado es de la forma:
1
Rn (x) = (x − x1 )(x − x2 ) . . . (x − xn+1 )f (n+1) (ξ)
(n + 1)!
con ξ entre x1 y xn + 1.
Observación 10:
a) ξ depende de x;
b) Rn (x) depende de la distribución de los nodos en el intervalo [a, b], de la distancia entre x1 y xn y
de n. Se puede ver que el error decrece si aumentamos n pero tiene un lı́mite.
c) si x ∈
/ [a, b], se dice que estamos extrapolando y en este caso, el error puede ser considerable.
Aquı́ ξ estará entre x y x1 (si x < a) ó entre xn y x (si x > b).
Desventajas del método:

1. gran cantidad de cálculos necesaria;

2. la interpolación en cada nuevo punto x, implica realizar TODOS los cálculos nuevamente;

3. lo mismo ocurre si agregamos ó quitamos nodos a la grilla;

4. para estimar el error, debo conocer f (n+1) .

Veamos como mejorar este esquema.

5.1.2 Método de diferencias divididas de Newton


Sabemos que, si tenemos el conjunto de datos {(x1 , y1 ), (x2 , y2 ), . . . , (xn+1 , yn+1 )} podemos armar una
función interpolante polinómica de grado n llamada fn (x). Ahora, si fuese factible agregar un dato más
a esta colección, serı́a bueno que el nuevo polinomio interpolante resulte una corrección del anterior y
no tener que armar todo de nuevo. Es decir que serı́a bueno que exista un polinomio c(x), polinomio
de corrección, tal que:

fn+1 (x) = fn (x) + c(x)


Entonces c(x) ha de ser un polinomio de grado (n + 1), además,

fn+1 (xi ) = fn (xi ) = yi ∀ i = 1, . . . , n + 1


fn+1 (xi ) = fn (xi ) + c(xi ) ∀ i = 1, . . . , n + 1

18
es decir c(xi ) = 0 ∀ i = 1, . . . , n + 1 (vale decir que xi son n + 1 raı́ces de c) por lo tanto, c puede
expresarse como:

c(x) = an+1 (x − x1 ) . . . (x − xn+1 ),


por lo que en x = xn+2 quedará

c(xn+2 ) = an+1 (xn+2 − x1 ) . . . (xn+2 − xn+1 ) = yn+2 − fn (xn+2 )

yn+2 − fn (xn+2 )
an+1 = = f [x1 , . . . , xn+2 ]
(xn+2 − x1 ) . . . (xn+2 − xn+1 )
Al coeficiente anterior lo llamamos diferencia dividida de orden n + 1 y trabajando algebraicamente,
puede verse que:

f [x2 , . . . , xn+2 ] − f [x1 , . . . , xn+1 ]


f [x1 , . . . , xn+2 ] = .
xn+2 − x1

Ejemplo 4: Considerando la función f (x) = x construir la tabla de diferencias divididas utilizando
los puntos {1, 2, 3, 4} y dar el polinomio de tercer grado correspondiente que interpola a la función y
estimar el error cometido. Graficar la función y su polinomio interpolante.

5.2 Aproximación de funciones


Si se tiene un conjunto de datos y se conoce que hay errores sustanciales en ellos, una interpolación
producirá aún mas errores. Es por esto que debemos pensar en una estrategia para obtener una curva
que minimice la discrepancia global entre los datos y la curva aproximante.
Una de estas técnicas es la de regresión por mı́nimos cuadrados. Consideremos el conjunto de
datos:
x y
x1 y1
x2 y2
.. ..
. .
xn yn

Table 1: Tabla datos

donde xi ∈ [a, b] ∀i = 1, . . . , n. Buscamos una función fm (x) tal que al definir un vector error cuyas
componentes son
e(xi ) = yi − fm (xi ) , i = 1, ..., n
minimice la norma euclideana de este vector error.
A modo de ejemplo, veremos el caso donde m = 1, es decir que hallaremos una función lineal para
aproximar los datos.

XAjuste lineal de curvas (ó Regresión lineal)

Propongo el polinomio

f1 (x) = a1 x + a0 (7)
¿quiénes son los coeficientes a0 , a1 ?

19
Con esta función aproximante, el error en cada nodo será una función de las variables a0 y a1 :

e(xi ) = yi − (a1 xi + a0 ). (8)


La estrategia óptima a seguir será minimizar la función suma de los residuos:
n
X n
X
kEk2 = Sr (a0 , a1 ) = e2 (xi ) = [yi − (a1 xi + a0 )]2 (9)
i=1 i=1

Como es una función cuadrática, el mı́nimo se dará en donde 5Sr sea nulo. Entonces:
n
∂Sr X
= −2 [yi − a0 − a1 xi ]
∂a0
i=1
n
∂Sr X
= −2 [yi − a0 − a1 xi ]xi
∂a1
i=1

Trabajando algebraicamente, se obtiene el sistema equivalente:

n
X n
X
na0 + a1 xi = yi
i=1 i=1
n
X n
X n
X
a0 xi + a1 x2i = yi xi
i=1 i=1 i=1

cuando resolvemos este sencillo sistema lineal 2 x 2, obtenemos los coeficientes a0 y a1 y con ellos la
aproximación lineal f1 . ¡No olvidar que este será el polinomio de primer grado que mejor
ajuste globalmente todos los datos que tenı́amos!

Ejemplo 5: Ajustar linealmente los datos de la siguiente tabla.

x y
1 0. 5
2 2. 5
3 2. 0
4 4. 0
5 3. 5
6 6. 0
7 5. 5

Table 2: Datos del ejemplo.

El sistema a resolver es:



7a0 + 28a1 = 24
28a0 + 140a1 = 119. 5
Entonces, obtenemos el polinomio aproximante de primer grado:

f1 (x) = 0. 07 + 0. 84 x.

20
En general y suponiendo conocidos (xk , yk ), k = 1, ..., n, podemos pensar en dar una función polinómica
de grado m que ajuste a estos datos. En forma análoga a lo hecho antes, proponemos:

fm (x) = a0 + a1 x + a2 x2 + . . . + am xm
y hemos de “ajustar” m + 1 incógnitas a0 , a1 , . . . , am tal que la norma del error global, similar al dado
por la ecuación (8), resulte mı́nimo. Es decir que la expresión a minimizar será:
n
X
Sr (a0 , a1 , . . . , am ) = [yi − (a0 + a1 xi + . . . + am xm
i )]
2

i=1
 Pn Pn 2
Pn m
Pn

 a0 n + a1 i=1 xi + a2 i=1 xi + . . . + am i=1 xi = i=1 yi



 Pn Pn Pn Pn Pn
2 3 m+1
∇Sr = 0 ⇔ a0 i=1 xi + a1 i=1 xi + a2 i=1 xi . . . + am i=1 xi = i=1 yi xi
 .. ..
. .



 Pn Pn Pn Pn Pn
m m+1 m+2 2m m
a0 i=1 xi + a1 i=1 xi + a2 i=1 xi + . . . + am i=1 xi = i=1 yi xi

Este es un sistema lineal de ecuaciones de orden (m + 1), al cual le aplicaremos las técnicas de
resolución vistas en el párrafo 3. Una vez resuelto, procedemos como el caso anterior de ajuste lineal.
Notemos, que para definir el polinomio de ajuste, hemos considerado la base canónica del conjunto
Pn {1, x, . . . , xn }.
De la misma manera, podemos considerar otra base
{ϕ1 , . . . , ϕm+1 }
pero debemos tener en cuenta que es conveniente usar una base ortonormal (si no, utilizando el método
de Gram-Schmidt la transformamos en una base ortonormal). Es decir, una base tal que:

ϕi ϕj = δi,j ∀i, j = 1, . . . , m + 1
con δ la función Delta de Dirac que asume el valor 1 si i = j y se anula en cualquier otro caso.
En ingenierı́a, con frecuencia, se tratan sistemas que oscilan o vibran. Por esta razón es importante
tener en cuenta las funciones de la forma:

1, cos(x), sen(x), cos(2x), sen(2x), . . . , cos(nx), sen(nx), . . .


Esta familia es la utilizada para realizar la “transformada de Fourier” de una función periódica en el
procesamiento de señales. Más adelante retomaremos este tema.

6 Integración numérica
A menudo en el modelado matemático es necesario resolver la integral de una función f . Pero, pueden
ocurrir varias situaciones:
ˆ que dicha función carezca de primitiva elemental, ó
ˆ que sea muy dificultosa para resolver ó que sólo contemos con una tabla de valores resultado de
algún experimento.

En adelante, suponiendo conocida la función f (que es integrable) en el intervalo finito [a, b],
definimos:
Z b
I(f ) = f (x) dx (10)
a

21
6.1 Método del trapecio
Este sencillo método consiste en aproximar a la función f por la recta secante pasante por los puntos
de coordenadas (a, f (a)) y (b, f (b)) (esta aproximación causará un error por exceso ó por defecto si la
función es cóncava hacia arriba ó hacia abajo respectivamente), es decir:

f (b) − f (a)
y(x) = f (a) + (x − a)
b−a
entonces, integrando esta nueva función, obtenemos un valor aproximado de la integral (9)
b
b−a
Z
I(f ) = y(x) dx ≈ IT (f ) = [f (a) + f (b)] . (11)
a 2
¿Podemos tener una idea del error cometido?

La respuesta es sı́. Recordando la definición de ajuste por medio de diferencias divididas de


primer orden, tenı́amos la expresión para el error cometido al aproximar a f por la función y.
Entonces, integrando esta expresión, quedará:
b
−f 00 (η)
Z
E1 (f ) = I(f ) − IT (f ) = [f (x) − y(x)] dx = (b − a)3
a 12
para algún η ∈ (a, b). Además, suponiendo que f es suficientemente suave, por ser [a, b] cerrado y
acotado, existe M = max{|f 00 (x)| : a ≤ x ≤ b]}. Con esto, resulta que el error está acotado en valor
absoluto de la siguiente manera:

M
|E1 (f )| ≤ (b − a)3
12

Generalizando al caso de establecer una partición de n subintervalos en el [a, b], obtenemos el


método del trapecio compuesto: Sean n ≥ 1, h = (b − a)/n y xj = a + (j − 1) ∗ h. Entonces

b n Z xi+1 n
h h3 00
Z X X
I(f ) = f (x) dx = f (x) dx = {[f (xi ) + f (xi+1 )] − f (ηi )} =
a xi 2 12
i=1 i=1
n n
h X h3 X 00
[f (xi ) + f (xi+1 )] − f (ηi )
2 12
i=1 i=1

donde ηi es el punto en el cual f 00 (x)


asume el máximo en cada (xi , xi+1 ). Nuevamente podemos acotar
superiormente al error de aproximar la integral por esta fórmula:

h3 (b−a)M 2
|En (f )| ≤ 12 M n = 12 h

Es decir que tenemos un orden cuadrático de convergencia del método de cuadratura.

22
6.2 Método de Simpson
En el caso de particionar al [a, b] en dos subintervalos, i.e n = 2, podemos proponer como función
aproximante a f a la parábola pasante por los puntos de coordenadas:

a+b a+b
{(a, f (a)), (
, f( )), (b, f (b))}
2 2
Puede verse que la fórmula que aproxima a I(f ) será:

1 a+b
IS (f ) = [f (a) + 4f ( ) + f (b)]
6 2
y la estimación del error cometido es:

h5
|E2S | ≤ M
90
b−a
con h = 2 y M = maxa<x<b |f (4) (x)|.

Nuevamente, podemos generalizar estas expresiones como sigue: para n = 2k; h = (b − a)/n
k−1 k
h X X
InS = [f (a) + f (b) + 2 f (a + 2jh) + 4 f (a + (2j − 1)h)]
3
j=1 j=1

y el error queda estimado por:

h4
|EnS (f )| ≤ 180 M (b − a)

Observación 11: En el caso de no conocer explı́citamente la ley de la función f y sólo tener una
tabla de datos experimentales, procedemos simplemente cambiando f (x) por yi .

I Ejercicio 10: Aplicar las reglas del Trapecio y Simpson compuestas, utilizando los datos del cuadro
2 que aparece en la página 20 de este apunte.

I Ejercicio 11: Realizar una tabla (utilizando 4 decimales) con el valor aproximado de la función
integral
Z x
2 2
erf (x) = √ e−t dt
π 0
para valores de la variable entre 0 y 4 equiespaciados con paso 0.1. Utilizar el método que sea factible.

I Ejercicio 12:

1) Aplicar una fórmula de integración numérica para obtener los 10 primeros términos de la serie
de Fourier.

2) Considerando una función periódica de perı́odo P = 3 cuya ley en este perı́odo es f (x) = e(−t) /t,
aproximarla en el intervalo [0.1, 9] utilizando la serie truncada obtenida antes.

3) Dibujar los 3 primeros términos de la serie obtenida en el ı́tem 1)

23
7 Diferenciación numérica
La necesidad de derivar una función proviene del modelado matemático de problemas. Aunque todos
recordamos como derivar una función, hay razones para hacerlo numéricamente. Por ejemplo cuando
esta función es muy compleja ó no se conoce explı́citamente su ley. Una manera clásica de derivar
numéricamente es a partir de la utilización de series de Taylor.

7.1 Fórmulas de un punto


Se sabe que si la función f es representable por una serie de Taylor, tendremos que:

(x − x0 )2 00
f (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + f (ξ)
2
para ξ entre x y x0 .
Entonces resulta que, considerando x = x0 + h con h > 0

f (x0 + h) − f (x0 ) h 00
f 0 (x0 ) = − f (ξ)
h 2
A la expresión anterior se la llama fórmula de diferencia hacia adelante tiene orden 1 de
exactitud. En forma análoga se tiene una fórmula hacia atrás:

f (x0 ) − f (x0 − h)
f 0 (x0 ) = (h > 0)
h

7.2 Fórmulas de 2 puntos


Estas expresiones pueden ser centradas o no. Es decir, considero los puntos x0 , x0 + h, x0 − h y la
respectiva representación de Taylor para f alrededor de x0 en x0 + h y en x0 − h.

h2 00 h3
f (x0 + h) = f (x0 ) + f 0 (x0 )h + f (x0 ) + f 000 (ξ1 )
2 6

h2 00 h3
f (x0 − h) = f (x0 ) − f 0 (x0 )h + f (x0 ) − f 000 (ξ2 )
2 6
restando estas expresiones, se tiene:

f (x0 + h) − f (x0 − h) h2 000


f 0 (x0 ) = + [f (ξ1 ) + f 000 (ξ2 )]
2h 12
ó utilizando el Teorema del Valor intermedio hay un ξ entre ξ1 y ξ2 donde f 000 (ξ) = [f 000 (ξ1 ) + f 000 (ξ2 )]/2

f (x0 +h)−f (x0 −h) h2 000


f 0 (x0 ) = 2h + 6 [f (ξ)]

Podemos ver que esta fórmula es de segundo orden.

7.3 Fórmulas de 3 puntos


En forma análoga a lo anterior se obtiene una expresión para aproximar a f 00 (x0 ) que depende de los
puntos x0 , x0 − h y x0 + h. Veremos que es una fórmula centrada. En efecto:

h2 00 h3 h4
f (x0 + h) = f (x0 ) + f 0 (x0 )h + f (x0 ) + f (3) (x0 ) + f (4) (x0 ) + . . .
2 3! 4!

24
h2 00 h3 h4
f (x0 − h) = f (x0 ) − f 0 (x0 )h + f (x0 ) − f (3) (x0 ) + f (4) (x0 ) + . . .
2 3! 4!
sumando estas dos ecuaciones resulta:

f (x0 +h)−2f (x0 )+f (x0 −h) h2 (4)


f 00 (x0 ) = h2
− 12 [f (ξ)]

donde nuevamente, ξ es algún punto entre x0 − h y x0 + h.

7.4 Derivación numérica a partir del polinomio aproximante


Considerando el polinomio interpolante de Lagrange, pasante por (n + 1) puntos
n
X
P (x) = Li (x)yi
i=0

que aproxima a la función f , podemos pensar en que una buena forma de aproximar el valor de f 0
es derivando a este polinomio. Es decir que:
n
X
f 0 (x) = L0i (x)yi (12)
i=0

7.5 Problemas de EDO con condiciones iniciales


Recordemos que son el tipo de problemas trabajados en AM3. Clásico ejemplo de estos problemas son
el de crecimiento (decrecimiento) poblacional ó los de calentamiento (enfriamiento), etc. En general
se escriben como:

y 0 (t) = f (y, t); y(0) = y0 (13)


Aprendimos a resolver estos problemas en forma clásica y sabemos bajo que condiciones admiten
única solución. Otro ejemplo mas cercano a Ingenierı́a Eléctrica es el de la simulación de corriente
transitoria para un circuito eléctrico cuya ecuación de estado es:
di q
L + Ri + − E(t) = 0
dt c
di
donde L dt , Ri, qc son las caı́das de voltaje a través del inductor, resistencia y capacitor respectivamente.
Pero, puede ocurrir que la fuente f no sea continua (en este caso, Laplace nos ayudará) ó que la
ecuación diferencial sea difı́cil de integrar, etc.
Veremos dos métodos para resolver estos problemas: el de Euler y el de Runge-Kutta (Por supuesto
hay otros más). Estos métodos podrán aplicarse fácilmente a EDOs de orden superior. Es decir, si la
EDO es de orden n, la descomponemos primero en un sistema de n ecuaciones diferenciales de primer
orden. También serán aplicables a ecuaciones integro-diferenciales de la forma:
Z t
00
y + ay + y(s) ds = g, y(0) = y0 , y 0 (0) = 0
0

25
7.5.1 Método de Euler
 Método de Euler hacia adelante
Si consideramos la aproximación hacia adelante de y 0 en la ecuación (13) tendremos:

yn+1 − yn
≈ y 0 (tn ) = f (yn , tn ) (14)
h
donde yn = y(tn ), i = 1, . . . , N con N la cantidad de observaciones temporales.
Si bien este método es muy sencillo de implementar debemos ser cuidadosos pues pueden pro-
ducirse, además de errores de truncamiento propios de haber aproximado la derivada, inestabil-
idad de la solución debida a errores de representación interna en la computadora.
Ejemplo 5: Consideremos el problema de decrecimiento poblacional dado por:

y 0 = −αy, y(0) = y0 > 0

α > 0 e y0 datgos. Conocemos la solución exacta que es: y(t) = y0 e−αt . Si aplicamos la expresión
(14) resulta el siguiente algoritmo iterativo:

yn+1 = (1 − αh)yn

Si 0 < 1 − αh < 1 la solución numérica se mantendrá no negativa y decreciente. Qué ocurre en


caso contrario? Para responder a esta pregunta, es útil re-escribir la sucesión anterior como:

yn+1 = (1 − αh)n y1 (15)

donde puede verse que si 0 < 1 − αh < 1, la sucesión efectivamente se mantiene no negativa y
decreciente, mientras que si 1 − αh > 1 la solución serrá estricatamente creciente lo cual es un
absurdo tratándose de ecrecimiento poblacional. Si 1 − αh < 0 la solución numérica será
alternante, lo que se conoce como inestabilidad.

 Método de Euler hacia atrás


Si ahora consideramos la aproximación hacia atrás de y 0 (t) tendremos:

yn − yn−1
≈ y 0 (tn ) = f (yn , tn ) (16)
h
como vemos, en el instante de tiempo tn , queda una ecuación implı́cita para la incógnita yn . Este
es un esquema mas complicado de implementar pero siempre es estable y podemos obtener una
buena solución numérica sin achicar demasiado el paso temporal.
Puede verse que el error global del método de Euler es de orden 1

7.5.2 Runge-Kutta
Una desventaja de los métodos de Euler es que el orden de precisión es bajo, con lo cual debemos
reducir mucho el paso h. Esto aumenta el tiempo de cómputo y provoca errores de redondeo. Con
los métodos de RK, el orden de precisión aumenta con lo que a menor reducción de h se tiene mayor
descenso del error. Consideremos nuevamente la ecuación (13). Suponiendo ya estimado el valor de
yn , integramos la ecuación mencionada y queda

26
Z tn+1
yn+1 = yn + f (y, t) dt (17)
tn

Veremos a modo de ejemplo como obtenemos el Método de RK de segundo orden. Comen-


zamos aplicando la regla del Trapecio al lado derecho de la ecuación (17):
Z tn+1
h
yn+1 = yn + f (y, t) dt ≈ yn + [f (yn , tn ) + f (yn+1 , tn+1 )] (18)
tn 2
como no conocemos el valor de yn+1 lo que hacemos es obtener una estimación utilizando la fórmula
(14) y resulta:

y n+1 = yn + hf (yn , tn ) (19)

h
yn+1 = yn + [f (yn , tn ) + f (y n+1 , tn+1 )] (20)
2
una forma más cómoda de escribir lo anterior es:

k1 = hf (yn , tn )
k2 = hf (yn + k1 , tn+1 )
1
yn+1 = yn + [k1 + k2 ]
2
Puede verse que el error global es de orden 2.

27
8 Apéndice
8.1 Algoritmo Figura 1
function y=g(x) y=exp(-x)-x

endfunction

x=(-1:0.1:2)’;
w=fsolve(1,g)
plot2d(x,[exp(-x) x],[2,6]);
legends([’exp(-x)’;’x’],[2,6])
plot(w,w,’.’)

8.1.1 Teorema de bolzano


Teorema 5 (Teorema de Bolzano) Si f es una función continua en el intervalo [a, b] cerrado y
acotado y f (a).f (b) < 0, entonces existe c ∈ (a, b) tal que f (c) = 0 

Veamos un ejemplo de la necesidad en el teorema anterior de que la función f sea continua. Consider-
emos la función salto de Heaviside el intervalo [−1, 3]. Se verifica que f (−1).f (3) < 0 y sin embargo,
la función no tiene raı́z.

Fu n c i ó n d e H e a vi s i d e
1.5

1.0

0.5

0.0
-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
x

-0.5

-1.0

-1.5

Figure 4: Contra-ejemplo del Teorema de Bolzano

28
9 Bibliografı́a
1 Aubanell A., Bensey A., Delshams A., “Útiles básicos de cálculo numérico”. Editorial Labor, 1993.
2 Ascher U., Greif Ch., “A first course in numerical methods”, SIAM, Computational Science
Engineering, 2011.
3 Atkinson K., “an introduction to numerical analysis”, 1978.
4 Nakamura S., “Métodos numéricos aplicados con software”, Prentice-Hall Hispanoamericana,
S.A, 1992.
5 Chapra S., Canale R., “Métodos numéricos para Ingenieros”, McGraw Hill, 1999.

29

Você também pode gostar