Documentos de Académico
Documentos de Profesional
Documentos de Cultura
00 Neuman - Analisis Numerico de Integrales y Ecuaciones Diferenciales109. Ver22 PDF
00 Neuman - Analisis Numerico de Integrales y Ecuaciones Diferenciales109. Ver22 PDF
y llega gracias a
“Ciencia Matemática”
www.cienciamatematica.com
El mayor portal de recursos educativos a tu servicio!
ISSN 1666-3845
Análisis Numérico
de Integrales
y
Ecuaciones Diferenciales
Temas de Análisis Numérico y Programación
Volúmenes de la serie:
I : Cardona, A., y Neuman, C.E.: Temas de Programación I, 1996, (se-
gunda edición en preparación, 1997)
II : Neuman, C.E. (editor): Matemática asistida por computadora, 1996
III : Neuman, C.E.: Análisis Numérico de Integrales y Ecuaciones Diferen-
ciales, 1997
IV : Neuman, C.E.: Algoritmos Geométricos y Gráficos en 3D. Laboratorios
de Matemática, segunda edición, 1999.
V : Neuman, C.E., Vilchez, A.G.: Algoritmos Geométricos y Gráficos en
3D. Laboratorios de Matemática, tercera edición (en preparación), 2001.
i
e-Commentarii Aplicandæ Mathematicæ , LN: Lecture Notes
Volume 1
ISSN 1666-3845
Análisis Numérico
de Integrales
y
Ecuaciones Diferenciales ¶
Tercera edición
Carlos E. Neuman
Departamento de Matemática (FIQ)
Universidad Nacional del Litoral
Santa Fe
2001
∞
¶
Trabajo realizado con fondos provenientes de la Universidad Nacional del Litoral (UNL),
a través de la programación Curso de Acción para la Investigación y el Desarrollo (CAI+D),
Secretarı́a de Ciencia y Técnica de la UNL
Análisis Numérico de Integrales y Ecuaciones
Diferenciales
Carlos E. Neuman
ISSN 1666-3845
Índice General
Prefacio xiii
Índice de Tablas 1
Índice de Figuras 3
Capı́tulo 1. Integración 1
1.1. Introducción 1
1.2. La integral de Riemann–Stieltjes 3
1.3. La fórmula de suma de Euler 4
1.4. Métodos básicos de integración numérica 7
1.5. Métodos de extrapolación 11
1.6. Cuadratura de Gauß 12
1.7. Métodos de Montecarlo 13
1.8. Métodos adaptativos 16
1.9. Ejercicios 17
Lx = y (0.1)
∗
Las referencias se enumeran en el apéndice A, página 35
xiii
xiv PREFACIO
Carlos E. Neuman
Santa Fe, 29 de abril de 1997
Prefacio a la segunda edición
Esta nueva edición se desarrolla con varias correcciones y agregados con el fin
de adaptar el texto a los cursos de Cálculo Numérico I y II en la modalidad ‘a
distancia’.
Carlos E. Neuman
Santa Fe, 2 de diciembre de 2001
xvii
xviii PREFACIO A LA SEGUNDA EDICIÓN
1
Índice de Figuras
1 La función mihumps 47
2 Histograma de distribución de los valores estimados de la
integral del ejemplo C.3.1 52
3 Integración por Runge-Kutta clásico de x0 = −tx en [0, 7] 57
3
CAPı́TULO 1
Integración
1.1. Introducción
El objetivo del presente capı́tulo es estudiar métodos numéricos para calcular
integrales definidas de la forma
Z b
f (x) dx (1.1)
a
en realidad ‘la’ regla del rectángulo es más precisa si se elige fi = f ((xi−1 + xi )/2),
en este caso se obtiene la regla del rectángulo R(h) (o ‘midpoint’)
Z b N
X xi−1 + xi
f (x) dx ' R(h) = h f( ) (1.5)
a i=1
2
con fi = (f (xi−1 ) + f (xi ))/2, en cambio, se obtiene la regla del trapecio T (h)
Z b N
X f (xi−1 ) + f (xi )
f (x) dx ' T (h) = h (1.6)
a i=1
2
kn = O(n3 ).
P
Notar que es fácil demostrar que 1≤k≤n
6 1. INTEGRACIÓN
2 4 6 8 10
h h h h h
1 + -- - --- + ----- - ------- + -------- -
12 720 30240 1209600 47900160
12 14 16
691 h h 3617 h
------------- + ----------- - ----------------- +
1307674368000 74724249600 10670622842880000
18 20
43867 h 174611 h 22
1.4. MÉTODOS BÁSICOS DE INTEGRACIÓN NUMÉRICA 7
(b − a)3 00
ε1 (f ) = − f (η), η ∈ [a, b] (1.57)
12
1.4. MÉTODOS BÁSICOS DE INTEGRACIÓN NUMÉRICA 9
en definitiva
(b − a)h2 00
εn (f ) = − f (η) η ∈ [a, b] (1.60)
12
Si utilizamos la fórmula del teorema 1.3.1 podemos escribir
B 2 h2 0
εn (f ) = − (f (b) − f 0 (a)) + O(h4 ) (1.61)
2!
h2 00
− f (ξ)(b − a) + O(h4 ), ξ ∈ [a, b] (1.62)
12
lo que nos da un resultado del mismo orden.
A partir de la expresión 1.58 se puede seguir otra lı́nea deductiva: tomamos
lı́mite,
n
εn (f ) h X
lim = lim − f 00 (ηj ) (1.63)
n→∞ h2 n→∞ 12 j=1
n
1 X
=− lim f 00 (ηj )h (1.64)
12 n→∞ j=1
es decir que
h2 0
εn (f ) ' εf
n (f ) ≡ − (f (b) − f 0 (a)) (1.66)
12
εf
n (f ) es una aproximación al error asintótico lo que podemos establecer en la si-
guiente definición:
Definición 1.4.1. Sean εn (f ) y εfn (f ), el error exacto y una estimación del
error respectivamente. Decimos que εf n (f ) es una estimación asintótica del error
εn (f ) si
εfn (f )
lim =1 (1.67)
n→∞ εn (f )
10 1. INTEGRACIÓN
C
Utilizando εf
n (f ) es posible dar un método trapezoidal corregido Th (f )
ThC (f ) = Th (f ) + εf
n (f ) (1.68)
es decir
h2 0
f0 fn
ThC (f ) =h + f1 + f2 + . . . + fn−1 + − (f (b) − f 0 (a)) (1.69)
2 2 12
Ejercicio 1.4.1. Estudiar el comportamiento numérico del método trapezoidal
corregido ThC (f )
1.4.3. El método de Simpson. Utilizamos el producto Mathematica para
determinar los coeficientes del método de Simpson (ver Apéndice B, página 37)
Obtenemos
b−a b−a a+b
S = f (a) + 4f ( ) + f (b) (1.70)
2 6 2
y un error de truncamiento
(b − a)5 (4) a + b
f ( ) (1.71)
2880 2
lo que equivale a
b−a 5
a+b
εt = f (4) (
2
) (1.72)
90 2
En forma análoga al caso de método trapezoidal y utilizando las expresiones
precedentes se tiene que
5
4 b−a
2 f (4) (η)
ε2 (f ) = − , η ∈ [a, b] (1.73)
15 24
5
b−a 1 (4)
=− f (η), η ∈ [a, b] (1.74)
2 90
y
n
h5 n2 2 X
2
εn (f ) = − f (4) (ηj )
90 n j=1
h4 (b − a) (4)
=− f (η), η ∈ [a, b] (1.75)
180
y la fórmula asintótica
h4 (3)
εf (f (b) − f (3) (a))
n (f ) = − (1.76)
180
(Esta última también se obtiene a partir del desarrollo asintótico de Euler)
1.4.4. Métodos de Newton. En la sección precedente hemos obtenido la
fórmula del método de Simpson. La misma metodologı́a se puede utilizar para
cualquier elección de los puntos de la partición del intervalo de integración. Por
ejemplo, si desearamos calcular los que corresponden a una partición regular de
once puntos, nuevamente utilizamos el producto Mathematica para obtener los co-
eficientes (ver apéndice B en página 37).
Estos métodos llevan el nombre de métodos de Newton, y en algunos textos
también el de fórmulas de Newton-Cotes.
1.5. MÉTODOS DE EXTRAPOLACIÓN 11
I (0) (h) I (1) (h) I (2) (h) I (3) (h) I (4) (h) . . .
h
I (0) ( 16 ) ...
..
.
La inclusión de la fun- es exacta para todos los polinomios de orden 2m + 2 siempre que los coeficientes
ción peso v facilita con- satisfagan
siderar distintas familias Z 1
de polinomios ortogona- wi = δi (x)v(x) dx (1.91)
les −1
donde δi (x) es el polinomio de grado m (orden m + 1) tal que
0 j 6= i
δi (xj ) = j = 0, 1, 2, . . . , m (1.92)
1 j=i
Para verificar esta afirmación tomemos un polinomio f de orden 2m + 2, existen
entonces polinomios q y r de orden m + 1 tales que
f = qpm+1 + r (1.93)
1.7. MÉTODOS DE MONTECARLO 13
porque los coeficientes wi fueron elegidos de modo que la fórmula sea exacta para
todos los polinomios de grado m o menor (orden m + 1)
Observación 1.6.1. Aplicando la fórmula 1.90 al caso f (x) = (δi (x))2 se tiene
(fj = 0 para j 6= i)
Z 1
(δi (x))2 v(x) dx = wi (1.97)
−1
por lo que los coeficientes wi en las fórmulas de cuadratura de Gauß son positivos.
Observación 1.6.2. Para obtener los coeficientes se toman los xi como los
ceros de los polinomios del orden deseado y se utiliza un calculador simbólico como
el Mathematica para obtener los coeficientes y para estimar el error de trunca-
miento local. En diversos manuales de fórmulas matemáticas figuran los puntos y
coeficientes de Gauß para distintas familias de polinomios y distintos órdenes.
El análisis del error puede desarrollarse en forma análoga a los casos conside-
rados previamente, por ello dejamos los detalles para el lector interesado.
x2 + z 2 = 1 (1.102)
y
1
y 2 + (z − )2 = 1 (1.103)
2
En primer término atacamos el problema con Matlab, a continuación desarro-
llamos un cuaderno del Mathematica en el que obtenemos una solución similar para
‘verificar’.
% MONTEK volumen por m\’etodo de Montecarlo
% C.E.Neuman, 11-may-97
for indice=1:10,
X=zeros(N,3);
disp(indice);
end % rof
mime=mean(scores)
mide=std(scores)
scorord=sort(scores);
[m,n]=size(scores);
mimeord=mean(scores(0.1*m:0.9*m))
mideord=std(scores(0.1*m:0.9*m))
figure;
hist(scores);
% 0.6350
% 0.6356
% 0.6356
% 0.6352
Esta regularidad se ve confirmada por el siguiente cuaderno del Mathematica
(* M\’etodo de Montecarlo para integrales triples
C\’alculo num\’erico de la integral *)
2 2
{y -> Sqrt[-4 + 4 x - 4 Sqrt[1 - x ]]},
2 2
{y -> -Sqrt[-4 + 4 x + 4 Sqrt[1 - x ]]},
2 2
{y -> Sqrt[-4 + 4 x + 4 Sqrt[1 - x ]]}}
Sqrt[3]
{x -> -------}}
2
f[x_]:=(1/Sqrt[2Pi]) E^(-x^2/2);//Timing
{0. Second, Null}
NIntegrate[f[x],{x,0,1}]//Timing
{0.11 Second, 0.341345}
N[NIntegrate[f[x],{x,0,1}],15]//Timing
{0.11 Second, 0.341344746068543}
Para la segunda es necesario definir en un m-archivo la función que se desea
integrar:
function y=nintquad(x)
% NINTQUAD Densidad normal
y=(1/sqrt(2*pi))*exp(-x.^2/2);
% fin de nintquad
La salida y la medición del tiempo empleado con Matlab es
Salidas de la integraci\’on adaptativa con Matlab t=cputime;
Q=quad1(’nintquad’,0,1); cputime-t, Q ans =
0.06
Q =
0.34134540613909
t=cputime; Q=quad1(’nintquad’,0,1,1e-5); cputime-t, Q
ans =
0.11
Q =
0.34134474647804
t=cputime; Q=quad1(’nintquad’,0,1,1e-7); cputime-t, Q
ans =
0.6
Q =
0.34134474607765
t=cputime; Q=quad1(’nintquad’,0,1,1e-9); cputime-t, Q
ans =
2.47
Q =
0.34134474606860
Observamos que, en esta medición, —la que, al margen, no es muy precisa,—
parece que la primera metodologı́a es más eficiente que la segunda.
1.9. Ejercicios
Ejercicio 1.9.1. Utilizar el método de Romberg para calcular la integral
Z 4
f (x) dx (1.104)
0
18 1. INTEGRACIÓN
n In
2 0.28451779686
4 0.28559254576
8 0.28570248748
16 0.28571317731
32 0.28571418363
64 0.28571427643
Es decir que, si I − In ' c/np , entonces, ¿cuánto vale p? El resultado ¿resulta ser
una forma válida para el error de estos datos? Predecir un valor de c y del error en
I64 . ¿Qué valor de n es necesario alcanzar para que el error en In sea menor que
10−11 ?
Ejercicio 1.9.8. Denotamos InT a la regla trapezoidal para aproximar la inte-
Rb
gral a f (x) dx, y, analogamente, InM para la fórmula de ‘midpoint’. Los respectivos
errores asintóticos —en el caso en que f sea suficientemente regular en [a, b],— son
h2 0
I − InT = − [f (b) − f 0 (a)] + O(h4 ) (1.110)
12
y
h2 0
I − InM = [f (b) − f 0 (a)] + O(h4 ) (1.111)
24
Utilizar estos resultados para obtener un nuevo método numérico, Ien , con orden
de convergencia mayor, combinando InT y InM . ¿Cuáles son los pesos de la nueva
fórmula Ien ?
CAPı́TULO 2
Ecuaciones diferenciales
2.1. Introducción
Decimos que la ecuación diferencial ordinaria
y 0 = f (x, y) (2.1)
en una función incógnita y, con f (x, y) función continua en un dominio D del
plano, tiene una solución y(x) en un intervalo x0 ≤ x ≤ x1 , si y(x) es una fución
diferenciable, (x, y(x)) está en el dominio D para cada x del intervalo [x0 , x1 ] y,
además, y 0 (x) = f (x, y(x)) en [x0 , x1 ].
Desde el punto de vista geométrico podemos considerar que la ecuación y 0 =
f (x, y) define un campo continuo de direcciones sobre D. Y que las funciones
solución son tangentes a esas direcciones (en cada punto del dominio). El campo de direcciones
permite estimar
gráficamente las
trayectorias
y 6
B E
Br Er
3 B E
B E E
Ar Cr Er
A C
2
A C E
A C
B E
@r Ar Br
A
1
@ A B
A B
-
0 1 2 3 x
P
#
#
#
#
#
# "
# "
s
#" "
O#
#
!!(x
1 , y1 )
(x0 + h, y0 )
!
(x0 , yc
0) α 6
c
c
c
c
c Mh
c
c
S c
c ?
R h -
Q
Figura 2. El rectángulo S está contenido en el R
rr Runge 10
y 6
un (xn+1 )
r Euler
-
0 xn xn+1 x
en potencias de h
h2 00 h3 000
εn+1 (y) = hYn0 + Y + Yn + O(h4 ) − hϕ(xn , Yn , h; f ) (2.38)
2 n 6
2.2. MÉTODOS EN DIFERENCIAS DE UN PASO 27
donde (la notación fx significa ∂f /∂x y analogamente para las derivadas parciales
de orden superior)
y0 = f (2.39)
y 00 = fx + fy y 0 = fx + fy f (2.40)
y 000 = fxx + fxy f + (fyx + fyy f )f + fy (fx + fy f ) (2.41)
= fxx + 2fxy f + fyy f 2 + fy fx + fy2 f (2.42)
y
ϕ(x, y, h; f ) = γ1 f (x, y) + γ2 (f (x, y) + h(αfx + βf fy )
1 1
+h2 ( α2 fxx + αβfxy f + β 2 fyy f 2 )) + O(h3 ) (2.43)
2 2
Sustituyendo y agrupando términos en potencias de h se obtiene
1 1
εn+1 = h(1 − γ1 − γ2 )f + h2 (( − γ2 α)fx + ( − γ2 β)f fy )
2 2
3 1 1 1 1 1
+h (( − γ2 α )fxx + ( − γ2 αβ)f fxy + ( − γ2 β 2 )f 2 fyy
2
6 2 3 6 2
1 1 2 3
+ fy fx + fy f ) + O(h ) (2.44)
6 6
todo evaluado en (xn , Yn ). Deseamos que εn+1 (y) converja a cero tan rápido como
se pueda. Aceptando f arbitrarias no podremos, en general, anular el coeficiente
de h3 (¿porqué?). Anulando los de h y h2 obtenemos
1 1
εn+1 (y) = O(h3 ), γ1 + γ2 = 1, γ2 α = , γ 2 β = (2.45)
2 2
cuya solución general es
γ2 arbitrario (2.46)
γ1 = 1 − γ2 (2.47)
1
α=β= (2.48)
2γ2
Consideremos algunos casos particulares
(a) γ2 = 1, lo que implica γ1 = 0, α = β = 12
h h
⇒ ϕ(x, y, h; f ) = f (x +
, y + f (x, y)) (2.49)
2 2
(b) γ2 = 12 , lo que implica γ1 = 21 , α = β = 1
1 1
⇒ ϕ(x, y, h; f ) =
f (x, y) + f (x + h, y + hf (x, y)) (2.50)
2 2
Notemos que si definimos
k1 = hf (x, y) (2.51)
k2 = hf (x + h, y + k1 ) (2.52)
se tiene Segunda fórmula de
1 Runge
hϕ =
(k1 + k2 ) (2.53)
2
Runge notó que este método puede mejorarse definiendo
k3 = hf (x + h, y + k2 ) (2.54)
28 2. ECUACIONES DIFERENCIALES
a
r Runge 2
y 6
r u n n+1 )
(x
r Euler
-
0 xn
xn+1 x
d
Figura 4. Segunda fórmula de Runge
y tomando
1
hϕ = (k1 + k3 ) (2.55)
2
d
que es la segunda fórmula de Runge (ver figura 4).
(c) (primer orden) γ1 = 1, lo que implica γ2 = 0, se obtiene en consecuencia
♣
Las fórmulas de mayor orden involucran un álgebra más complicada, para ello
se suele proponer
p
X
hϕ(x, y, h; f ) = γi ki (2.57)
i=1
con
k1 = hf (x, y) (2.58)
k2 = hf (x + α2 h, y + β21 k1 ) (2.59)
..
.
i−1
X
ki = hf (x + αi h, y + βij kj ) i = 1, . . . , p (2.60)
j=1
Los coeficientes se pueden escoger de modo que los primeros términos en el error
de truncamiento local sean nulos. En consecuencia, por un procedimiento análogo
al realizado en el caso de segundo orden se obtienen diversos métodos de orden
Método clásico de superior de los que el más utilizado es el llamado Método de Runge-Kutta
Runge-Kutta
1
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 ) (2.61)
6
2.2. MÉTODOS EN DIFERENCIAS DE UN PASO 29
con
k1 = hf (xn , yn ) (2.62)
h k1
k2 = hf (xn + , yn + ) (2.63)
2 2
h k2
k3 = hf (xn + , yn + ) (2.64)
2 2
k4 = hf (xn + h, yn + k3 ) (2.65)
r RK
y 6
r un (xn+1 )
r Euler
-
0 xn xn+1 x
Se puede demostrar que ésta es una fórmula de cuarto orden: εn+1 = O(h5 ). El método clásico de
Runge-Kutta generaliza
Observación 2.2.1. El método RK clásico es una generalización de la regla el método de Simpson
de Simpson en el caso que f no sea independiente de y
Z xn+1
h h
f (x)dx ' (f (xn ) + 4f (xn + + f (xn+1 )) (2.66)
xn 6 2
Ejemplo 2.2.6. Apliquemos el método clásico de RK a la ecuación de prueba
y 0 = λy
k1 = hλyn (2.67)
1
k2 = hλ(yn + hλyn ) (2.68)
2
1
= hλyn + h2 λ2 yn (2.69)
2
1 1
k3 = hλ(yn + (hλyn + h2 λ2 yn )) (2.70)
2 2
1 2 2 1
= hλyn + h λ yn + h3 λ3 yn (2.71)
2 4
1 2 2 1
k4 = hλ(yn + hλyn + h λ yn + 1 h3 λ3 yn ) (2.72)
2 4
1 3 3 1
= hλyn + h λ yn + h λ yn + h4 λ4 yn )
2 2
(2.73)
2 4
30 2. ECUACIONES DIFERENCIALES
de manera que
1
yn + (k1 + 2k2 + 2k3 + k4 ) = yn
6
1 1
+ (6hλyn + 3h2 λ2 yn + h3 λ3 yn + h4 λ4 yn ) (2.74)
6 4
lo que permite escribir en definitiva
1 1 1
yn+1 = yn (1 + hλ + h2 λ2 + h3 λ3 + h4 λ4 ) (2.75)
2 6 24
vemos ası́ que se aproxima a ehλ hasta el cuarto orden.
Ejercicio 2.2.7. [Optativo] Con la expresión 2.75 se puede dibujar la región
de estabilidad absoluta.
♣ Para estudiar la convergencia del esquema general RK
yn+1 = yn + hϕ(xn , yn , h; f ), n≥0 (2.76)
recordemos que el error local es
εn+1 (Y ) = Y (xn+1 ) − Y (xn ) − hϕ(xn , Y (xn ), h; f ), n≥0 (2.77)
conviene definir τn+1 (Y ) por la expresión
εn+1 (y) = hτn+1 (Y ) (2.78)
y con esta τ se tiene
Y (xn+1 ) = Y (xn ) + hϕ(xn , Y (xn ), h; f ) + hτn+1 (Y ), n≥0 (2.79)
con lo que resulta
Y (xn+1 ) − Y (xn )
τn+1 (Y ) = − ϕ(xn , Y (xn ), h; f ) (2.80)
h
de modo que debe tenerse τn+1 (Y ) → 0 cuando h → 0, equivalentemente debe
requerirse que ϕ(x, Y (x), h; f ) → Y 0 (x) = f (x, Y (x)) cuando h → 0.
Definiendo
δ(h) = max |f (x, y) − ϕ(x, y, h; f )| (2.81)
x0 ≤x≤b
−∞<y<∞
2.3. Ejercicios
Ejercicio 2.3.1. Dada y 0 = 1 + x2 y 2 , con y(0) = 0, calcular y(0.5) mediante
el método de Euler con extrapolación de repetida de Richardson. Usar aritmética
de redondeo de cinco decimales.
Ejercicio 2.3.2. Aplicando el método de Euler, se obtuvieron los resultados:
1.22726 (con paso h = 0.05), 1.22595 (h = 0.1), 1.22345 (h = 0.2). Calcule un
mejor valor por extrapolación.
Ejercicio 2.3.3. Utilizar el método de Euler con longitud de paso h sobre el
problema test
y 0 = −y, y(0) = 1 (2.107)
(a) Determinar una expresión explı́cita para yn
(b) ¿Para qué valores de h la sucesión {yn }∞
0 es acotada?
(c) Calcular el limh→0 (y(x, h) − e−x )/h
Ejercicio 2.3.4. Determinar el desarrollo de Taylor para la solución de la
ecuación y 0 = y 2 , con y(0) = 1, en el entorno de x = 0. Usar esta aproximación
para calcular y(0.2) e y(1.2) con cuatro decimales. Comparar con la solución exacta
y explicar porqué el segundo caso (x = 1.2) no es exitoso.
Ejercicio 2.3.5. La función y(x) se define mediante el problema
y 0 = x2 − y 2 , y(0) = 1 (2.108)
Calcular y(0.2) utilizando los siguientes métodos:
(a) Euler-Richardson: h = 0.1 y h = 0.2;
(b) Método Runge-Kutta: h = 0.1;
(c) Desarrollo en serie de Taylor hasta el cuarto término;
(d) Método del trapecio: h = 0.2.
Ejercicio 2.3.6. [Optativo]Se desea realizar una tabla de la función
Z ∞ −u2
e
y(x) = du (2.109)
0 (u + x)
34 2. ECUACIONES DIFERENCIALES
Bibliografı́a y referencias
(* Resuelvo el sistema *)
Solve[{s0==i0,s1==i1,s2==i2},{A,B,C}]//Simplify
2 (-a + b) -a + b -a + b
{{B -> ----------, A -> ------, C -> ------}}
3 6 6
37
38 B. COEFICIENTES INDETERMINADOS CON EL Mathematica
{---------}
15
-(a + b) 5
O[-------- + x]
2
(* Resuelvo el sistema *)
Solve[{s0==i0,s1==i1,s2==i2
,s3==i3,s4==i4
,s5==i5,s6==i6
,s7==i7,s8==i8
,s9==i9,s10==i10}
,{A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10}]//Simplify
17807 (-a + b) -16067 (a - b)
{{A5 -> --------------, A0 -> --------------,
40 B. COEFICIENTES INDETERMINADOS CON EL Mathematica
24948 598752
-26575 (a - b) 16175 (a - b)
A1 -> --------------, A2 -> -------------,
149688 199584
-5675 (a - b) 4825 (a - b)
A3 -> -------------, A4 -> ------------,
12474 11088
4825 (a - b) -5675 (a - b)
A6 -> ------------, A7 -> -------------,
11088 12474
16175 (a - b) -26575 (a - b)
A8 -> -------------, A9 -> --------------,
199584 149688
-16067 (a - b)
A10 -> --------------}}
598752
(* Las integrales *)
i0=Integrate[p0[x],{x,a,b}]//Simplify
i1=Integrate[p1[x],{x,a,b}]//Simplify;
i2=Integrate[p2[x],{x,a,b}]//Simplify;
B.4. LOS COEFICIENTES DE LA CUADRATURA DE GAUSS DE CINCO PUNTOS 41
i3=Integrate[p3[x],{x,a,b}]//Simplify;
i4=Integrate[p4[x],{x,a,b}]//Simplify;
i5=Integrate[p5[x],{x,a,b}]//Simplify;
2
5 5 8 3 3
{A -> -, B -> -, C -> -, Z -> 0, Y -> Sqrt[-], X -> -Sqrt[-]},
9 9 9 5 5
5 8 5 3 3
{A -> -, B -> -, C -> -, Z -> -Sqrt[-], Y -> 0, X -> Sqrt[-]},
9 9 9 5 5
5 8 5 3 3
{A -> -, B -> -, C -> -, Z -> Sqrt[-], Y -> 0, X -> -Sqrt[-]},
9 9 9 5 5
8 5 5 3 3
{A -> -, B -> -, C -> -, Z -> -Sqrt[-], Y -> Sqrt[-], X -> 0},
9 9 9 5 5
8 5 5 3 3
{A -> -, B -> -, C -> -, Z -> Sqrt[-], Y -> -Sqrt[-], X -> 0}}
9 9 9 5 5
%//N (* La versi\’on num\’erica *)
{{A -> 0.555556, B -> 0.555556, C -> 0.888889, Z -> 0, Y -> -0.774597,
X -> 0.774597}, {A -> 0.555556, B -> 0.888889, C -> 0.555556, Z -> 0.774597,
{A -> 0.888889, B -> 0.555556, C -> 0.555556, Z -> 0.774597, Y -> -0.774597,
X -> 0}}
10 10
Sqrt[5 + 2 Sqrt[--]] -Sqrt[5 + 2 Sqrt[--]]
7 7
x == -------------------- || x == ---------------------
3 3
x == 0 ||
x == 0.5384693101056830910363144207 ||
x == -0.5384693101056830910363144207 ||
x == 0.906179845938663992797626878299 ||
x == -0.906179845938663992797626878299
-0.906179845938663992797626878299
-0.5384693101056830910363144207
0
0.5384693101056830910363144207
0.906179845938663992797626878299
-16
{-1.38778 10 }
s10 - i10 /. %56
{-0.00293181}
s11 - i11 /. %56
-16
{-1.249 10 }
s12=A0 p12[a0]+A1 p12[a1]+A2 p12[a2]+
A3 p12[a3]+A4 p12[a4]//Simplify;
i12=Integrate[p11[x],{x,a,b}]//Simplify;
s12 - i12 /. %56
{0.145853}
10 10
Sqrt[5 + 2 Sqrt[--]] -Sqrt[5 + 2 Sqrt[--]]
7 7
x == -------------------- || x == ---------------------
3 3
x == 0 ||
x == 0.53846931010568309103631442070020880496728660690556 ||
x == -0.53846931010568309103631442070020880496728660690556 ||
x == 0.90617984593866399279762687829939296512565191076253 ||
x == -0.90617984593866399279762687829939296512565191076253
10
-Sqrt[5 + 2 Sqrt[--]]
7
---------------------
3
10
-Sqrt[5 - 2 Sqrt[--]]
7
---------------------
3
0
10
Sqrt[5 - 2 Sqrt[--]]
B.4. LOS COEFICIENTES DE LA CUADRATURA DE GAUSS DE CINCO PUNTOS 45
7
--------------------
3
10
Sqrt[5 + 2 Sqrt[--]]
7
--------------------
3
.
.
.
A0 -> 0.23692688505618908751426404071991736264326000221241,
A1 -> 0.47862867049936646804129151483563819291229555334314,
A3 -> 0.4786286704993664680412915148356381929122955533431,
A4 -> 0.23692688505618908751426404071991736264326000221241}}
s5 - i5 /. %61;
N[%,35]
-43
{0. 10 }
s6 - i6 /. %61;
N[%,35]
-42
{0. 10 }
s7 - i7 /. %61;
N[%,35]
-43
{0. 10 }
s8 - i8 /. %61;
N[%,35]
-43
{0. 10 }
s9 - i9 /. %61;
N[%,35]
-43
{0. 10 }
s10 - i10 /. %61;
N[%,35]
{-0.00293181245562197943150324102705055}
s11 - i11 /. %61;
N[%,35]
-43
{0. 10 }
46 B. COEFICIENTES INDETERMINADOS CON EL Mathematica
Plot[f[x],{x,0,1},PlotRange->{{0,1},{0,1}}
,GridLines->Automatic
,AspectRatio->1
,PlotStyle->RGBColor[1.000,0.000,0.000]
,Frame->True]
-Graphics-
La figura representada por el Plot precedente es la 1, la que en el cuaderno
queda insertada a continuación.
0.8
0.6
0.4
0.2
47
48 C. CUADERNOS DEL Mathematica Y ARCHIVOS SCRIPT DE MATLAB
Integrate[f[x],x]
-0.06 x + 0.05 ArcTan[5. (-0.9 + x)] + 0.1 ArcTan[10. (-0.3 + x)]
N[Integrate[f[x],{x,0,1}],30]
0.2985832539549867
f[x]//TeXForm
-0.06 + {{0.01}\over {0.04 + {{\left( -0.9 + x \right) }^2}}} +
{{0.01}\over {0.01 + {{\left( -0.3 + x \right) }^2}}}
%3//TeXForm
-0.06\,x + 0.05\,\arctan (5.\,\left( -0.9 + x \right) ) +
0.1\,\arctan (10.\,\left( -0.3 + x \right) )
Rx
Las funciones f (x) —mihumps— y su integral F (x) = 0
f (s) ds son
0.01 0.01
f (x) = −0.06 + 2 + 2 (C.1)
0.04 + (−0.9 + x) 0.01 + (−0.3 + x)
y
F (x) = −0.06 x + 0.05 arctan(5. (−0.9 + x)) + 0.1 arctan(10. (−0.3 + x)) (C.2)
Table[2^(2j)-1,{j,9}]
{3, 15, 63, 255, 1023, 4095, 16383, 65535, 262143}
12 14 16
b6 h + b7 h + b8 h
I1[h_]=I0[h/2]+(I0[h/2]-I0[h])/3//Simplify;
Collect[%,h]
4 6 8 10
b2 h 5 b3 h 21 b4 h 85 b5 h
b0 - ----- - ------- - -------- - --------- -
4 16 64 256
12 14 16
341 b6 h 1365 b7 h 5461 b8 h
---------- - ----------- - -----------
1024 4096 16384
I2[h_]=I1[h/2]+(I1[h/2]-I1[h])/15//Simplify;
Collect[%,h]
6 8 10 12
b3 h 21 b4 h 357 b5 h 5797 b6 h
b0 + ----- + -------- + ---------- + ----------- +
64 1024 16384 262144
C.2. EXTRAPOLACIÓN REPETIDA DE RICHARDSON 49
14 16
93093 b7 h 1490853 b8 h
------------ + --------------
4194304 67108864
I3[h_]=I2[h/2]+(I2[h/2]-I2[h])/63//Simplify;
Collect[%,h]
8 10 12
b4 h 85 b5 h 5797 b6 h
b0 - ----- - --------- - ----------- -
4096 262144 16777216
14 16
376805 b7 h 24208613 b8 h
------------- - ---------------
1073741824 68719476736
I4[h_]=I3[h/2]+(I3[h/2]-I3[h])/255//Simplify;
Collect[%,h]
10 12 14
b5 h 341 b6 h 93093 b7 h
b0 + ------- + ---------- + ------------ +
1048576 268435456 68719476736
16
24208613 b8 h
---------------
17592186044416
I5[h_]=I4[h/2]+(I4[h/2]-I4[h])/1023//Simplify;
Collect[%,h]
12 14 16
b6 h 1365 b7 h 1490853 b8 h
b0 - ---------- - ------------- - ----------------
1073741824 1099511627776 1125899906842624
% MIRICHAR aplica la extrapolaci\’on repetida de Richardson
% al m\’etodo trapezoidal (Integraci\’on de Romberg)
% C.E.Neuman, 6-5-97
% inicializaci\’on
i=1;
a=0;
b=1;
h=(b-a)/10;
% lazo
while 1
x=a:h:b; % partici\’on
l=length(x);
pesos=[1 2*ones(1,l-2) 1]; % pesos de Trapezoidal
II(i,1)=(h/2)*sum(pesos.*mihumps(x)); % m\’etodo Trapezoidal
%%%
%%% En este algoritmo se recalcula la funci\’on de nuevo, se
%%% puede mejorar aprovechando las evaluaciones previas.
%%%
del(i)=2^(2*i)-1; % divisor para la extrapolaci\’on
50 C. CUADERNOS DEL Mathematica Y ARCHIVOS SCRIPT DE MATLAB
h=h/2;
i=i+1;
end % elihw
% C.E.N., 05-may-97
for j=1:1000,
% pru=rand(1,1)
NN=10000;%0*pru;
puntos=rand(NN,2);
I=find(puntos(:,2) < 0.5); % determina los puntos bajo la curva
[m,n]=size(I);
scores=[scores; m/NN];
end
scorord=sort(scores);
[m,n]=size(scores);
mimeord=mean(scores(0.1*m:0.9*m)) % media podada 20%
mideord=std(scores(0.1*m:0.9*m)) % desv\’{\i}o podado 20%
figure;
hist(scores); % histograma de los valores
save azar3;
for j=1:1000,
% pru=rand(1,1)
NN=10000;%0*pru;
puntos=rand(NN,2);
I=find( puntos(:,2) < 0.01*humps(puntos(:,1)) );
[m,n]=size(I);
52 C. CUADERNOS DEL Mathematica Y ARCHIVOS SCRIPT DE MATLAB
250
200
150
100
50
0
0.48 0.485 0.49 0.495 0.5 0.505 0.51 0.515 0.52 0.525
scores=[scores; m/NN];
disp(j);
end
mime=mean(scores)
mide=std(scores)
scorord=sort(scores);
[m,n]=size(scores);
mimeord=mean(scores(0.1*m:0.9*m))
mideord=std(scores(0.1*m:0.9*m))
figure;
hist(scores);
save azar4;
% Resultados de quad
% format short e
% quad(’humps’,0,1,1e-5,1)/100
%ans =
% 2.9858e-001
%
%
% Basada en QUAD.M
c = (a + b)/2;
lev = 1;
cnt = cnt + 3;
54 C. CUADERNOS DEL Mathematica Y ARCHIVOS SCRIPT DE MATLAB
% Basada en QUADSTP.M
LEVMAX = 11;
function [y]=mifun(x)
% MIFUN es una funci\’on de prueba para MIQUAD
% debe ser una funci\’on vectorizada
y=x.^(1/2);
% fin de la funci\’on mifun
tv = t; xv = x;
xdot=mieq(tv,xv);
c1 = h*xdot;
tn = tv + h/2; xn = xv + c1/2;
xdot=mieq(tn,xn);
c2 = h*xdot;
xn = xv + c2/2;
xdot=mieq(tn,xn);
c3 = h*xdot;
tn = tv + h; xn = xv + c3;
xdot=mieq(tn,xn);
c4 = h*xdot;
xn = xv + (c1 + 2*c2 + 2*c3 + c4)/6;
xdn=mieq(tn,xn);
return
%%% fin de mieq.m
function xdot=mieq(t,x)
%
% MIEQ
%
% MIEQ es la funcion que permite determinar la
% derivada de los estados
%
xdot=-t*x;
% xdot = mihumps(x);
return
%%% fin de mieq.m
56 C. CUADERNOS DEL Mathematica Y ARCHIVOS SCRIPT DE MATLAB
% MILO
%
% MILO
%
% Este es el loop central de administracion de MIRK
% y su driver para la integraci\’on.
% En MIRK.M se program\’o un paso de Runge-Kutta cl\’asico.
% En MIEQ.M se debe incluir la funci\’on que se desea integrar.
% Con modificaciones puede utilizarse en una rutina de
% paso variable.
end % rof
plot(xout(1,:),xout(2:3,:),’r’)
En la figura 3 representamos la salida de las rutinas precedentes cuando se
integra la ecuación
x0 = −tx (C.3)
C.5. EL MÉTODO CLÁSICO DE RUNGE-KUTTA 57
Integracion de dx/dt=−tx
1
0.8
0.6
2
x(t)=exp(−t /2)
0.4
0.2
x
−0.2
−0.4
−0.6
−0.8
0 1 2 3 4 5 6 7
t
La integral de Riemann–Stieltjes
para toda partición P de [a, b], entonces diremos que f es de variación acotada.
Teorema D.1.3. [Apostol (1976), pág. 154] Si f es monótona en [a, b], entonces
f es de variación acotada en [a, b].
Teorema D.1.4. [Apostol (1976), pág. 155] Si f es de clase C 1 en [a, b],
entonces f es de variación acotada en [a, b].
Una función de clase C 1
es de variación acotada
Ejercicio D.1.2. Demostrar los teoremas D.1.3 y D.1.4.
59
60 D. LA INTEGRAL DE RIEMANN–STIELTJES
con lo cual
|f (x) − f (a)| ≤ M (D.7)
y, en consecuencia,
|f (x)| ≤ |f (a)| + M (D.8)
Cuando x = a vale D.8 trivialmente y cuando x = b
Teorema D.1.6. Sea f una función de variación acotada en [a, b]. Sea V
definida en [a, b] por V (a) = 0 y, para a < x ≤ b, V (x) = V (a, x), la variación total
de f entre a y x. Entonces
(i) V es una función creciente en [a, b]
(ii) W = V − f es una función creciente en [a, b]
Demostración: Sean x < y en [a, b]. Entonces V (a, y) = V (a, x) + V (x, y), lo que
implica que V (y) − V (x) = V (x, y) ≥ 0 lo que prueba (i).
Asimismo
W (y) − W (x) = V (y) − V (x) − (f (y) − f (x)) = V (x, y) − (f (y) − f (x)) ≥ 0 (D.11)
Teorema D.1.7. Sea f definida sobre [a, b]. Entonces f es de variación acotada
en [a, b] sii f puede expresarse como diferencia de dos funciones crecientes.
Una función es de varia-
ción acotada sii es dife-
rencia de dos funciones Demostración: Si f es de variación acotada en [a, b], podemos escribir f = V −W ,
crecientes donde V es la función del teorema D.1.6 y W = V − f . Las dos son funciones
crecientes. La otra implicación se obtiene de la monotonı́a de las dos funciones.
D.2. LA INTEGRAL 61
D.2. La integral
Definición D.2.1. Sea P = {x0 , x1 , . . . , xn } una partición del intervalo [a, b]
y sea, para cada k, ξk un punto del intervalo [xk−1 , xk ]. Una suma de la forma
Xn
S(P, f, g) = f (ξk )∆gk (D.12)
k=1
(donde ∆gk = g(xk ) − g(xk−1 )) se llama suma de Riemann-Stieltjes de f respecto
de g. Diremos que f es integrable respecto de g en [a, b] si existe un número I que
satisface la siguiente propiedad: para cada ε > 0, existe una partición Pε de [a, b]
tal que, para cada partición P más fina que Pε y para cada elección de los puntos
ξk del intervalo [xk−1 , xk ], k = 1, . . . , n, se tiene
|S(P, f, g) − I| < ε (D.13)
Observación D.2.1. Si un tal número I existe, entonces es único y se repre-
senta por la expresión
Z b
f (x)dg(x) (D.14)
a
(2)
y elegimos otra partición Pε tal que para toda partición P más fina que ella se
tenga
Z b
|S(P, f2 , g) − f2 dg| < ε (D.21)
a
Unimos las particiones para obtener
Pε = Pε(1) ∪ Pε(2) (D.22)
de modo que, para cada partición P más fina que Pε se obtiene
Z b Z b
|S(P, f, g) − c1 f1 dg − c2 f2 dg| ≤ |c1 |ε + |c2 |ε (D.23)
a a
Si P̃ es una partición formada por los puntos xk y los ξk , entonces es más fina
que la partición P y, por ello, que la Pε entonces si llamamos S(P̃ , f, g) al segundo
miembro de la ecuación D.29 se tiene que la desigualdad D.26 es válida y se tiene
Z b
|f (b)g(b) − f (a)g(a) − S(P, g, f ) − g(x)df (x)| < ε (D.30)
a
Rb
para toda partición P más fina que Pε entonces a
g(x)dg(x) existe y vale
Rb
f (b)g(b) − f (a)g(a) − a f (x)dg(x)
D.2.2. Propiedades de la integral.
Teorema D.2.5. Sea f una función integrable en el sentido de Riemann-
Stieltjes respecto de una función g de clase C 1 en el intervalo [a, b], entonces existe
la integral de Riemann del segundo miembro y vale
Z b Z b
f (x)dg(x) = f (x)g 0 (x)dx (D.31)
a a
D.5. Ejercicios
Ejercicio D.5.1. Una función f , definida en [a, b], verifica una condición uni-
forme de Lipschitz de orden α > 0 en [a, b] si existe una constante M > 0 tal que
|f (x) − f (y)| < M |x − y|α para todo x e y de [a, b]
(a) Si f es una tal función, probar que α > 1 implica que f es constante en
[a, b], mientras que α = 1 implica que f es de variación acotada en [a, b]
(b) Dar un ejemplo de una función f que satisfaga una condición uniforme de
Lipschitz de orden α < 1 en [a, b] tal que f no sea de variación acotada
en [a, b]
(c) Dar un ejemplo de una función f que sea de variación acotada y que, sin
embargo, no satisfaga ninguna condición uniforme de Lipschitz en [a, b].
Ejercicio D.5.2. Probar que una función polinómica f es de variación acotada
en todo intervalo cerrado y acotado [a, b]. Describir un método que permita calcular
la variación total de f en [a, b] conociendo los ceros de la derivada f 0 .
Ejercicio D.5.3. La siguiente definición de la integral de Riemann-Stieltjes
es bastante usual en textos matemáticos: Se dice que f es integrable respecto de g
si existe un número real A con la siguiente propiedad: para cada ε > 0 existe un
δ > 0 tal que para cada partición P de [a, b] con norma kP k < δ y cada elección de
ξk en [xk−1 , xk ], tenemos |S(P, f, g) − A| < ε
Rb
(a) Demostrar que si a f dg existe según esta definición entonces también
existe de acuerdo con la definición D.2.1 (página 61) y ambas son iguales.
(b) Sean f (x) = g(x) = 0 para −1 ≤ x < 0, f (x) = g(x) = 1 para 0 < x ≤ 1,
Rb
f (0) = 0, y g(0) = 1. Demostrar que a f dg existe de acuerdo a la
definición D.2.1 pero no existe según la definición de este ejercicio.
APÉNDICE E
2 3 4
1 x x x 4 5
(-(---) + -- - -- + --) t + O[t]
720 24 12 24
3 4 5 2 4 5 6
-x x x x 1 x x x x
--- + -- - -- + ---, ----- - ---- + --- - --- + ---,
720 72 48 120 30240 1440 288 240 720
3 5 6 7
x x x x x
67
68 E. POLINOMIOS Y NÚMEROS DE BERNOULLI
2 4 6 7 8
1 x x x x x
-(-------) + ----- - ----- + ---- - ----- + -----,
1209600 60480 17280 8640 10080 40320
3 5 7 8 9
-x x x x x x
------- + ------ - ----- + ----- - ----- + ------,
1209600 181440 86400 60480 80640 362880
2 4 6 8 9 10
1 x x x x x x
-------- - ------- + ------ - ------ + ------ - ------ + -------,
47900160 2419200 725760 518400 483840 725760 3628800
3 5 7 9 10 11
x x x x x x x
-------- - ------- + ------- - ------- + ------- - ------- + --------,
47900160 7257600 3628800 3628800 4354560 7257600 39916800
2 4 6 8 10
691 x x x x x
-(-------------) + -------- - -------- + -------- - -------- + -------- -
1307674368000 95800320 29030400 21772800 29030400 43545600
11 12
x x
-------- + ---------}
79833600 479001600
c=2;cm1=c-1;
BernoulliB[cm1]
BernoulliB[cm1,x]
cm1! %3[[c]]//Simplify
D[%,x]/cm1
Integrate[%%,{x,0,1}]
Plot[%%%,{x,0,1}]
1
-(-)
2
1
-(-) + x
2
1
-(-) + x
2
1
0
-Graphics- (*berno1.wmf*)
0.4
0.2
-0.2
-0.4
D[%,x]/cm1 //Simplify
Integrate[%%,{x,0,1}]
Plot[%%%,{x,0,1}]
1
-
6
True
1 2
- - x + x
6
1
-(-) + x
2
0
-Graphics- (*berno2.wmf*)
c=7;cm1=c-1;
BernoulliB[cm1]
BernoulliB[cm1,x]==cm1! %3[[c]]//Simplify
cm1! %3[[c]]//Simplify
D[%,x]/cm1 //Simplify
Integrate[%%,{x,0,1}]
Plot[%%%,{x,0,1}]
1
--
42
True
70 E. POLINOMIOS Y NÚMEROS DE BERNOULLI
0.15
0.1
0.05
-0.05
2 4
1 x 5 x 5 6
-- - -- + ---- - 3 x + x
42 2 2
3 4
-x 5 x 5 x 5
-- + ---- - ---- + x
6 3 2
0
-Graphics- (*berno3.wmf*)
c=11;cm1=c-1;
BernoulliB[cm1]
BernoulliB[cm1,x]==cm1! %3[[c]]//Simplify
cm1! %3[[c]]//Simplify
D[%,x]/cm1 //Simplify
Integrate[%%,{x,0,1}]
Plot[%%%,{x,0,1}]
5
--
66
True
2 8
5 3 x 4 6 15 x 9 10
-- - ---- + 5 x - 7 x + ----- - 5 x + x
66 2 2
2 4 6 7 8
E.1. POLINOMIOS DE BERNOULLI CON EL Mathematica 71
0.02
0.01
-0.01
-0.02
x (-3 + 20 x - 42 x + 60 x - 45 x + 10 x )
----------------------------------------------
10
0
-Graphics- (*berno4.wmf*)
(* Resulta que las integrales de los coeficientes son nulas,
(todas, salvo la primera) porque vale la siguiente integral: *)
0.06
0.04
0.02
-0.04
-0.06
8 10
6 2325031004857511379 x 10708663585311718520 x
1649024253633120910 x - ---------------------- + ------------------------ -
2 21
12 16
457533651717217348 x 14 38092256087030385 x
---------------------- + 33081876872548920 x - --------------------- +
3 7
22
18 20 43628525827900 x
702064548199300 x - 72937940132694 x + ------------------ -
7
28 30
24 26 29696275036 x 192650120 x
445756964055 x + 27074751480 x - --------------- + ------------- -
21 3
32 36
5126979 x 34 9139 x 38 39 40
----------- + 91390 x - -------- + 130 x - 20 x + x
2 3
True
0
E.2. NÚMEROS DE BERNOULLI 73
-Graphics- (*berno5.wmf*)
16
2·10
16
1·10
16
-1·10
16
-2·10
(* Observamos que los valores son muy grandes por eso calculamos el
valor del polinomio y luego los partimos por el
correspondiente factorial *)
BernoulliB[40,0.5]
%/40!
16
1.92966 10
-32
2.36502 10
F.1. Objetivos
∗
Las metas del laboratorio de Cuadratura Adaptativa son
• Introducir el concepto de método adaptativo para la resolución numérica
de distintos problemas de Matemática, y, en particular, para el caso de la
integración de funciones
• Comparar la eficiencia de distintos métodos de integración numérica
• Estudiar los errores de aproximación asociados a distintos métodos de
integración numérica
5
− 52 108 x(x − 12 ) si x< 1
2
f (x) = (F.1)
720(x − 12 ) si x≥ 1
2 Hay posibles
singularidades en el
∗
Trabajo realizado con fondos provenientes de la Universidad Nacional del Litoral (UNL), entorno de 0 y de 0.5
a través de la programación Curso de Acción para la Investigación y el Desarrollo (CAI+D),
Secretarı́a de Ciencia y Técnica de la UNL, subsidio 1042-1042-34-182 y 94-16-4-20. Proyectos Uso
del producto Mathematica en la ense nanza de la Matemática y Problemas teóricos y numéricos
asociados a la obtención de soluciones de ecuaciones elı́pticas y parabólicas
75
76 F. LABORATORIO DE MATEMÁTICA: INTEGRACIÓN ADAPTATIVA
400
350
300
250
200
150
100
50
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
F.3. Laboratorio
Ejercicio F.3.1. Desarrollar un algoritmo —y correspondiente programa en
Matlab— que implemente un método de integración numérica adaptativa de una
función dada en un intervalo cerrado y acotado del eje real.
Ejercicio F.3.2. Realizar experimentos numéricos destinados a determinar las
caracterı́sticas del comportamiento del programa desarrollado en F.3.1 para distin-
tos integrandos y distintos dominios de integración. Comparar con otros métodos
de integración numérica.
F.5. REFERENCIAS 77
F.5. Referencias
(1) Atkinson, K.E.: An Introduction to Numerical Analysis, 2nd edition, J.
Wiley & Sons., New York, 1989.
(2) Burden, R.L. y Faires, J.D.: Análisis Numérico, 2da edición, Grupo
Editorial Iberoamérica, México, 1993.
APÉNDICE G
G.1. Objetivos
∗
Las metas del laboratorio de Solución adaptativa de ODEs son
• Desarrollar el concepto de método adaptativo introducido en otro labo-
ratorio de este texto para la resolución numérica de distintos problemas
de Matemática, y, en particular, para el caso de la solución de ecuaciones
diferenciales
• comparar la eficiencia de distintos métodos de solución numérica de ODEs
• estudiar los errores de aproximación asociados a distintos métodos de
solución numérica de ODEs.
G.3. Laboratorio
Ejercicio G.3.1. Desarrollar un algoritmo —y correspondiente programa en
Matlab— que implemente un método de integración numérica adaptativa de una
ecuación diferencial dada en un intervalo del eje real.
Ejercicio G.3.2. Realizar experimentos numéricos destinados a determinar
las caracterı́sticas del comportamiento del programa desarrollado en G.3.1 para
distintas funciones de carga f (x, y) y distintos dominios de solución. Comparar con
otros métodos de solución numérica de ODEs.
∗
Trabajo realizado con fondos provenientes de la Universidad Nacional del Litoral (UNL),
a través de la programación Curso de Acción para la Investigación y el Desarrollo (CAI+D),
Secretarı́a de Ciencia y Técnica de la UNL, subsidio 1042-1042-34-182 y 94-16-4-20. Proyectos Uso
del producto Mathematica en la ense nanza de la Matemática y Problemas teóricos y numéricos
asociados a la obtención de soluciones de ecuaciones elı́pticas y parabólicas y sus continuaciones
79
80 G. LABORATORIO DE MATEMÁTICA: SOLUCIÓN ADAPTATIVA DE ODES
G.5. Referencias
(1) Atkinson, K.E.: An Introduction to Numerical Analysis, 2nd edition, J.
Wiley & Sons., New York, 1989.
(2) Burden, R.L. y Faires, J.D.: Análisis Numérico, 2da edición, Grupo
Editorial Iberoamérica, México, 1993.
APÉNDICE H
Dado el PVI (
y 0 = f (x, y) x ∈ I,
(H.1)
y(x0 ) = y0 x0 ∈ I.
y las iteraciones de Picard
Z x
yn+1 = y0 + f (s, yn (s))ds (H.2)
x0
definimos el rectángulo R : |x − x0 | ≤ a, |y − y0 | ≤ b y
M = max |f (x, y)| (H.3)
(x,y)∈R
∂f (x, y)
L = max (H.4)
(x,y)∈R ∂y
∂f (x, y) ∂f (x, y)
D = max + f (x, y) (H.5)
(x,y)∈R ∂x ∂y
Lema H.0.1. Si α = min(a, b/M ) entonces |yn (x) − y0 | ≤ M (x − x0 ) para
x0 ≤ x ≤ x0 + α
Demostración:
Z x
|yn (x) − yn−1 (x)| = | (f (s, yn−1 (s)) − f (s, yn−2 (s)))ds| (H.7)
x0
Z x
≤ |f (s, yn−1 (s)) − f (s, yn−2 (s))|ds (H.8)
x0
Z x
∂f (s, ξ(s))
= |yn−1 (s) − yn−2 (s)|ds (H.9)
x0
∂y
81
82 H. EXISTENCIA Y UNICIDAD DE SOLUCIONES DE ODES
con ξ(s) ∈ int(yn−1 (s), yn−2 (s)) de modo que (s, ξ(s)) ∈ R, ∀s ∈ [x0 , x0 + α]
Z x
≤L |yn−1 (s) − yn−2 (s)|ds, x0 ≤ x ≤ x0 + α (H.10)
x0
En particular
Z x
|y2 (x) − y1 (x)| ≤ L |y1 (s) − y0 |ds (H.11)
x0
Z x
(x − x0 )2
≤ L M (s − y0 )ds = LM (H.12)
x0 2!
Z x
|y3 (x) − y2 (x)| ≤ L |y2 (s) − y1 (s)|ds (H.13)
x0
x
(s − x0 )2 (x − x0 )3
Z
≤ M L2 ds = M L2 (H.14)
x0 2 3!
y por inducción
M Ln−1 (x − x0 )n
|yn (x) − yn−1 (x)| ≤ , x0 ≤ x ≤ x0 + α (H.15)
n!
Resulta ası́ que, para x0 ≤ x ≤ x0 + α
∞
X (x − x0 )2 (x − x0 )3
|yj (x) − yj−1 (x)| ≤ M (x − x0 ) + M L + M L2 +(H.16)
...
j=1
2! 3!
α2 α3
≤ Mα + ML + M L2 + ... (H.17)
2! 3!
M (αL)2 (αL)3 M αL
= (αL + + + . . .) = (e − 1)(H.18)
L 2 3 L
Luego yn (x) converge para cada x en x0 ≤ x ≤ x0 + α
Un argumento similar muestra que yn (x) converge para cada x en x0 − α ≤
x ≤ x0
El lı́mite de (yn (x)) se denotará y(x)
Observación H.0.3. La función y(x) satisface la ecuación integral
Z x
y(x) = y0 + f (s, y(s))ds (H.19)
x0
y tenemos que calcular este lı́mite. Notemos que y(x) pertenece a R para x0 ≤ x ≤
x0 + α porque es el lı́mite de funciones con gráficos en R.
H. EXISTENCIA Y UNICIDAD DE SOLUCIONES DE ODES 83
Hemos demostrado ası́ que el problema de valores iniciales tiene una solución
continua en x0 ≤ x ≤ x0 + α
Z x
z(x) = y0 + f (s, z(s))ds (H.38)
x0
entonces
Z x
|y(x) − z(x)| = | (f (s, y(s)) − f (s, z(s)))ds| (H.39)
x0
Z x
≤ |f (s, y(s)) − f (s, z(s))|ds (H.40)
x0
Z x
≤ L |y(s) − z(s)|ds (H.41)
x0
Rx
Demostración: Sea U (x) = x0
w(s)ds entonces
Z x
dU
= w(x) ≤ w(s)ds = LU (x) (H.43)
dx x0
lo que implica
e−L(x−x0 ) U (x) ≤ U (x0 ) (x ≥ x0 ) (H.44)
o bien
U (x) = 0 (H.45)
de modo que
Z x
0 ≤ w(x) ≤ L w(s)ds = LU (x) = 0 (H.46)
x0
o tambien
w(x) = 0 (H.47)
H.1. REFERENCIAS 85