Escolar Documentos
Profissional Documentos
Cultura Documentos
∗
E-mail: mcolguin@fceia.unr.edu.ar
1
Contents
1 ¿Qué es un método numérico? 3
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.
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).
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
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 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
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”
6
7
f(x)
recta secante
6
0
−1 −0.5 0 0.5 1 1.5 2
−1
−2
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:
¿siempre es factible?
¿f 0 (xn ) 6= 0?
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).
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?
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
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.
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.
pn → p ⇒ g(pn ) → g(p) = p.
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.
* 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:
(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.
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.
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)
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?
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:
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).
xt A x > 0 ∀ x 6= 0.
Teorema 4 Si A es definida positiva, existe una única matriz triangular inferior B tal que:
Antes de comenzar debemos recordar el concepto de norma vectorial y definir el concepto de norma
matricial.
XNorma vectorial:
1
1) la norma euclideana se define como ||x||2 = ( ni=1 x2i ) 2 ,
P
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:
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
Suponiendo que aii 6= 0 ∀i = 1, ..., n (sino, realizamos pivoteo), re-escribo lo anterior de la siguiente
manera:
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
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) ,
MJ = I − D−1 A
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:
MGS = I − (L + D)−1 A
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 ).
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:
Vayamos por partes y analicemos en primer lugar la existencia y unicidad de este tal polinomio de
interpolación.
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.
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;
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:
2. la interpolación en cada nuevo punto x, implica realizar TODOS los cálculos nuevamente;
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:
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:
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.
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 :
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
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!
x y
1 0. 5
2 2. 5
3 2. 0
4 4. 0
5 3. 5
6 6. 0
7 5. 5
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:
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?
M
|E1 (f )| ≤ (b − a)3
12
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
h3 (b−a)M 2
|En (f )| ≤ 12 M n = 12 h
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
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.
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.
(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
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:
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:
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
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:
α > 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
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.
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
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,’.’)
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
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