Documentos de Académico
Documentos de Profesional
Documentos de Cultura
An23 PDF
An23 PDF
Contenido
Prefacio
1 Presentacin y repaso
1.1 Motivacin . . . . . . . . . . . . . . . .
1.2 Bosquejo del contenido . . . . . . . . .
1.3 Repaso: Normas en espacios vectoriales
1.3.1 Normas de vectores . . . . . . .
1.3.2 Normas de matrices . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
10
11
12
13
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
16
17
20
22
28
3 Ecuaciones no lineales
3.1 Mtodo de biseccin . . . . . .
3.2 Mtodo de Newton . . . . . . .
3.2.1 Ejercicios . . . . . . . .
3.2.2 Anlisis de Convergencia
3.3 Iteraciones de punto jo . . . .
3.4 Ejercicio . . . . . . . . . . . . .
3.5 Anlisis de convergencia local .
3.6 Ejemplos . . . . . . . . . . . . .
3.7 Ejercicios suplementarios . . . .
3.8 Examen de entrenamiento . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
31
35
38
38
40
44
45
47
50
52
. . . .
. . . .
. . . .
Local
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4 Interpolacin
4.1 Tablas . . . . . . . . . . . . .
4.2 Teorema fundamental . . . . .
4.2.1 Intento 1 . . . . . . . .
4.2.2 Intento 2 . . . . . . . .
4.2.3 Clculo de coecientes
4.3 Forma de Newton . . . . . . .
4.4 Forma de Lagrange . . . . . .
4.5 Ejercicios . . . . . . . . . . .
4.6 Error al interpolar . . . . . .
4.7 Ejercicios suplementarios . . .
4.8 Examen de entrenamiento . .
Contenido
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
55
55
57
57
59
62
63
66
67
68
69
71
5 Integracin numrica
5.1 Frmulas bsicas . . . . . . . . . . . . . . . . .
5.1.1 Ejercicio . . . . . . . . . . . . . . . . . .
5.1.2 Cambio de intervalo . . . . . . . . . . .
5.2 Error en la cuadratura . . . . . . . . . . . . . .
5.3 Cuadraturas compuestas . . . . . . . . . . . . .
5.4 Ejercicios . . . . . . . . . . . . . . . . . . . . .
5.5 Cuadraturas de Newton-Cotes . . . . . . . . . .
5.6 Mtodo de coecientes indeterminados . . . . .
5.7 Cuadratura de Gauss . . . . . . . . . . . . . . .
5.8 Ejercicios . . . . . . . . . . . . . . . . . . . . .
5.9 Polinomios ortogonales . . . . . . . . . . . . . .
5.10 Frmula de recurrencia de tres trminos . . . .
5.11 Cuadratura gaussiana y polinomios ortogonales
5.12 Ejercicios . . . . . . . . . . . . . . . . . . . . .
5.13 Ejercicios suplementarios . . . . . . . . . . . . .
5.14 Examen de entrenamiento . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
73
74
76
76
77
78
79
80
81
82
84
84
86
87
90
91
93
.
.
.
.
.
95
95
96
97
101
101
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Contenido
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
102
103
108
110
111
112
113
114
115
115
116
118
118
118
119
123
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
133
133
134
134
135
137
138
142
143
145
147
148
149
150
154
154
156
Contenido
8 Material de inters
8.1 Referencias generales . . . . .
8.2 LAPACK . . . . . . . . . . .
8.3 Templates y otras colecciones
8.4 MATLAB y otros . . . . . . .
Referencias
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
157
157
158
159
160
161
Prefacio
En estas notas ofrecemos una variedad de temas del anlisis numrico,
que pueden servir de motivacin y de gua a estudiantes de nuestra
Universidad y a otros interesados. Se pueden considerar como unas
notas de clase, pero, para la seleccin de temas y enfoques, no se sigui
un programa de curso dado.
Los ms de 100 ejercicios estn repartidos en pequeas listas en
medio de la exposicin, ejercicios suplementarios y exmenes de entrenamiento. Hay cerca de 30 ejemplos resueltos en detalle, que casi
siempre aparecen con su rutina MATLAB acompaante. Dichas rutinas
se presentan nicamente con nes didcticos y no sustituyen software
de calidad.
Pretendemos publicar estas notas en la WEB y mantenerlas en evolucin. Por eso los aportes de usuarios son muy importantes. Comentarios, correcciones y sugerencias son bienvenidos en la direccin electrnica
cemejia@perseus:unalmed:edu:co:
Expresamos nuestro reconocimiento a la Universidad Nacional de
Colombia, por habernos concedido el ao sabtico durante el cual escribimos estas notas.
Parte de este documento se utilizar como gua en un cursillo de
la XIII Escuela Latinoamericana de Matemticas, que se reunir en
Cartagena, Colombia de julio 29 a agosto 3 de 2002.
Medelln, julio 15 de 2002
Contenido
1
Presentacin y repaso
Motivacin
Bosquejo del contenido
Repaso
1.1
Motivacin
10
1. Presentacin y repaso
11
1.3
12
1. Presentacin y repaso
Normas de vectores
"
n
P
j=1
jxj j2
# 21
Las mismas deniciones son vlidas en el espacio vectorial Cn de vectores de n componentes complejas. En este caso, jxj j signica mdulo
del nmero complejo xj .
0
Ejemplo
p 2 El vector x = [1 2 3 4] tiene kxk1 = 4; kxk1 = 10 y
kxk2 = 30: Las bolas de centro en el origen y radio 1; en las normas
2 y 1; aparecen en la siguiente gura.
0.5
0.5
-0.5
-1
-1
-0.5
-0.5
0.5
-1
-1
-0.5
0.5
13
Normas de matrices
Para el espacio vectorial Rnn de matrices cuadradas n n con elementos reales, tambin se requiere el concepto de norma. La notacin
que se usa es la misma, pero, adems de las propiedades a., b. y c. de
la denicin 1, se pide que se cumplan las siguientes dos condiciones:
d. kABk kAk kBk ; para toda A; B 2 Rnn
e. Toda norma matricial debe ser compatible con alguna norma vectorial, es decir, kAxk kAk kxk ; para toda A 2 Rnn ; x2Rn :
Las condiciones para una norma en el espacio matricial Cnn son
anlogas a las de arriba y no las precisaremos aqu.
Un concepto necesario para la denicin de una de las normas matriciales ms utilizadas es el de radio espectral.
Denicin 3 Sea B 2 Rnn con L = f1 ; 2 ; :::; r g su espectro, es
decir, el conjunto de sus valores propios distintos. El radio espectral de
14
1. Presentacin y repaso
B es (B) = max jj j :
j 2L
Ejemplo 4 La matriz
A=
3
4
0 6
innito vectorial).
n
P
j =1;2;:::;n i=1
torial).
1
3. Norma 2: kAk2 = AT A 2 . (Compatible con norma 2 vectorial).
#1
"
2
n
n P
P
2
jaij j
4. Norma de Frobenius: kAkF =
: (Compatible con
i=1 j =1
norma 2 vectorial).
Ejemplo 5 La matriz
2
0
6 1
A =6
4 2
3
1
2
3
4
2
3
4
5
3
3
4 7
7
5 5
6
0
A=
0
184:
1
0
2
Primeros pasos en MATLAB
La lnea de comandos
Los M-archivos
Procesamiento de informacin y visualizacin
Segn la empresa fabricante de MATLAB, llamada The Mathworks,
MATLAB es un lenguaje de alto rendimiento para la computacin tcnica. Es que MATLAB posee herramientas de calidad que facilitan
el trabajo en diferentes fases de la computacin cientca, como procesamiento de informacin, modelamiento, desarrollo de algoritmos, computacin y simulacin. Basta dar un vistazo a su pgina
http : ==www:mathworks:com=
para conrmarlo.
En esta corta introduccin, ayudamos a la familiarizacin con este
software de los que an no lo estn. Lo hacemos con unos cuantos
ejemplos sencillos que sugieren la amplia gama de posibilidades que
tiene este software y que preparan el camino para leer sin dicultad las
rutinas de los captulos posteriores. En todo el documento se trabaj
con MATLAB 5.3, Release 11. Versiones posteriores podran requerir
pequeos cambios a las instrucciones dadas aqu para operacin del
software.
En Internet hay un gran nmero de guas para estudiar MATLAB y
mtodos numricos con MATLAB. La amplia documentacin en lnea
que trae el software es, por supuesto, una referencia obligada. Otra
referencia til y de aparicin reciente es Higham y Higham (2000) [16].
Pero MATLAB es un software comercial. Aquellos que no tengan acceso
a l, de todas maneras pueden seguir en gran medida las rutinas de
estas notas, utilizando un paquete de software no comercial con sintaxis
similar a la de MATLAB. Un tal paquete es OCTAVE, que se puede
conseguir en su direccin
http : ==www:octave:org=:
16
17
2.2
Los M-archivos
La lnea de comandos deja de ser prctica cuando se desea hacer un proceso con varias rdenes o comandos. Se requiere entonces crear archivos
con los comandos MATLAB que se requieren para cada tarea. Se les
llama M-archivos (M-les en ingls.) Son de texto plano (ASCII) y
MATLAB proporciona un editor con una agradable codicacin de
colores que ayuda mucho en el proceso de creacin y depuracin de
dichos archivos. Los M-archivos que requieren argumentos de entrada
y entregan valores de salida, se llaman funciones. Los que no tienen ni
argumentos de entrada ni valores de salida se llaman guiones ( script
en ingls.) El M-archivo normas.m del ejemplo 2, que consideramos en
la seccin 1.3, es un guin.
Los M-archivos estn en directorios. Para que MATLAB los encuentre, se debe cumplir al menos una de las siguientes condiciones:
i. El directorio en el que estn los archivos pertenece al search path
de MATLAB.
ii. El directorio en el que estn los archivos es el directorio actual de
MATLAB.
Para saber cal es su directorio actual, use el comando pwd. Para
hacer que el directorio c:nmet sea su directorio actual, escriba la orden
cd c:nmet.
El search path se puede ver y actualizar por medio de la opcin Set
18
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
-1
-0.75
-0.5
-0.25
0.25
0.5
0.75
19
function x=fib(n);
% Herramienta didactica, Carlos E. Mejia 2002
% sucesion de Fibonacci, n<1477
% uso: x=fib(n)
x=ones(1,n);
for j=3:n
x(j)=x(j-1)+x(j-2);
end
Al ejecutar x=b(10) se obtiene
x=
1
1
2
3
5
8
13
21
34
55
Miremos ahora el generador de rboles:
% tree1.m, Herramienta didactica, Carlos E. Mejia, 2002
% generacion aleatoria de numeros para construir un arbol
clf
hold on
x=[0;0];y=[0;rand];line(x,y)
% a lo ms 10 niveles de ramas
n=rand*10
for i=1:n,
[m,longi]=size(x);
angu1=(pi/2)*rand(1,longi);
angu2=(pi/2)*rand(1,longi)+angu1;
x=[x(2,:),x(2,:);x(2,:)+(2/i)*rand*cos(angu1),...
x(2,:)+(3/i)*rand*cos(angu2)];
y=[y(2,:),y(2,:);y(2,:)+(2/i)*rand*sin(angu1),...
y(2,:)+(3/i)*rand*sin(angu2)];
line(x,y);
end
title(Arbol con 10 niveles de ramas)
print -deps2 .nfigntree1.eps
Uno de los rboles que pueden obtenerse con esta rutina, aparece en
la siguiente gura.
20
4.5
3.5
2.5
1.5
0.5
0
-1.5
-1
-0.5
0.5
1.5
2.3 Ejercicios
1. Use el sistema de ayudas de MATLAB para encontrar informacin
sobre las siguientes constantes especiales: realmin, realmax, inf, NaN,
pi, eps.
2. Repase los M-archivos vistos hasta ahora y obtenga ms informacin sobre los comandos utilizados en ellos, por medio de los sistemas
de ayuda de MATLAB. En particular, consulte sobre for, if, end, tres
puntos (...), hold y line.
3. Intentemos calcular de forma ingenua lim r (x) ;donde
x!0
x
2
5
; se puede obtener por Regla de LHopital.
24
2.3. Ejercicios
21
22
23
figure
subplot(2,1,1);
surface(zi);shading interp;
title( Montaa submarina);
xlabel(Longitud);ylabel(Latitud);
colorbar(vert);
subplot(2,1,2);
surf(zi);
shading interp
xlabel(Longitud);ylabel(Latitud);
zlabel(Altura);
grid on
print -deps2 .nfignexa3-2.eps
La primera gura, que incluye puntos de medicin y curvas de nivel,
es:
Localizacion
Curvas de nivel
-47.95
-47.9
-48
-48
-48.05
-48.1
-48.1
-48.15
-48.2
-48.2
-2
-48.25
00
-3000
-48.3
-350
-48.3
-48.35
-4000
-48.4
-48.4
-48.45
210.5
211
211.5
212
-48.5
210.8
211.3
211.8
24
25
26
Velocidad
-1
-1
-2
-2
-3
-3
-4
-4
-5
-5
-6
-6
-7
-7
-8
-8
40
60
80
100
50
100
150
27
28
end
for i=1:lr
out=[nx(i) ny(i) p(i) nr(i) nv(i)];
fprintf(fi1,%8.2f %8.2f %8.2f %8.2f %8.2fnn,out);
end
fclose(all);
2.5 Ejercicios
1. Revise la ayuda en lnea de MATLAB para saber ms acerca de
los comandos de visualizacin grca que hemos utilizado hasta ahora.
Algunos de ellos son: gure, plot, subplot, griddata, meshgrid,
shading y surf.
2. Por medio de la ayuda en lnea, consulte acerca de los comandos
mod, round y oor.
3. De nuevo, utilice la ayuda en lnea para conocer ms acerca del
manejo de archivos en MATLAB. En particular, consulte sobre fopen,
fclose, load, save y diary.
4. A continuacin presentamos un M-archivo para jugar Punto y
Fama. Es rudimentario pues el usuario debe entrar los nmeros en
forma de vectores pero es correcto desde el punto de vista lgico. Tambin inclumos la salida en pantalla que proporcion en un juego especco. Se consigui al invocar el comando diary pyf.dat.
% punto y fama pyf1.m
% Herramienta didactica, Carlos E. Mejia, 2002
res=1;
while res ==1
nro=randperm(10);
nro=rem(nro(1:4),10);
nfa=0;
% disp([ El numero oculto es: ]); disp(nro);
cont=0;
disp([ Se trata de adivinar los 4 digitos distintos ]);
disp([ de un vector en el orden correcto ]);
disp([ Se da una fama por cada digito correctamente situado
]);
2.5. Ejercicios
29
30
3
Ecuaciones no lineales
Mtodo de biseccin
Mtodo de Newton
Iteracin de Punto Fijo
Las ecuaciones no lineales de la forma f (x) = 0 aparecen frecuentemente en la computacin cientca y la mayora exigen tratamiento
numrico. El mtodo ms importante para su solucin es el de Newton, que puede enunciarse para ecuaciones escalares o vectoriales. Para
las primeras, lo estudiamos en la seccin 3.2 y para las segundas lo
presentamos en la seccin 6.15 y lo utilizamos varias veces en estas
notas.
Adems del mtodo de Newton, comentamos tambin un poco sobre el mtodo de biseccin, que aunque lento, tiene asegurada su convergencia en intervalos cerrados que contienen zeros de la funcin f:
Adems, tambin presentamos las iteraciones de punto jo, de las cuales
el mtodo de Newton es un importante caso particular.
Sobre ecuaciones no lineales hay captulos en los principales libros
de anlisis numrico. En estas notas seguimos a Stewart, 1996 [29],
Atkinson, 1978 [4] y Kincaid y Cheney, 1994 [21]. Sin embargo, creemos
que estas notas se pueden utilizar junto con cualquier otro libro de texto
de anlisis numrico.
32
3. Ecuaciones no lineales
tan(x) x = 0:
sen(x) x = 0
Las grcas siguientes ilustran mejor la situacin. Indican que un problema con enunciado tan simple puede ser difcil de resolver:
x -1
sin(x)-x
tan(x)-x
0.5
-2
-4
-4
-2
-2
-4
-4
-0.5
-2
-1
-1
x2[a;b]
33
34
3. Ecuaciones no lineales
35
x 10
2
25
20
500
400
300
200
100
1.5
15
10
5
0.5
0
0
0
-5
-100
-200
-10
-0.5
-15
-1
-20
1
1.5
4.5
-300
5
-1
7
7.5
10
11
12
3.2
Mtodo de Newton
36
3. Ecuaciones no lineales
solucin de f(x)
= 0; que es muy fcil de obtener, siempre que f 0 (x0 )
sea no nula. Dicha solucin es simplemente,
x1 = x0
f (x 0)
:
f 0 (x0 )
Afortunadamente, este razonamiento conduce a un efectivo mtodo iterativo para obtener soluciones de la ecuacin f (x) = 0: El mtodo se
llama de Newton o de Newton - Raphson y se dene asi:
x0
xn+1
primera aproximacin
f (x n )
= xn 0
, n = 0; 1; :::
f (xn )
:
37
38
3. Ecuaciones no lineales
k
0
1
2
3
4
3.2.1
xk
8.00000000e+000
7.87238132e+000
7.85506067e+000
7.85475753e+000
7.85475744e+000
f (xk )
-2.15864768e+002
-2.31372508e+001
-3.91280475e-001
-1.18472167e-004
-1.03985709e-011
Ejercicios
Trate de practicar con estas rutinas o con otras parecidas para resolver
los siguientes ejercicios:
1. Resuelva el problema anterior con x0 = 7: Obtiene lo que espera?
Es correcto el resultado que obtiene?
2. Busque ceros de la funcin f(x) = tan(x) x que sean cercanos a
100:
Respuesta: Los ms cercanos son, aproximadamente, 98.9500628 y
102.091966. Trate de no usar esta informacin para que experimente
en condiciones normales.
3.2.2
(3.2)
39
k!1
(3.3)
f (x) f 00 (x)
f 0 (x)2
pero como f (
x) = 0 y f 0 (
x) 6= 0; entonces g 0 (
x) = 0: Por continuidad
0
de g en x; para todo 0 < C < 1; existe > 0 tal que si 0 < jx x
j <
entonces jg 0 (x) g 0 (
x)j = jg 0 (x)j C < 1: Por tanto, debemos escoger
x0 que cumpla jx0 x
j < : Como 0 est entre x0 y x
; entonces
je1 j = jg 0 ( 0 )j je0 j C je0 j < C < :
De aqui, jx1 x
j < ; lo que indica que este argumento se puede repetir.
Llegamos a
je2 j = jg 0 ( 1 )j je1j C je1 j < C 2 je0 j < C 2 < :
40
3. Ecuaciones no lineales
Por induccin,
jek+1 j = jg 0 ( k )j jek j C jek j < C k+1 je0 j < C k+1 < :
Esto prueba que los iterados pertenecen todos al intervalo con radio
en torno a la raz y que lim jek j = 0:
k!1
Para saber qu tan rpida es esta convergencia, usamos Teorema de
Taylor para g; teniendo en cuenta que g 0 (
x) = 0: Es decir,
1
g (xk ) g (
x) = g 00 ( k ) (xk x
)2 ;
2
donde k est entre xk y x
: Esto lo reescribimos asi:
1
ek+1 = g 00 (k ) e2k :
2
De aqui encontramos que
ek+1
1 f 00 (
x)
1 00
g
(
x
)
=
:
=
2
0
k!1 e
2
2 f (
x)
k
lim
41
= x2 4x + 6
= 5 x6
1
= (5x 6) 2
2
= x 5+6 :
42
3. Ecuaciones no lineales
v=feval(f_fun,x1);
e1=s-x1;
out=[k,x1,v,e1,e1/e0];
fprintf(%4.0f %8.3e %8.3e %8.3e %8.3enn,out);
if (abs(x1-x0)<epsi j abs(v)<epsi)
break
end
x0=x1;e0=e1;
end
Las funciones f y g j estn dadas en M-archivos como los siguientes:
function z = f(x);
% Funcion f_fun iteracion de punto fijo
% z=x^2-5*x+6;
z=x^3-13*x+18;
function z = g(x);
% funcion g_fun de iteracion de punto fijo
% z = x^2-4*x+6;
% z = 5-6/x;
% z = (5*x-6)^(1/2);
% z = (x^2+6)/5;
%
% z = x^3-12*x+18;
% z = (x^3+18)/13;
% z = (13*x-18)^(1/3);
z = (13*x-18)/x^2;
Para aproximar el cero s = 2 del primer polinomio, utilizamos el
M-archivo propuesto. Siempre utilizamos una tolerancia epsi = 108 :
Para la funcin g1 con un mximo de 10 iteraciones, los resultados
son:
43
k
0
1
2
3
4
5
6
7
8
9
10
xk
0.00e+000
6.00e+000
1.80e+001
2.58e+002
6.55e+004
4.29e+009
1.84e+019
3.40e+038
1.16e+077
1.34e+154
Inf
f (xk )
6.00e+000
1.20e+001
2.40e+002
6.53e+004
4.29e+009
1.84e+019
3.40e+038
1.16e+077
1.34e+154
Inf
NaN
ek
2.00e+000
-4.00e+000
-1.60e+001
-2.56e+002
-6.55e+004
-4.29e+009
-1.84e+019
-3.40e+038
-1.16e+077
-1.34e+154
-Inf
e k =ek1
-2.00e+000
4.00e+000
1.60e+001
2.56e+002
6.55e+004
4.29e+009
1.84e+019
3.40e+038
1.16e+077
Inf
xk
0.00e+000
-Inf
5.00e+000
...
3.03e+000
...
3.00e+000
...
3.00e+000
f (x k )
6.00e+000
Inf
6.00e+000
...
2.74e-002
...
3.45e-003
...
4.52e-004
ek
2.00e+000
Inf
-3.00e+000
...
-1.03e+000
...
-1.00e+000
...
-1.00e+000
ek =ek1
Inf
0.00e+000
...
9.87e-001
...
9.98e-001
...
1.00e+000
xk
1.99e+000
1.95e+000
1.66e+000
6.69e-001
f (xk )
1.01e-002
5.56e-002
4.56e-001
3.10e+000
ek
1.00e-002
5.28e-002
3.40e-001
1.33e+000
e k =ek1
1.53e+000
1.67e+000
2.17e+000
44
3. Ecuaciones no lineales
xk
0.00e+000
3.58e+000
3.43e+000
3.29e+000
f (xk )
6.00e+000
-2.11e+000
4.21e-001
3.13e-001
ek
2.00e+000
-1.58e+000
-1.43e+000
-1.29e+000
ek =ek1
8.17e-001
9.16e-001
9.43e-001
xk
0.00e+000
1.81e+000
1.95e+000
1.99e+000
2.00e+000
2.00e+000
f (xk )
6.00e+000
2.33e-001
5.75e-002
5.55e-003
1.80e-003
5.89e-004
ek
2.00e+000
1.95e-001
5.45e-002
5.52e-003
1.80e-003
5.89e-004
ek =ek1
7.48e-001
7.86e-001
7.99e-001
8.00e-001
8.00e-001
3.4 Ejercicio
Para el polinomio q (x) = x 3 13x + 18 presentado antes, considere las
siguientes funciones de iteracin de punto jo y decida cules permiten
45
3.5
(3.4)
(3.5)
46
3. Ecuaciones no lineales
(3.6)
Sea C una constante positiva tal que jg 0(s)j < C < 1: Por continuidad
de g 0 ; para " = C jg 0 (s)j ; existe tal que jg 0 (x) g 0(s)j " siempre
que 0 < jx sj < : De aqui obtenemos jg 0 (x)j " + jg 0(s)j = C < 1
para todo x 2 I :
Sea I = [s ; s + ] : Veamos que si x 0 2 I ; la iteracin de punto
jo xk+1 = g(xk ) es convergente. Por (3.6),
je1 j jg 0 (0 )j je0 j :
Como 0 est entre x0 y s; entonces est en I : Luego
je1 j C je0 j < C < :
(3.7)
k!1
47
3.6. Ejemplos
0 lim
jek+1 j
= jg 0 (s)j :
k!1 jek j
lim
1 (p)
g (k ) (xk s)p ;
p!
3.6
Ejemplos
f (2) (s)
:
f 0 (s)
48
3. Ecuaciones no lineales
49
3.6. Ejemplos
mximo de 20 iteraciones.
p
1. Aproximacin del cero s = 2 de la funcin f(x) = x2 2 por el
Mtodo de Newton.
k
0
1
2
3
4
5
6
7
8
9
xk
50
25.0200
12.5500
6.3547
3.3347
1.9672
1.4919
1.4162
1.4142
1.4142
f (xk )
2.5e+003
6.2e+002
1.6e+002
3.8e+001
9.1e+000
1.9e+000
2.3e-001
5.7e-003
4.1e-006
2.1e-012
ek
-4.9e+001
-2.4e+001
-1.1e+001
-4.9e+000
-1.9e+000
-5.5e-001
-7.8e-002
-2.0e-003
-1.4e-006
-7.4e-013
ek =ek1
ek = (ek1)2
4.9e-001
4.7e-001
4.4e-001
3.9e-001
2.9e-001
1.4e-001
2.6e-002
7.1e-004
5.1e-007
-1.0e-002
-2.0e-002
-4.0e-002
-7.9e-002
-1.5e-001
-2.5e-001
-3.4e-001
-3.5e-001
-3.5e-001
k
0
1
2
.
8
9
10
11
12
13
xk
2.0000
1.4323
0.9638
...
0.0276
0.0139
0.0070
0.0035
0.0018
0.0009
f (xk )
8.4e+000
2.8e+000
9.1e-001
...
3.9e-004
9.8e-005
2.5e-005
6.1e-006
1.5e-006
3.8e-007
ek
-2.0e+000
-1.4e+000
-9.6e-001
...
-2.8e-002
-1.4e-002
-7.0e-003
-3.5e-003
-1.8e-003
-8.8e-004
ek =ek1
ek = (ek1 )2
7.2e-001
6.7e-001
...
5.1e-001
5.0e-001
5.0e-001
5.0e-001
5.0e-001
5.0e-001
-3.6e-001
-4.7e-001
...
-9.4e+000
-1.8e+001
-3.6e+001
-7.2e+001
-1.4e+002
-2.9e+002
50
3. Ecuaciones no lineales
La penltima columna sugiere convergencia lineal. La ltima no invita a pensar en convergencia cuadrtica. De todas maneras, como lo
dijimos antes, los experimentos nunca son la ltima palabra.
Estos dos ejemplos sugieren la preparacin de tablas con cocientes
de errores consecutivos para tratar de encontrar patrones que despus
conduzcan a armaciones matemticas generales. Tales patrones no
siempre se encuentran, como en el siguiente caso:
3. Aproximar el cero s = 1 de la funcin x3 1:
k
0
1
2
3
4
5
6
xk
3.0000
2.0370
1.4384
1.1200
1.0124
1.0002
1.0000
f (xk )
2.6e+001
7.5e+000
2.0e+000
4.1e-001
3.8e-002
4.5e-004
6.9e-008
ek
-2.0e+000
-1.0e+000
-4.4e-001
-1.2e-001
-1.2e-002
-1.5e-004
-2.3e-008
ek =e k1
ek = (ek1 )2
5.2e-001
4.2e-001
2.7e-001
1.0e-001
1.2e-002
1.5e-004
-2.6e-001
-4.1e-001
-6.2e-001
-8.6e-001
-9.8e-001
-1.0e+000
1+x
3. Encuentre todas las races de log
.
1 x2
Sugerencia: Con una buena grca conjeture que hay una sola
51
52
3. Ecuaciones no lineales
53
3. Evale
s=
r
3
6+
q
3
6+
p
3
6 + ::::
p
3
6 + x: El nmero
1
a
xn+1 = 1
xn +
n
n
y que dos errores consecutivos satisfacen la relacin
1
xn+1 a = 1
(x n a) :
n
Por qu motivo esta relacin sugiere que la convergencia es
lenta?
54
3. Ecuaciones no lineales
4
Interpolacin
Tablas
Teorema fundamental
Forma de Newton (Diferencias divididas)
Forma de Lagrange
4.1
Tablas
Uno de los procedimientos ms tiles en el procesamiento de informacin es el de construir curvas con base en unos cuantos puntos de
referencia Pj con coordenadas (x j ; yj ) dados en una tabla de la forma
j
xj
yj
0 1
x0 x 1
y0 y1
n
xn
yn
(4.1)
56
4. Interpolacin
x 10
1.35
1.3
1.25
1.2
1.15
1.1
1.05
0
10
15
20
25
30
35
40
45
57
4.2
Teorema fundamental
0
1
2
1
2
3
1 1/2 1/3
3
4
1/4
(4.2)
Intento 1
58
4. Interpolacin
3
P
j=0
[f (xj ) yj ]2 sea
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
1
1.5
2.5
3.5
59
Intento 2
60
4. Interpolacin
luego a = 1
Para 2:
1
= p(2) = a + b;
2
luego b =
Para 3:
1
= p(3) = a + 2b + 2c;
3
luego c =
Para 4:
1
1
= p(4) = a + 3b + 6c + 6d; luego d = :
4
24
1
2
1
6
61
0.5
0.3333
0.25
62
4. Interpolacin
Consideremos el polinomio
pk (x) = pk1 (x) + c(x x0 )(x x1 ):::(x xk1 ):
Por supuesto es interpolante de los datos hasta k 1; pues pk1 lo es.
Para que tambin interpole en xk ; pedimos que
yk = pk (xk ) = pk1 (xk ) + c(xk x0 )(xk x 1):::(xk xk1 )
lo cual proporciona un nico valor para c: El despeje de c se puede
hacer pues los xj son todos distintos por hiptesis.
4.2.3
Clculo de coeficientes
k
X
j=0
con la convencin
m
Q
s=0
cj
j 1
Y
(x xs )
s=0
(x xs ) = 1 si m < 0:
Para evaluar los pk y por tanto, para calcular los ck ; se usa la multi-
63
0
x0
y0
1
x1
y1
n
xn
yn
(4.5)
4.3
Forma de Newton
64
4. Interpolacin
p0 (x) = y0 = c0
p1 (x) = p0 (x) + c1 (x x0 )
p2 (x) = p1 (x) + c2 (x x0 )(x x1 )
..
.
pk (x) =
k
X
j=0
con la convencin
m
Q
s=0
cj
j 1
Y
(x xs )
s=0
(x xs ) = 1 si m < 0:
En general,
f [xk+1 ; x k+2 ; xk+j ] f [xk ; xk+1; xk+j 1 ]
xk+j xk
(4.6)
En resumen, la forma de Newton del polinomio interpolante de la tabla
dada es
j1
n
Y
X
pn (x) =
f [x0; x1 ; ; xj ] (x xs ):
f [xk; xk+1 ; ; xk+j ] =
j=0
s=0
65
f [x0 ]
f [x1 ]
f [x0 ; x1 ]
f [x1 ; x2 ]
..
.
x2
..
.
xn1
xn
f [x2 ]
..
.
f [xn1 ] f [xn1 ; xn ]
f [xn ]
Cuando las tablas de diferencias divididas se organizan de esta manera, los coecientes del polinomio interpolante quedan situados en la
primera la.
Note tambin que la diferencia dividida (4.6) se encuentra en la la
k y la columna j de la matriz (n + 1) (n + 1) indizada de 0 a n en las
dos direcciones, que se obtiene de la tabla de diferencias descartando la
columna de las xj . El numerador de (4.6) se consigue por substraccin
de los elementos (k +1; j 1) y (k; j 1) de esta matriz y el numerador
se obtiene por substraccin de x k+j y xk :
El siguiente M-archivo lo presentamos con el nimo de mostrar el
procedimiento de construccin de tablas de diferencias divididas. Advertimos que dista mucho de ser til, por la cantidad de informacin
que debe entrarse con el teclado. Como dijimos al principio, las rutinas
presentadas en estas notas son solamente ejemplos de clase que no pretenden sustituir rutinas hechas por profesionales que son las que deben
usarse siempre que estn disponibles.
% Herramienta didactica, Carlos E. Mejia, 2002
% uso: difdiv
% diferencias divididas
n=input( Entre numero de abscisas: );
x=input( Entre vector de abscisas: );
y=input( Entre vector de ordenadas: );
d=zeros(n);
d(:,1)=y(:);
for j=2:n
for i=1:n-j+1
66
4. Interpolacin
d(i,j)=(d(i+1,j-1)-d(i,j-1))/(x(i+j-1)-x(i));
end
end
d
Veamos unos resultados obtenidos con esta rutina. Ofrecemos los
datos correspondientes al polinomio x 3 en una tabla con 4 abscisas.
Los resultados son:
difdiv
Entre numero de abscisas: 4
Entre vector de abscisas: [1 2 4 6]
Entre vector de ordenadas: [1 8 64 216]
d=
1 7
7 1
8 28 12 0
64 76
0 0
216 0
0 0
El resultado que ofrece difdiv.m es que el polinomio interpolante, que
tiene que ser el propio x3 por unicidad, est dado por
1 + 7 (x 1) + 7 (x 1) (x 2) + (x 1) (x 2) (x 4) :
Es decir, se obtiene el resultado correcto.
n
P
k=0
n
P
yk lk (x)
(4.7)
f (xk ) lk (x);
k=0
donde
lk (x) =
n
Y
(x xs )
:
(xk xs )
s=0; s6=k
(4.8)
67
4.5. Ejercicios
lk (xj ) = kj ;
que es una consecuencia directa de (4.8). Aqu kj es el delta de Kronecker, que toma el valor 1 si k = j y el valor 0 si k 6= j:
Con riesgo de sonar repetitivo, volvemos a insistir en que se recurra a
software de calidad siempre que est disponible. En particular, los clculos con la forma de Lagrange, son ms susceptibles de ser inestables
numricamente que los clculos con diferencias divididas.
4.5
Ejercicios
1990
18
1994
8.7
1998
10
68
4. Interpolacin
diferencias divididas. Note que slo tiene que completar el trabajo que
ya hizo en la parte a., no necesita empezar desde el principio.
2. Use el mtodo de coecientes indeterminados para encontrar un
polinomio cuadrtico p (x) tal que p (1) = 0; p0 (1) = 7 y p (2) = 10:
(Note la evaluacin de la derivada.) La interpolacin polinomial que
incluye informacin sobre derivadas, es importante pero no hace parte
de estas notas. Sugerimos a los interesados que estudien interpolacin
de Hermite, para darse una idea sobre el tema.
3. Una funcin spline de grado k con nodos x0 ; x1 ; :::; xn es una
funcin S que cumple:
a. En cada intervalo [xj1 ; xj ); S es un polinomio de grado k:
b. S tiene derivadas continuas hasta de orden k 1 en [x0 ; x n ] :
Ejemplos: Los splines de grado 0 son funciones constantes a trozos,
los de grado 1 son funciones continuas lineales a trozos y los de grado
2 son continuas, con primera derivada continua y denidos en cada
subintervalo por un polinomio cuadrtico.
Determine los valores de a; b; c y d para que la funcin
3 + x 9x3 ;
x 2 [0; 1]
f (x) =
2
3
a + b (x 1) + c (x 1) + d (x 1) ;
x 2 [1; 2]
sea un spline cbico con nodos 0; 1 y 2:
Los ejercicios 2. y 3. abren un espacio para temas no tratados en
detalle en estas notas. Sugerimos consultar Kincaid y Cheney (1994),
cap. 6.
f (n) (z)
n!
69
El error al interpolar tambin puede expresarse en trminos de derivadas de f cuando f es sucientemente suave.
Teorema 14 Sean f 2 C n+1 [a; b] y pn un polinomio de grado n que
interpola a f en n + 1 puntos distintos x0 ; x1 ; :::; xn de [a; b]: Para cada
x 2 [a; b]; corresponde un punto zx 2 (a; b) tal que
n
f (n+1) (zx ) Y
f (x) pn (x) =
(x xj ):
(n + 1)! j=0
4.7
n
Y
j=0
(x xj ):
Ejercicios suplementarios
Tabla 1
-2 -1 0
2 14 4
1
2
x
y
Tabla 2
-1 0
2 3
-1 3 11 27
-2 -1 0
2 14 4
-2
6
70
4. Interpolacin
2j
b. Utilizando los puntos xj n = cos
:
n
Haga grcas de las funciones de error f (x) p (x) en todos los
casos. Comente sus resultados.
71
-2
-39
-1 0
1 1
1
3
2
25
3
4
181 801
-39
1
1
3
25
181
801
40 -20 7
0
1 3
2 10 19
22 67 55
156 232
620
-1
4
9
1
1
4.8
Examen de entrenamiento
0
0
1
1
2
0
utilizando los tres mtodos estudiados, es decir, la forma de Lagrange, la forma de Newton y el mtodo de coecientes indeterminados.
x
2. Sea f (x) = sen
y sea p el polinomio p del ejercicio anterior
2
que coincide con f en los puntos 0, 1 y 2. Calcule una cota para
el error jf (x) p (x)j en [0; 2] : Compare esta cota con el error
verdadero en los puntos x = 1=4 y x = 3=4:
72
4. Interpolacin
-2 -1 0
-5 1 1
1
1
2 3
7 25
x en los
5
Integracin numrica
Frmulas bsicas
Error en la cuadratura
Cuadraturas compuestas
Frmulas de Newton-Cotes
Coecientes indeterminados
Cuadratura de Gauss
Polinomios ortogonales
Rb
La integral denida a f (x) dx es un nmero y el proceso de calcularlo, con base en valores de la funcin f; se conoce como integracin
numrica o cuadratura. (Esta ltima palabra se reere a encontrar un
cuadrado cuya rea sea igual al rea bajo una curva.) Ms
R b precisamente,
toda frmula de integracin numrica para la integral a f (x) dx es una
suma de la forma
n
X
Aj f (xj ) :
j=0
74
5. Integracin numrica
Z 1
1
1
f (x) dx
f (0) + 4f
+ f (1) :
=
6
2
0
El smbolo
= se lee: es aproximadamente igual a. Empecemos usando
esta regla y la ms elemental de las rutinas de cuadratura que ofrece
MATLAB.
Ejemplo 15 Utilizar la rutina bsica de cuadratura proporcionada por
MATLAB, llamada quad, y la regla de Simpson bsica para aproximar
las integrales entre 0 y 1 de las siguientes funciones: f (x) = jsin (2x)j ;
2
f (x) = p exp (x 2) y f (x) = x (x 0:5) (x 1) + 5:
2
erf (z) =
p exp x2 dx
est tabulada. Las tablas para erf y muchas otras funciones denidas
en trminos de integrales, son indicativo de lo importante que es tener
buenas rutinas para integracin numrica. Dichas tablas se pueden consultar, por ejemplo, en la compilacin Abramowitz y Stegun (1970) [1].
Preparamos el siguiente M-archivo para hacer los clculos:
function simpson(fun,a,b)
% Herramienta didactica, Carlos E. Mejia, 2002
% uso de quad, la integracion numerica de bajo orden
% que ofrece MATLAB junto con regla de Simpson
% quad esta basada en Simpson y es adaptativa
% fun: integrando, a, b: limites de integracion
% Uso: simpson(fun,a,b), fun puede ser fsim.m
i1=quad(fun,0,1);
c=(b-a)/6;
fa=feval(fun,a);
f2=feval(fun,(a+b)/2);
75
fb=feval(fun,b);
i2=c*(fa+4*f2+fb);
disp([Resultado quad: ,num2str(i1)]);
disp([Resultado Simpson bsico: ,num2str(i2)]);
Los resultados obtenidos se comparan con los exactos en la siguiente
tabla:
Integral
R1
jsin (2x)j dx
Z0 1
2
p exp x2 dx
R 01
(x (x 0:5) (x 1) + 5) dx
0
quad.m Simpson
0:6366 1:2246 1016
Exacto
0:6366
0:8427
0:8431
0:8427
76
5. Integracin numrica
1.2
0.8
0.6
0.4
0.2
0
-1
5.1.1
Ejercicio
Cambio de intervalo
Las dos frmulas bsicas que hemos presentado fueron dadas para el
intervalo [0; 1] pero el M-archivo simpson.m, lo escribimos con base en
un intervalo genrico [a; b] : Los cambios de intervalo son tan fciles de
hacer, que a menudo se presentan las frmulas nicamente para [0; 1] :
Para cambiar de intervalo, basta escribir la variable x como funcin
lineal de otra variable y, as:
x = p + qy:
Enseguida pedimos x = a cuando y = 0 y x = b cuando y = 1, lo cual
exige tomar p = a y q = b a: La expresin anterior se cambia por
x = a + (b a) y
g (y) = f (a + (b a) y) :
77
Rb
Finalmente, dx = (b a)dy y la integral a f (x) dx la podemos evaluar
as:
Z b
Z 1
f (x) dx = (b a)
g (y) dy:
a
Como
1
a+b
g (0) = f (a) ; g
=f
y g (1) = f (b) ;
2
2
entonces en el intervalo [a; b] la regla de Simpson es
Z
ba
a+b
f (x) dx =
f (a) + 4f
+ f (b)
6
2
y la regla trapezoidal es
Z b
ba
f (x) dx
[f (a) + f (b)] :
=
2
a
5.2
Sean
y
Error en la cuadratura
ba
a+b
S (f; a; b) =
f (a) + 4f
+ f (b)
6
2
ba
[f (a) + f (b)] :
2
Si f tiene sucientes derivadas, los errores en cada una de estas
cuadraturas estn dados por
Z b
1
f (x) dx S (f; a; b) = (b a)5 f (4) ( )
90
a
T (f; a; b) =
1
(b a)3 f (2) () ;
12
a
donde y estn entre a y b: La justicacin de estas igualdades puede
verse en Kincaid y Cheney (1994) [21].
f (x) dx T (f; a; b) =
78
5. Integracin numrica
Una consecuencia de estas frmulas de error, es que la regla de Simpson es exacta para polinomios hasta de grado 3 y que la regla trapezoidal es exacta para polinomios hasta de grado 1. En efecto, la cuarta
derivada de un polinomio de grado 3 o menor, es cero y la segunda
derivada de un polinomio de grado 1 es cero. Estas ideas se generalizan
en la seccin 5.5 sobre cuadraturas de Newton-Cotes.
Otra consecuencia de estas frmulas, es que sobre intervalos grandes,
es prcticamente imposible obtener buenos resultados con estas cuadraturas. Por eso se recurre a las cuadraturas compuestas, que se consideran en la siguiente seccin.
h
(f (xj 1) + f (xj ))
2
n
P
T (f; xj1 ; xj )
j=1
n
P
h
(f (xj 1 ) + f (xj ))
j=1 2
n1
P
h
h
=
f (x0 ) +
f (xj ) + f (x n ) :
2
2
j=1
=
5.4. Ejercicios
79
5.4
Ejercicios
Tales integrales y las de tipo seno que se denen anlogamente, aparecen tabuladas en una gran variedad de colecciones de funciones, por
ejemplo en Abramowitz y Stegun (1970) [1].
1. Construya una tabla de los valores de la funcin C(z) para todo
z de la forma z = 0:05k; donde k = 1; 2; :::; 20: Necesariamente debe
utilizar alguna rutina para integracin numrica. Dicha rutina puede
crearla usted o tomarla de alguna fuente.
2. Repita el ejercicio 1. para la funcin
Z z
S(z) =
sen
t2 para todo real.
2
0
80
5. Integracin numrica
Rb
a
f (x) dx de la forma
n
P
Aj f (xj ) ;
j=0
j=0
(5.2)
j=0
dem:
Puesto que los polinomios de Lagrange tienen grado n; para ellos
debe cumplirse el lado derecho de (5.2), es decir,
Z b
n
X
Aj lk (x j ) = Ak :
lk (x) dx =
a
j =0
n
X
j=0
p (xj ) lj (x) :
81
Por tanto,
Z
p (x) dx =
n
X
p (x j )
lj (x) dx =
j=0
n
X
Aj p (xj ) :
j=0
5.6
Aj f (x j )
82
5. Integracin numrica
0 A0 + 0:5 A1 + 1 A2 =
Para x2 : 0 A0 +
R1
0
xdx = 0:5
R1
1
1
A1 + 1 A2 = 0 x2 dx = :
4
3
1
Este sistema tine una nica solucin dada por A0 = A2 =
y
6
2
A1 = : Estamos ante la cuadratura de Newton-Cotes sobre [0; 1] con
3
n = 2; x0 = 0; x1 = 0:5 y x2 = 1 y no es ms que la regla de Simpson.
Esta cuadratura tiene otra particularidad, que ya conocemos desde
que vimos los errores en la seccin 5.2. Para x3 ; la ecuacin que resulta
es
Z 1
1
1
A1 + A2 =
x3 dx =
8
4
0
y en efecto, los valores encontrados antes para A1 y A2 ; tambin satisfacen esta ecuacin. Esto signica que la regla de Simpson tambin es
exacta para polinomios de grado 3:
Ntese que la regla de Simpson no es una cuadratura de NewtonCotes para n = 3; pues no se utilizan 4 puntos en su formulacin.
Rb
a
83
x0 A0 + x1 A1 =
R1
0
R1
0
R1
0
xdx = 0:5
x2 dx =
1
3
(5.4)
1
x3 dx = :
4
84
5. Integracin numrica
5.8 Ejercicios
1. Resuelva exactamente el sistema de ecuaciones (5.4) y obtenga una
frmula de cuadratura gaussiana sobre [0; 1] que es exacta para polinomios de grado a lo ms 3.
2. Utilice la cuadratura gaussiana que acaba de deducir para calcular
las integrales del ejemplo 15.
3. Calcule C (1) y S (1) ; las integrales de Fresnel para z = 1; por
medio de esta cuadratura gaussiana. Las integrales de Fresnel fueron
denidas en la seccin de ejercicios 5.4.
f (x) w (x) dx
Aj f (xj ) :
j =0
En realidad, si nos concentramos a trabajar en el espacio vectorial de funciones continuas en [a; b] ; denotado C ([a; b]) ; la expresin
Rb
f (x) g (x) w (x) dx dene un producto interno en C ([a; b]) : En estas
a
85
condiciones, la expresin (5.5) dice que el producto interno de las funciones f y g es cero. Eso es lo que se llama ortogonalidad en espacios
vectoriales.
Denicin 21 Una sucesin de polinomios ortogonales es una sucesin de polinomios fpj g1
en la que grad(pj ) = j para cada j y tal
j=0
que
Z
b
j 6= k )
n
X
bj pj :
j=0
Adems, si q =
n
P
j=0
bj pj =
n
P
j=0
86
5. Integracin numrica
n
P
b j pj ; entonces
j=0
n
X
bj
j=0
entonces
Rb
Rb
xw (x) dx d1
Rb
a
w (x) dx;
xw (x) dx
d 1 = Ra b
Rb
(5.6)
87
Rb
a
Rb
a
En el lado derecho, los trminos despus del segundo son cero por
ortogonalidad. Luego
Rb 2
xpn (x) w (x) dx
dn+1 = Ra b
:
(5.7)
2 (x) w (x) dx
p
a n
88
5. Integracin numrica
R
Esta cuadratura de Newton-Cotes para ab f (x) w (x) dx es exacta para
polinomios de grado hasta n; o sea que
Z b
n
X
grad (g) n )
g (x) w (x) dx =
Aj g (xj ) :
(5.9)
a
j=0
Resulta que, debido a los nodos que estamos usando, esta cuadratura
cumple mucho ms que sto. Demostremos que
grad (g) 2n + 1 )
g (x) w (x) dx =
n
X
Aj g (x j ) :
j=0
89
Aj g (xj ) =
j=0
n
P
j=0
n
P
Aj r (xj )
r (x) w (x) dx
por (5.9)
j=0
=
=
=
Rb
a
Rb
a
Rb
a
Aj f (x j ) ;
j=0
con
Aj =
90
5. Integracin numrica
y grad l2j = 2n: Por tanto, la cuadratura de Gauss es exacta para
l2j (x) y
Z b
n
X
2
0<
lj (x) w (x) dx =
Ak l2j (xk ) = Aj
a
k=0
por (4.9).
Notamos G (f; a; b; w; n) la cuadratura gaussiana sobre [a; b] ; con
funcin de ponderacin w (x) y con n + 1 nodos que aproxima
Z b
I=
f (x) w (x) dx:
a
para algn 2 (a; b) : Una demostracin de esta igualdad puede encontrarse en Kincaid y Cheney (1994) [21], seccin 7.3.
5.12 Ejercicios
1. Demuestre que
n
P
j=0
Aj =
Rb
a
w (x) dx:
2. Para intervalos y funciones de ponderacin particulares, las cuadraturas de Gauss toman distintos nombres. Una de las ms famosas es
la cuadratura de Gauss-Legendre, que se hace con el intervalo [1; 1]
y con la funcin de ponderacin w (x) = 1: Los polinomios ortogonales correspondientes, se conocen como polinomios de Legendre. Para
todas las cuadraturas de Gauss ms utilizadas, los nodos y los coecientes aparecen tabulados en Abramowitz y Stegun (1970) [1] y en
compendios similares. Calcule las integrales del ejemplo 15 utilizando
91
Utilice h = 2 ; con k = 1; 2; 3:
k
f (xj ) :
I=
f (x) dx = h
a
j=2
92
5. Integracin numrica
f (x) dx = af
+ bf (0) + cf
2
2
1
que es exacta para polinomios de grado 2 o menor.
1
c
1 + x2
dx:
a
93
94
5. Integracin numrica
6
Ecuaciones diferenciales ordinarias
Problemas de valor inicial
Existencia y unicidad de PVIs
Mtodo de Euler
Anlisis de Error
Consistencia, estabilidad, errores de redondeo, estabilidad absoluta
Mtodos de Taylor y mtodo clsico de Runge-Kutta
6.1
(6.1)
96
n
X
akj (t) yj ;
j=1
97
Ejemplo 25 1. Sean A =
R ! R2 tal que
30 28
0 2
y y0 =
2
1
: Encontrar y :
y0 = Ay
y (0) = y0 :
Este es un problema lineal homogneo y su solucin exacta es fcil de
obtener. Pero tambin es interesante resolverlo numricamente.
2. Encontrar y : R ! R2 tal que
0
y1 = y2
0
g
y2 = sin (y1 )
b
8
y (0) =
:
0
Aqui, g y b son constantes positivas. Este es un problema no lineal homogneo que sirve de modelo para un pndulo plano.
3. Especies en competencia: Sean y1 (t) y y2 (t) las cantidades de animales en el tiempo t de dos especies que compiten por el mismo alimento.
Se supone que la natalidad de cada especie es proporcional al nmero de
animales de esa especie pero la mortalidad de cada especie depende de
la poblacin de ambas especies. Un sistema de este tipo es el siguiente:
0
(6.2)
6.3
98
99
1.5
0.5
0
0
0.5
1.5
0.8
0.6
0.4
0.2
0
0
0.2
0.4
0.6
0.8
Diagrama de fase Y
1.2
1
VS Y
1.4
1.6
1.8
100
-1
-2
-3
-5
-4
-3
-2
-1
0
Diagrama de fase, y
1
VS y 2
Especies en competencia
1.8
1.6
1.4
1.2
0.8
0
2000
4000
6000
Diagrama de fase, y
VS y
1
8000
10000
101
6.4
6.5
Existencia y unicidad
102
Ejemplo 27 1. El PVI
y0 = y;
y (0) = 1
tiene una nica solucin y (t) = exp (t) : Las hiptesis del teorema anterior se satisfacen en cualquier franja S que contenga al eje y en el
plano cartesiano R R:
2. El PVI
y0 = y2 ; y (0) = 1
(6.3)
1
tiene una nica solucin y (t) = 1t
; denida nicamente para t < 1:
Esta asntota vertical no sorprende, pues de (6.3) vemos que la funcin
solucin del PVI debe ser positiva con derivada positiva y creciente. En
este caso, la existencia y unicidad de la solucin no se puede obtener
del Teorema 26. Recomendamos un libro especializado como Henrici
(1962) [14] para ms detalles tericos.
103
6.7
Mtodo de Euler
(6.4)
h2 00
y ();
2
(6.5)
104
(6.6)
105
yprima = -10y, n = 2
yprima = -10y, n = 4
-1
0
-2
-2
-3
-4
-4
0
0.5
yprima = -10y, n = 8
0.5
yprima = -10y, n = 16
1
0.8
0.5
0.6
0.4
0
0.2
-0.5
0
0
0.5
yprima = -10y, n = 32
yprima = -10y, n = 64
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.5
0.5
0.5
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
0.5
0.5
106
107
yprima = 5y, n = 4
150
150
100
100
50
50
0.5
yprima = 5y, n = 8
0.5
yprima = 5y, n = 16
150
150
100
100
50
50
0
0
0.5
yprima = 5y, n = 32
0.5
yprima = 5y, n = 64
150
150
100
100
50
50
0
0
0.5
0.5
150
150
100
100
50
50
0
0
0.5
0.5
108
6.7.1
Anlisis de error
(6.7)
(6.8)
109
j = 1; 2; :::; n:
K (tj t0 )
e
1 :
K
110
je j j 5h e10 1 ;
lo cual no dice mucho.
6.7.2
Consistencia
Para continuar con el anlisis de error, consideremos de nuevo el Teorema 31. All se arma que un mtodo de un paso es convergente si se
cumple la condicin de consistencia, que dice simplemente
! 0 cuando h ! 0:
(6.9)
111
6.7.3
Estabilidad
(6.10)
!0
kk1 (bt 0 )K
max jej j e(bt0 )K j"j +
e
1 :
0j N
K
Claramente, si ! 0; entonces ej ! 0 para todo j; es decir, el mtodo
de Euler es estable.
112
6.7.4
Errores de redondeo
0jN
1.2
0.8
0.6
0.4
0.2
0
0
0.05
0.1
0.15
h
0.2
0.25
113
Estabilidad absoluta
Muy relacionado con lo que estamos tratando es el concepto de estabilidad absoluta, que en pocas palabras, signica que el mtodo numrico
no aumenta errores pasados. Para estudiar la estabilidad absoluta se
recurre a la ecuacin de prueba
y0 = y:
(6.12)
114
h2 00
h3
y (t) + y000 () ;
2
3!
G (tj ; Y j ; h; f) = f (tj ; Yj ) +
h
(f (t ; Y ) + fy (tj ; Yj ) f (tj ; Y j )) :
2 t j j
115
6.9
Mtodos de Runge-Kutta
1
[k1 + 2k 2 + 2k3 + k4 ] ;
6
donde
k1 = f (tj ; Y j )
1
1
k2 = f tj + h; Y j + hk1
2
2
1
1
k3 = f tj + h; Y j + hk2
2
2
k4 = f (tj + h; Yj + hk 3 ) :
La deduccin de mtodos de Runge-Kutta que requieren nicamente
dos evaluaciones de la funcin f; es un ejercicio que recomendamos.
Aparece en muchos libros, por ejemplo, Kincaid y Cheney (1994) [21]
o Stoer y Bulirsch (1992) [30].
6.10 Ejercicios
1. Comprobar que el mtodo de Taylor orden 2 y el mtodo RungeKutta clsico satisfacen la condicin de consistencia (6.9).
116
(6.14)
117
y(a) = A;
y(b) = B;
(6.16)
y00 = y
y(0) = A; y() = B:
(6.17)
1 1
C1
A
=
:
e e1
C2
B
118
119
0
0
..
.
(6.18)
120
denotar simplemente como GV = 0: Su solucin por el mtodo iterativo de Newton exige en cada iteracin, la solucin de un sistema lineal
de ecuaciones. Ms precisamente, se procede as:
V (0)
aproximacin inicial,
(k+1)
V
= V (k) + W;
donde el superndice indica orden de iteracin y W es la solucin del
sistema de ecuaciones
J W = GV (k) ;
t
y(2) = : La solucin exacta es y (t) = arccot
y la usamos para
4
2
comparacin con la solucin obtenida por diferencias nitas.
El siguiente M-archivo es tomado de Lpez 2000 [22].
function pvfDFnl(fun,gun,hun,p1,p2,v1,v2,n,m,tol,wun)
121
122
end
if k>m
disp(excede # iteraciones);
end
% Las siguientes instrucciones muestran una grfica de la
solucin
% con las aproximaciones obtenidas
subplot(1,2,1);
plot(x,y,r);
xlabel(Tiempo);
title(PVF no lineal)
hold on
fplot(wun,[p1 p2],k*);
zoom
hold off
subplot(1,2,2);
% Grfica de los errores
ee=w-y;
plot(x,ee,k);
title(Error);
print -deps2 .nfignpvfDFnl.eps
Con este archivo generamos las siguientes guras:
PVF no lineal
Error
-5
1.6
x 10
1.5
1.4
1.3
1.2
1.1
0.9
0.8
0.7
0
0
0.5
1
t
1.5
0.5
1
t
1.5
123
6.16. Ejercicios
6.16 Ejercicios
1. Repita el procedimiento de diferencias nitas explicado arriba para
el PVF
y00 (t) = f (t; y; y 0);
1 < a t b < 1
(6.19)
con condiciones de borde
y(a) = A;
y(b) = B:
(6.20)
.
F :6 .
7!6 .
7
7
6
7
6
4 tn 5
4 vn 5
tn+1
vn+1
124
n+1
X
vj Bj0 (t) :
(6.21)
j =0
Esta es apenas una de las posibles extensiones de F : Pudimos pretender, por ejemplo, una extensin continua y lineal a trozos o muchas
otras. La idea es que para muchas deesas
extensiones F; se encuentre
una coleccin de funciones, digamos j ; para la que se cumple una
igualdad de la forma (6.21), es decir,
F (t) =
n+1
X
vj j (t) :
(6.22)
j=0
125
funcin F; dada por (6.22), que aproxima la solucin del PVF (6.15)
- (6.16). En los casos en que el PVF es lineal, el anlisis es sencillo.
El problema consiste en identicar los coecientes vj por medio de la
solucin de un sistema lineal de ecuaciones. La matriz de este sistema
es dada por bandas cuando las funciones j tienen soporte compacto.
Los B-splines se usan frecuentemente por tener soporte compacto y
tambin son muy comunes las funciones trigonomtricas. En este ltimo
caso, se habla de mtodos espectrales para la solucin de ecuaciones
diferenciales. Tienen la ventaja de ser rpidos en el computador pues
generalmente el procedimiento numrico est basado en transformadas
rpidas de Fourier. El libro Trefethen (2000) [33] es una reciente y til
referencia para mtodos espectrales. El mismo autor ofrece en Internet
Trefethen (1996) [32], que es un moderno libro inconcluso sobre solucin
numrica de ecuaciones diferenciales que tambin se reere al tema de
los mtodos espectrales.
Presentamos las ideas del mtodo de colocacin para el PVF
u 00 + pu + q = w
u (0) = 0; u (1) = 0:
(6.23)
n
X
j =1
aj vj
126
tal que
Lv (ti ) = w (ti) ; i = 1; :::; n:
A tal funcin la encontramos, gracias a la linealidad de L; por medio
de la solucin del sistema lineal de ecuaciones
n
X
(6.24)
j=1
Debido a la necesidad de tomar derivadas hasta de orden 2, optamos por utilizar exponentes j y k de 3 en adelante. Para resolver este
ejemplo preparamos un sencillo M-archivo que permite trabajar hasta
con 25 puntos de colocacin solamente. Mejorar esta rutina tal vez no
se justica, por las razones expuestas a continuacin. La rutina es:
function u=pvf1(a,b,n)
% pvf1.m, metodo de colocacion
% Herramienta didactica, Carlos E. Mejia, 2002
% problema general: Ly=y+py+qy = w
% basado en Kincaid y Cheney seccion 8.10
% a, b: limites del intervalo
% n: numero de nodos de colocacion y de funciones de prueba
h = (b-a)/(n+1);t = a+h:h:b-h;
127
% coeficientes
q=4*ones(size(t));w=cos(t);p=zeros(size(t));
for m=1:n
[j k]=poten(m);
lv = j*(j-1)*vf(j-2,k,t)-2*j*k*vf(j-1,k-1,t)+k*(k-1)*vf(j,k-2,t);
lv = lv + p.*(j*vf(j-1,k,t)-k*vf(j,k-1,t)) + q.*vf(j,k,t);
ma(:,m)=lv;
end
%c=manw;
c=bicgstab(ma,w,1e-4,50);
up=cell(size(c));u=zeros(size(c));
for m=1:n
[j k]=poten(m);
up{m}=vf(j,k,t);
u=u+c(m).*up{m};
end
ex=exaf(t);er=u-ex;
er2=sqrt((1/(n+2))*sum(er.^2))
ee2=norm(er)
T=[0 t pi/4];ex=[0; ex; 0];u=[0; u; 0];
plot(T,u,r,T,ex,k--)
axis([0 pi/4 -.4 .4])
title(Mtodo de Colocacin)
xlabel t,
print -deps2 .nfigncol2.eps
Los polinomios bsicos se generan por medio de la funcin vf.m y
la solucin exacta est en exaf.m. La rutina poten.m se ocupa de
asignar exponentes j y k a cada ndice m: La incluimos por completez:
function [j,k]=poten(m)
if m>=1 & m<6
j=3+m-1;k=3;
elseif m>=6 & m<11
j=3+m-6;k=4;
elseif m>=11 & m<16
j=3+m-11;k=5;
elseif m>=16 & m<21
j=3+m-16;k=6;
128
0.3
0.2
0.1
-0.1
-0.2
-0.3
-0.4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Para poder resolver el sistema lineal, tuvimos que acudir a un sosticado mtodo iterativo para la solucin del sistema de ecuaciones (6.24).
Se trata de BI-CGSTAB, publicado por primera vez por H. A. van
der Vorst en 1992. Se trata de un mtodo de gradiente conjugado con
biortogonalizacin, que adems posee un caracter estabilizador. MATLAB incluye este mtodo en la rutina bicgstab.m. Para saber ms
sobre este mtodo recomendamos Trefethen y Bau (1997) [34].
Los resultados son de inferior calidad a los obtenidos antes por diferencias nitas para un problema no lineal. Hay una razn numrica de
peso para esperar pobres resultados. Se trata de los polinomios escogidos como funciones bsicas, que no se escogieron en ninguna familia
de polinomios ortogonales. Los polinomios escogidos generan sistemas
lineales muy mal condicionados.
Un caso anlogo y muy famoso, es el de tratar de usar los polinomios xj ; como funciones bsicas para construir el polinomio que sea
la mejor aproximacin de una funcin dada en el sentido de los mnimos
cuadrados. Con la funcin constante 1 como funcin de ponderacin,
el sistema lineal al que se llega es uno de los ms mal condicionados de
129
los que se tenga noticia, pues la matriz del sistema es la temida matriz
1
de Hilbert Hn ; cuyo elemento (i; j) es
: A medida que crece
i+j +1
n; el tamao de la matriz, tambin aumenta el nmero de condicin de
Hn : Ms detalles de este interesante ejemplo pueden verse en Atkinson,
1978 [4], seccin 4.3.
f (x) dx:
(6.26)
130
1
+ 1:
(1 + 100h)n
7. Considere el PVF
v00 = v4 ; 0 t 1; v (0) = 1; v (1) = 1=2:
131
132
7
Ecuaciones diferenciales parciales
Ecuaciones de tipo parablico
Diferencias nitas con condiciones de borde de tipo Dirichlet
Ecuaciones no lineales y otras condiciones de borde
Consistencia, estabilidad y convergencia
Dos dimensiones
Mtodos ADI
7.1
134
135
7.3.1
Mtodos ms comunes
que conduce a
j
j
2Vij + Vi+1
:
Vij +1 = Vij + r Vi1
(7.2)
Sea A = trid (r; 1 2r; r) la matriz tridiagonal de orden n con elementos diagonales 1 2r y elementos super y sub diagonales iguales a r:
La igualdad (7.2) se puede escribir
V j +1 = AV j
(7.3)
V j = Aj V 0 :
(7.4)
(7.5)
(7.6)
136
Es decir, en cada paso temporal, se debe resolver un sistema de ecuaciones lineales con matriz simtrica, tridiagonal y diagonalmente dominante (por tanto no singular).
3. Mtodos mixtos dependientes de un parmetro 2 [0; 1] :
j+1
j
j
V j+1 2Vij+1 + Vi1
V i+1
2V ij + V i1
Vij +1 Vij
= i+1
+
(1
)
:
k
h2
h2
Los dos mtodos anteriores son casos particulares de ste, basta hacer
= 0 y 1 respectivamente. El ms importante de los mtodos mixtos
1
es el que corresponde a = que se llama de Crank-Nicolson. Est
2
dado por la igualdad
Vij+1 Vij
1 j+1
j+1
j
j
= 2 Vi+1
2Vij+1 + V i1
+ V i+1
2V ij + V i1
k
2h
j +1
j +1
j
j
rVi1
+ 2 (1 + r) V ij+1 rVi+1
= rV i1
+ 2 (1 r) Vij + rV i+1
: (7.7)
137
n
10
10
20
20
30
30
40
40
50
50
60
60
r
0.5
0.8
0.5
0.8
0.5
0.8
0.5
0.8
0.5
0.8
0.5
0.8
Mtodos explcito e
Error (explcito)
4.1813e-002
2.1062e-002
1.1529e-002
5.6956e-003
5.2961e-003
8.7532e-003
3.0288e-003
3.6016e+001
1.9578e-003
2.6821e+011
1.3687e-003
4.7197e+022
implcito
Error (Implcito)
3.0735e-002
4.4402e-003
8.6889e-003
1.2394e-003
4.0122e-003
6.6802e-003
2.2990e-003
1.4966e-003
1.4874e-003
1.7249e-003
1.0403e-003
1.2066e-003
7.3.2
Ejercicios
1. Consideremos el problema
@u @ 2 u
= 2
@t
@x
para x 2 [0; 1] con condicin inicial, condiciones de borde y solucin
exacta dadas por
138
1
cos (2n + 1) x
u(t; x) = + 2
exp 2 (2n + 1)2 t
(1)n
2
(2n + 1)
n=0
8
>
>
1 si jxj <
>
>
< 1
u0 (x) =
si jxj =
>
2
>
>
>
: 0 si jxj >
1
2
1
2
1
:
2
1
Encuentre la solucin para t =
utilizando los tres mtodos pro2
puestos en la subseccin 7.3.1: Utilice varios valores de h y k de manera
que r tome los valores 0:1n; con n = 1; 2; :::; 8:
139
function vnew=smith27ci(tfin,n);
% Herramienta didactica, Carlos E. Mejia, 2002
% ecuacion parabolica no lineal en 1-D
% ejemplo 2-7 de Smith
% metodo de Newton para hallar ceros de F(x)=0
% tfin: tiempo final
% n: numero de subintervalos en [0,1], n>2
% h: tamao de paso en espacio
% k: tamao de paso en tiempo
h=1/n;
k=.5*h^2; % k puede definirse en otras formas si se desea
p=h^2/k;
% x: dominio espacial, xa: dominio espacial ampliado
x=(h:h:1-h);xa=[0;x;1];
% vold: condicion inicial
vold=4.*x.*(1-x);
vnew=vold;
t=0;
while t<tfin
va=[0;vnew;0];
plot(xa,va,r);
title(Difusion no lineal);
xlabel(Espacio)
hold on;
count=floor(t/k)+1;
% condiciones de borde son homogeneas
% diferencias finitas tomadas en ih y (j+1/2)k
% g: parte de F(v), depende de v en tiempo anterior
% fv: parte de F(v) que depende de v en tiempo actual
% jf: matriz jacobiana de F
in2=1;it=1;
while in2>1.e-8 & it<10
g=zeros(n-1,1);fv=g;jf=zeros(n-1);
g(1)=vold(2)^2-2*(vold(1)^2-p*vold(1));% 1
fv(1)=vnew(2)^2-2*(vnew(1)^2+p*vnew(1))+g(1);
jf(1,1)=-4*vnew(1)-2*p;
jf(1,2)=2*vnew(2);
140
g(n-1)=-2*(vold(n-1)^2-p*vold(n-1))+vold(n-2)^2;% 2
fv(n-1)=-2*(vnew(n-1)^2+p*vnew(n-1))+vnew(n-2)^2+g(n-1);
jf(n-1,n-2)=2*vnew(n-2);
jf(n-1,n-1)=-4*vnew(n-1)-2*p;
for i=2:n-2
g(i)=vold(i+1)^2-2*(vold(i)^2-p*vold(i))+vold(i-1)^2;% 3
fv(i)=vnew(i+1)^2-2*(vnew(i)^2+p*vnew(i))+vnew(i-1)^2+g(i);
jf(i,i-1)=2*vnew(i-1);
jf(i,i)=-4*vnew(i)-2*p;
jf(i,i+1)=2*vnew(i+1);
end
% solucion sistema lineal asociado con metodo de Newton
in=jfn-fv;
in2=norm(in);
% actualizacion de vold y vnew
vnew=vnew+in;it=it+1;
end
t=t+k;vold=vnew;
end
el mtodo de diferencias utilizado. En el punto
Explicamos
ahora
1
ih; j +
k la aproximacin de diferencias es
2
1
1 2
2
2
2
2
2
(Vi;j+1 Vi;j ) = 2 Vi1;j
+1 2Vi;j+1 + Vi+1;j +1 + Vi1;j 2Vi;j + Vi+1;j
k
2h
2
2
[g (V )]i = Vi1;j
2 Vi;j
pV i;j + Vi+1;j
2
2
2
[f (V )]i = Vi1;j+1 2 Vi;j+1 + pVi;j+1 + V i+1;j+1
141
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Espacio
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.1
0.2
0.3
0.4
0.5
Espacio
0.6
0.7
0.8
0.9
142
7.5 Ejercicio
Considere el problema
@u @ 2 u2
; 0 <x<1
=
@t
@x2
y suponga que la solucin u satisface la ecuacin no lineal
1
2u 3 + log u
= 2 (2t x)
2
(7.8)
(7.9)
para todo t y x:
a. Utilizando el mtodo de Newton para ecuaciones no lineales, obtenga
a partir de (7.9) la condicin inicial, las condiciones de borde y la solucin para t = 0:5.
b. Utilice el mtodo de Newton y el mtodo de diferencias nitas
descrito antes para aproximar la solucin de (7.8) en t = 0:5: Los
resultados para t = 0:5 en las partes a. y b. deben coincidir.
143
7.6
@u
;
@
@u
= H (u v) ;
@
144
V0j+1 = V 0j + r V1
2V 0j + V1j
1 j
j
V1 V1
= V0j :
2k
Al eliminar lo correspondiente al nodo virtual i = 1 de estas dos
ecuaciones, llegamos a
j+1
j
j
j
Vn+1
= V n+1
+ r Vnj 2Vn+1
+ Vn+2
1 j
j
Vn+2 Vnj = Vn+1
:
2k
j +1
j
j
Vn+1
= Vn+1
+ 2r Vnj (1 + k) Vn+1
:
(7.12)
7.7
145
146
1.2
0.8
0.6
0.4
0.2
0
0
0.05
0.1
0.15
0.2
0.25
7.8
147
V j N j = Aj V 0 N 0
que lleva a
kV j N j k = kAj (V 0 N 0 )k
kAj k kV 0 N 0 k
y para que este error no crezca sin lmite, que es lo que llamamos
estabilidad, requerimos que kAj k sea acotada cuando j ! 1.
Recurrimos a un conocido teorema del lgebra lineal numrica que
aqu citamos de Ortega (1990) [26], pag. 25. Antes vemos la siguiente
denicin.
Denicin 38 Una matriz A es de clase M si para todos los valores
propios tales que jj = (A) ; se cumple que todos los bloques de
Jordan asociados con son 1 1:
Teorema 39 kAj k es acotada cuando j ! 1 si y solo si (A) < 1 o
(A) = 1 y A es de clase M.
En el caso del mtodo explcito (7.10), estamos ante la matriz
A = trid (r; 1 2r; r)
148
m
2
m = 1 4rsen
; m = 1; 2; :::; n:
n+1
y queremos
j m j 1 para todo m:
Ntese que
jm j 1 si y solo si r
2sen2
m
n+1
1
y esta ltima desigualdad es cierta si y solo si r :
2
Los mtodos de diferencias que son estables para todos los valores de
r se llaman incondicionalmente estables. Los dems, como el mtodo
explcito que acabamos de considerar, se denominan condicionalmente
estables.
7.9 Ejercicios
Considere los mtodos de diferencias denidos en la subseccin 7.3.1.
1. Compruebe que son consistentes con la ecuacin diferencial.
2. Compruebe que los valores propios de la matriz A asociada con el
mtodo (7.2) son los listados arriba.
3. Realice un anlisis matricial de estabilidad para el mtodo implcito (7.5) y para el mtodo de Crank-Nicolson. Demuestre que ambos
son incondicionalmente estables.
4. Para el mtodo explcito (7.2) aplicado a la ecuacin
@u @ 2 u
= 2; a < x < b
@t
@x
con condiciones homogneas en el borde y una condicin inicial u0 (x) ;
1
demuestre directamente que la condicin 0 < r es suciente para
2
149
j + Vi+1
j
= (1 2r) Vi + r V i1 + V
i+1
j
j
(1 2r) max Vi + 2r max Vi
i
i
= max Vij :
i
Despus haga W j = max Vij y concluya que
i
lo que implica
W j W 0 para todo j
(7.14)
150
1 s
s
V i1;j 2Vi;js + V i+1;j
:
2
h1
1 s+1
Vi;j V i;js = D12 V s + D22 V s :
k
1
1
1
k
:
2 + 2
h1 h2
2
1 s+1
Vi;j Vi;js =
D1 V + D22 V s + D21 V s+1 + D 22 V s+1 :
k
2
El mtodo de Crank-Nicolson para (7.14) es incondicionalmente estable, lo cual es conveniente, pero no es recomendable porque para cada
paso en el sentido temporal, o sea de nivel s a nivel s + 1; el esfuerzo
computacional que se requiere es grande.
7.10.1
Mtodos ADI
151
la temperatura
1
k:
s+
2
Este mtodo se dene as:
1
s+
k 2
k 2
I D1 V 2 =
I + D2 V s
2
2
1
s+
k 2
k 2
s+1
I D2 V
=
I + D1 V 2 :
2
2
152
153
v=id1nrh;
vint(:,j)=v(:);
end
% lado derecho corrector
for i=1:n
if i==1
rh(:)=1+(ro-2)*vint(1,:)+vint(2,:);
elseif i==n
rh(:)=vint(n-1,:)+(ro-2)*vint(n,:)+1;
else
rh(:)=vint(i-1,:)+(ro-2)*vint(i,:)+vint(i+1,:);
end
% solucion corrector
rh(1)=rh(1)+1;rh(n)=rh(n)+1;
v=id2nrh;
vnew(i,:)=v(:);
end
%
t=t+k;vold=vnew;
end
La siguiente es una copia de los resultados que este programa entrega
en pantalla.
>> vnew=edp2dadi3(8,1.8)
vnew =
1.0000 1.0000 1.0000 1.0000
1.0000 0.9999 0.9999 0.9999
1.0000 0.9999 0.9999 0.9999
1.0000 0.9999 0.9999 0.9999
1.0000 0.9999 0.9999 0.9999
1.0000 0.9999 0.9999 0.9999
1.0000 0.9999 0.9999 0.9999
1.0000 1.0000 1.0000 1.0000
1.0000
0.9999
0.9999
0.9999
0.9999
0.9999
0.9999
1.0000
1.0000
0.9999
0.9999
0.9999
0.9999
0.9999
0.9999
1.0000
1.0000
0.9999
0.9999
0.9999
0.9999
0.9999
0.9999
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
154
7.10.2
Ejercicio
@u
circular, que tambin implica que
= 0:
@r r=0
La ecuacin que nos ocupa es
1 @2 u @2 u
@u @ 2 u 1 @u
= 2 +
+ 2 2 + 2
@t
@r
r @r
r @
@z
y por simetra circular, se convierte simplemente en
@u @ 2u 1 @u
= 2 +
:
@t
@r
r @r
Esta
ecuacin tiene una singularidad cuando r = 0: Pero como
@u
= 0; esta singularidad no ofrece dicultades pues, la expansin
@r r=0
@u
1 @u
=
de Taylor de
en torno a r = 0; nos permite concluir que
@r
r @r r=0
@ 2 u
:
@r 2 r=0
Ms detalles sobre sto pueden encontrarse en Smith, 1978 [28], pag.
40.
155
@u
(t; 0) = u (t; 0)
@x
@u
(t; 1) = u (t; 1) :
@x
3. Resuelva el problema parablico no lineal
@u @ 2 u
= 2 u x2 u3 ;
@t
@x
con condiciones de borde homogneas y condicin inicial u (0; x) =
sen (x) :
4. Utilice el mtodo ADI para resolver el problema
@u
@ 2 u @ 2u
= 2 + 2;
@t
@x
@y
para 0 < x < 2; 0 < y < 1; con
u (0; x; y) = sen (y) sen (2x) ;
u (t; 0; y) = u (t; 2; y) = 0;
u (t; x; 0) = u (t; x; 1) = 0:
Sugerencia: La solucin exacta es
156
8
Material de inters
Referencias generales
LAPACK
Templates y otras colecciones de software
MATLAB y otros
158
8. Material de inters
plataformas.
8.2 LAPACK
Entre las herramientas para problemas generales, destacamos a LAPACK (Linear Algebra Package) que es una coleccin de subrutinas
escritas en FORTRAN 77 para resolver los problemas matemticos
ms comunes que surgen a partir del modelamiento y que se enmarcan
en el campo del lgebra lineal numrica. El desarrollo de LAPACK es
una tarea que se empez antes de 1980 y aun no termina. Al principio
hubo dos colecciones de software, LINPACK que se ocupaba principalmente de la solucin de sistemas lineales y de la descomposicin en
valores singulares y EISPACK, que se dedicaba a los problemas de valores propios. LAPACK es el sucesor de ambos y a LAPACK le siguen
otras colecciones, como ScaLAPACK, por ejemplo, de manera que el
esfuerzo por dotar a la comunidad de herramientas computacionales de
primer nivel y de dominio pblico, contina.
En Meja, Restrepo y Tretz [24], tuvimos la oportunidad de presentar a LAPACK a un pblico general y aqu reproducimos algunas de
las ideas que expusimos all. La coleccin LAPACK, descrita en LAPACK Users Guide [2], se puede obtener libremente en NETLIB en la
direccin
< http : ==www:netlib:org=lapack= > :
All tambin se puede obtener la mejor documentacin disponible sobre
LAPACK, incluyendo la Gua mencionada arriba. Las subrutinas de
LAPACK se basan en llamadas a unas subrutinas ms sencillas que se
conocen por la sigla BLAS (Basic Linear Algebra Subprograms). Hasta
el momento se dispone de subprogramas BLAS de tres niveles: Nivel 1,
publicado en 1979, que se encarga de operaciones de vector con vector.
Nivel 2, publicado en 1988, que se ocupa de operaciones de matriz con
vector. Nivel 3, publicado en 1990, que se dedica a operaciones entre
matrices.
La construccin de LAPACK con base en los subprogramas BLAS
genera un alto nivel de estandarizacin, proporciona gran rapidez de
clculo y hace ms fcil hacer un seguimiento cuando se presentan
dicultades. La utilizacin de LAPACK es universal, no solo directa-
159
8.3
Los autores de Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods [5], algunos de los cuales participan
tambin del proyecto LAPACK, se orientan hacia la descripcin de algoritmos y ofrecen programas fuente en diversos formatos, entre ellos
FORTRAN, C y lenguaje MATLAB. Ellos consideran su coleccin de
rutinas como de las hechas a la medida, pues proporcionan los medios
para que el usuario adapte las rutinas a sus necesidades.
La preocupacin de los autores es explicar los detalles, en ocasiones
nada triviales, de los mtodos iterativos ms importantes en aos recientes. Aunque incluyen mtodos estacionarios, ellos estn ah solo
por completez. Los temas principales del libro y por tanto los objetivos
de los principales templates, son los mtodos iterativos no estacionarios basados en subespacios de Krylov y diversas tcnicas de precondicionamiento. Tanto el libro como las rutinas en los diferentes formatos,
se pueden obtener en NETLIB, en la direccin
< http : =www:netlib:org=templates= > :
Mencionamos nalmente otras colecciones importantes que no estn
en el dominio pblico.
La coleccin IMSL, ofrecida por Visual Numerics, con direccin internet
< http : ==www:vni:com=products=imsl= > :
Las colecciones ofrecidas por NAG, Numerical Algorithms Group,
con direccin internet
< http : ==www:nag:co:uk= > :
160
8. Material de inters
Referencias
[1] M. Abramowitz and I. A. Stegun, eds., Handbook of Mathematical Functions, Dover, 1970.
[2] E. Anderson, Z. Bai, C. Bischof, J. Demmel, J. Dongarra, J. DuCroz, A. Greenbaum, S. Hammarling,
A. McKenney, S. Ostrouchov, and D. Sorensen, LAPACK
Users Guide, SIAM, 1992.
[3] U. M. Ascher, R. M. M. Mattheij, and R. D. Russell, Numerical Solution of Boundary Value Problems for Ordinary Differential Equations, SIAM, 1995.
[4] K. E. Atkinson, An Introduction to Numerical Analysis, Wiley,
1978.
[5] R. Barrett, M. Berry, T. Chan, J. Demmel, J. Donato,
J. Dongarra, V. Eijkhoui, R. Pozo, C. Romine, and
H. van der Vorst, Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, SIAM, 1993.
[6] R. L. Burden and J. D. Faires, Anlisis Numrico, International Thomson, sexta ed., 1998.
[7] S. C. Chapra and R. P. Canale, Mtodos Numricos para
Ingenieros, McGraw Hill, tercera ed., 1999.
[8] W. Cheney and D. Kincaid, Numerical Mathematics and Computing, Brooks/Cole Publishing Co., 1980.
[9] P. J. Davis and P. Rabinowitz, Methods of Numerical Integration, Academic Press, segunda ed., 1984.
[10] J. W. Demmel, Applied Numerical Linear Algebra, SIAM, 1997.
162
Referencias
[11] C. W. Gear, Numerical Initial Value Problems in Ordinary Differential Equations, Prentice-Hall, 1971.
[12] G. Golub and J. M. Ortega, Scientic Computing, An Introduction with Parallel Computing, Academic Press, 1993.
[13] J. Hale and H. Kocak, Dynamics and Bifurcations, SpringerVerlag, 1991.
[14] P. Henrici, Discrete Variable Methods in Ordinary Dierential
Equations, John Wiley, 1962.
[15]
Referencias
163