108
An´ alisis Num´ erico de Integrales y Ecuaciones Diferenciales

Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

Embed Size (px)

Citation preview

Page 1: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

Analisis Numerico

de Integrales

y

Ecuaciones Diferenciales

Page 2: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

Temas de Analisis Numerico y Programacion

Volumenes:I : Cardona, A., y Neuman, C.E.: Temas de Programacion I, 1996, (se-

gunda edicion en preparacion, 1997)II : Neuman, C.E. (editor): Matematica asistida por computadora, 1996

III : Neuman, C.E.: Analisis Numerico de Integrales y Ecuaciones Diferen-ciales, 1997

IV : Neuman, C.E.: Algoritmos Geometricos y Graficos en 3D. Laboratoriosde Matematica, segunda edicion, 1999.

V : Neuman, C.E., Vilchez, A.G.: Algoritmos Geometricos y Graficos en3D. Laboratorios de Matematica, tercera edicion (en preparacion), 2001.

Page 3: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

ii

Temas de Analisis Numerico y ProgramacionVolumen VI

Analisis Numerico

de Integrales

y

Ecuaciones Diferenciales ¶

Segunda edicion

Carlos E. Neuman

Departamento de Matematica (FIQ)

Universidad Nacional del Litoral

Santa Fe2001

¶Trabajo realizado con fondos provenientes de la Universidad Nacional del Litoral (UNL),a traves de la programacion Curso de Accion para la Investigacion y el Desarrollo (CAI+D),Secretarıa de Ciencia y Tecnica de la UNL

Page 4: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

Analisis Numerico de Integrales y Ecuaciones

Diferenciales

Carlos E. Neuman

Departamento de Matematica, FIQ, UNL, Santiago del Estero 2829,3000 Santa Fe, Argentina

E-mail address: [email protected]: http://www.intec.unl.edu.ar/CN/CNBook3.pdf

Page 5: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

Key words and phrases. Integracion numerica, Resolucion numerica de ecuacionesdiferenciales, Metodos de un paso, Integracion adaptativa

Trabajo realizado con fondos provenientes de la Universidad Nacional del Litoral(UNL), a traves de la programacion Curso de Accion para la Investigacion y el

Desarrollo (CAI+D), Secretarıa de Ciencia y Tecnica de la UNL.

Resumen. En este texto se tratan temas de integracion numerica de funcionesy de ecuaciones diferenciales, teoremas de existencia y unicidad de soluciones,convergencia, estabilidad y consistencia de soluciones aproximadas de ecua-

ciones diferenciales y algunos complementos teoricos. Se presentan numerososejemplos y ejercicios y dos laboratorios de integracion adaptativa.

Page 6: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

Indice General

Prefacio xiii

Prefacio a la segunda edicion xvii

Indice de Tablas 1

Indice de Figuras 3

Capıtulo 1. Integracion 11.1. Introduccion 11.2. La integral de Riemann–Stieltjes 31.3. La formula de suma de Euler 41.4. Metodos basicos de integracion numerica 71.5. Metodos de extrapolacion 111.6. Cuadratura de Gauß 121.7. Metodos de Montecarlo 131.8. Metodos adaptativos 161.9. Ejercicios 17

Capıtulo 2. Ecuaciones diferenciales 212.1. Introduccion 212.2. Metodos en diferencias de un paso 232.3. Ejercicios 33

Apendice A. Bibliografıa y referencias 35A.1. Textos basicos 35A.2. Bibliografıa complementaria 35

Apendice B. Coeficientes indeterminados con el Mathematica 37B.1. El metodo de Simpson 37B.2. El metodo de Newton 38B.3. El metodo de cuadratura de Gauß de tres puntos 40B.4. Los coeficientes de la cuadratura de Gauß de cinco puntos 41

Apendice C. Cuadernos del Mathematica y archivos script de Matlab 47C.1. La funcion mihumps 47C.2. Extrapolacion repetida de Richardson 48C.3. Metodos de Montecarlo 50C.4. Integracion de Simpson adaptativa 53C.5. El metodo clasico de Runge-Kutta 55

Apendice D. La integral de Riemann–Stieltjes 59

vii

Page 7: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

viii INDICE GENERAL

D.1. Funciones de variacion acotada 59D.2. La integral 61D.3. Formula de la suma de Euler 65D.4. Pero, ¿Hay funciones integrables? 65D.5. Ejercicios 66

Apendice E. Polinomios y numeros de Bernoulli 67E.1. Polinomios de Bernoulli con el Mathematica 67E.2. Numeros de Bernoulli 73E.3. Integracion por partes 74

Apendice F. Laboratorio de Matematica: Integracion Adaptativa 75F.1. Objetivos 75F.2. Antes del laboratorio 75F.3. Laboratorio 76F.4. Aplicaciones y desarrollos avanzados 77F.5. Referencias 77

Apendice G. Laboratorio de Matematica: Solucion adaptativa de ODEs 79G.1. Objetivos 79G.2. Antes del laboratorio 79G.3. Laboratorio 79G.4. Aplicaciones y desarrollos avanzados 79G.5. Referencias 80

Apendice H. Existencia y unicidad de soluciones de ODEs 81H.1. Referencias 85

Page 8: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

INDICE GENERAL ix

Para S., N., y F.

Page 9: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)
Page 10: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

INDICE GENERAL xi

Our ancestors were eager to understandthe worlds but had not quite stumbledupon the method. They imagined asmall, quaint, tidy universe in which thedominant forces were gods like Anu, Ea,and Shamash. In that universe humansplayed an important if not central role.We were intimately bound up with therest of nature. The treatment of tooth-ache with second-rate beer was tied tothe deepest cosmological mysteries.Today we have discovered a powerfuland elegant way to understand the uni-verse, a method called science; it hasrevealed to us a universe so ancient andso vast that human affairs seem at firstsight to be of little consequence.

Sagan, C.: Cosmos, Ballantine,New York, 1992.

Page 11: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)
Page 12: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

Prefacio

Este texto surgio de la necesidad de presentar una vision unificada de losmetodos elementales de integracion numerica de funciones y de algunos de los queson utiles para las ecuaciones diferenciales ordinarias.♣ Los parrafos que se colocan entre treboles pueden ser omitidos en las primeraslecturas puesto que no son esenciales para la continuidad del texto. ♣

Seguimos en terminos generales las ideas planteadas en Linz∗ (1988). Para esteautor el termino matematica computacional esta asociado con el espectro ampliode actividades relacionadas con la solucion aproximada de problemas cientıficosexpresados en terminos de modelos matematicos, que, en su forma tıpica, estanconstituidos por ecuaciones diferenciales e integrales de las que, en general, no seconoce solucion en forma cerrada. Para resolverlos las ecuaciones son convertidas,mediante discretizacion, en un conjunto finito de ecuaciones mas simples que puedanser resueltas por metodos algebraicos.

Se puede distinguir la metodologıa numerica, que estudia metodos para dis-cretizar los operadores diferenciales e integrales y como resolver los sistemas finitosresultantes, del analisis numerico que involucra el estudio riguroso de los algoritmoscreados por la metodologıa.

La meta primaria del analisis es describir la relacion entre la solucion exactade la ecuacion original, y la aproximada obtenida a partir de la version discreta.

El analisis numerico ha resultado muy util para complementar el proceso decreacion de metodos numericos generado por las aplicaciones ingenieriles. Por ejem-plo las tecnicas de relajacion o de elementos finitos fueron creadas por ingenierosbasados en la intuicion fısica. El analisis numerico posterior ha resultado crucialpara la consolidacion de estos metodos, la extension de su aplicabilidad, y el estudiode sus propiedades de convergencia o estabilidad.

En muchos casos a partir de objetivos del Analisis Numerico se han obtenidonuevos resultados en Analisis Funcional, en cuyos terminos suelen plantearse losproblemas.

Segun resume Linz (1988): En artıculos publicados en revistas como el SIAMJournal on Numerical Analysis o Numerische Mathematik se encuentran habitual-mente terminos como espacios de Hilbert, clausura compacta, y convergencia debil.Estos conceptos le resultan muy utiles al teorico y han facilitado el establecimientode una teorıa abarcativa y coherente de la solucion aproximada de las ecuacionesde operadores.♣ Ilustraremos esto con el ejemplo de la ecuacion del operador lineal

Lx = y (0.1)

∗Las referencias se enumeran en el apendice A, pagina 35

xiii

Page 13: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

xiv PREFACIO

donde L : X → Y es un operador lineal entre los espacios normados X e Y . Elmiembro derecho, y, es un dato y la ecuacion debe ser resuelta para la incognita x.Suponemos que L tiene una inversa acotada en Y . Un ejemplo muy simple de estoes la ecuacion

d

dtx(t) = y(t) = f(t, x(t)) (0.2)

con la condicion inicialx(t0) = x0 (0.3)

En el proceso de discretizacion la ecuacion (0.1) es reemplazada por una suce-sion parametrica de problemas

Lnxn = yn (0.4)

donde Ln es un operador en ciertos espacios n–dimensionales Xn e Yn. El sımbolon se denomina parametro de discretizacion y mide el grado en el que el operadordiscreto Ln representa al operador L.

Como Ln es efectivamente una matriz de n×n, es posible, en principio, resolver(0.4) en forma algebraica y obtener la solucion aproximada xn.

El objetivo fundamental del analisis posterior es conocer la relacion entre lasolucion verdadera x y su aproximacion xn. En particular, desearemos demostrarla convergencia. Esto significa que, cuando se incrementa n, la solucion aproximadadebera acercarse mas y mas a la solucion verdadera, en el sentido que

limn→∞

‖x− xn‖ = 0 (0.5)

Usualmente, el primer paso del analisis es definir el error de consistencia

rn(x) = Lx− Lnx (0.6)

De (0.1) y (0.4) se obtiene directamente que

Ln(x− xn) = y − yn − rn(x) (0.7)

y obtenemos una cota para el error de la solucion aproximada

‖x− xn‖ ≤ ‖L−1n ‖{‖y − yn‖+ ‖rn‖} (0.8)

En la mayorıa de los casos es relativamente elemental mostrar que

limn→∞

‖y − yn‖ = 0 (0.9)

y que, bajo condiciones bien definidas

limn→∞

‖rn‖ = 0 (0.10)

Se necesita una condicion adicional, la condicion de estabilidad

limn→∞

‖L−1n ‖ ≤ K <∞ (0.11)

Si reemplazamos en la ecuacion (0.8), obtenemos el teorema central del analisisnumerico: estabilidad y consistencia implican convergencia.

Se tiene un gran numero de problemas no resueltos por causa de las dificultadestecnicas de las que el problema principal es verificar la condicion de estabilidad(0.11). Hay otras cuestiones, por ejemplo, cuan dificil es resolver (0.4) o cuanvelozmente converge xn a x, pero, normalmente estas son menos complejas que laestabilidad.

Page 14: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

PREFACIO xv

Supongamos ahora que hemos determinado que nuestro metodo numerico esestable y convergente. ¿Que nos dice esto? Nos expresa que, en algun sentidoasintotico, el metodo funciona.

A menudo podemos decir mas. En muchos casos el error de aproximacion puedeser acotado en forma mas explıcita como

‖x− xn‖ ≤ n−p‖L−1n ‖η(x) (0.12)

donde η es un funcional de la solucion desconocida x El exponente p se denominaorden de convergencia y nos da informacion respecto de cuan exacto es el metodo.Para un dado nivel de esfuerzo computacional, un metodo con un orden de conver-gencia mayor tendera a dar mejores resultados que uno con un orden menor.

La cota que nos da la expresion 0.12 tiene una utilidad limitada puesto quedepende de la incognita x. Se puede sortear esa dificultad realizando un analisisa posteriori que utiliza la solucion calculada xn en lugar de la x. A partir de lasecuaciones 0.1 y 0.4 se puede obtener

‖x− xn‖ ≤ n−p‖L−1‖‖ρn‖ (0.13)

donde ρn es el residuo de la solucion calculada

ρn(xn) = Lxn − y (0.14)

Es posible obtener cotas buenas para ‖ρn‖, en cambio es mas difıcil obtener cotasrealistas para ‖L−1‖ lo que se convierte en el elemento clave del que depende elanalisis a posteriori. ♣

Los problemas basicos de la metodologıa numerica no son el establecimientodel metodo de discretizacion, sino el manejo de los detalles involucrados en la re-presentacion de dominios, de los propios metodos de discretizacion, de los metodosde operacion con los sistemas de ecuaciones, de las matrices ralas, y de los metodospara resolver los sistemas de ecuaciones con dimensiones muy altas. En el desarro-llo de metodos para resolver estos problemas suele incluirse —cuando se trata deutilizar la metodologıa en las aplicaciones— una dosis relativamente alta de lo quepuede denominarse pragmatica numerica la que, por tratarse de algo naturalmenteimpreciso, siempre puede fallar, pero que no deberıa ser totalmente ignorada porcausa de ello. Los beneficios de la metodologıa numerica son tan considerablesque se la utiliza aun en los casos en que no puede justificarsela rigurosamente. Laidea fuerza no es rechazar los puntos de vista pragmaticos sino desarrollar los masefectivos.

En el primer capıtulo se estudian algunos aspectos relevantes del calculo de inte-grales. Se desarrollan los metodos clasicos, los de extrapolacion y los de Montecarlo.Debido a que las extensiones a integrales multiples son relativamente directas, so-lamente se trata el problema de volumenes e hipervolumenes utilizando el metodode Montecarlo por la simple razon que, en muchos casos, es el unico aplicable. Enel segundo capıtulo se introduce el problema de hallar soluciones aproximadas paraproblemas de valores iniciales de ecuaciones diferenciales ordinarias. Asimismo sededucen algunos metodos elementales de los del tipo de ‘un paso’. En los apendicesse presentan ejemplos realizados con Matlab y Mathematica, se desarrolla una breveintroduccion a la teorıa de la integral y se realizan calculos para obtener los polino-mios de Bernoulli, que resultan necesarios para la interpretacion de los coeficientesen el desarrollo asintotico del error en los metodos trapezoidal y Simpson.

Page 15: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

xvi PREFACIO

En el ultimo de los apendices se incluye un Laboratorio de Matematica en eltema de la cuadratura adaptativa. He elegido este por la simplicidad del algorit-mo recursivo. Sin embargo, cualquiera de los restantes temas del texto, por suimportancia matematica, su riqueza y su atractivo, merece la elaboracion de unLaboratorio propio. El objetivo de estos laboratorios es aspirar a la recreacion vivade conceptos y temas que enriquecen el portafolios del pregraduado en Matematica.

Los libros citados en la seccion de bibliografıa y el conjunto de referencias enellos citados facilitan al lector interesado el estudio de cualquiera de los temas enque desee especializarse. Este texto, que se basa en su totalidad en ellos, y quecomparte la seleccion de temas de interes que tratan, no aspira a colocarse en unplano de igualdad, sino, humildemente, enfatizar algunos aspectos y no otros.

Debo agradecer a los sucesivos grupos de alumnos que han enriquecido el cursode Calculo Numerico con filosas preguntas y soluciones ingeniosas a los problemaspropuestos. Asimismo a mis colegas por la discusion de temas y el desarrollo demetodos aptos para la ensenanza. En cambio, de los errores que pudiera contener,me hago unico responsable.

Carlos E. NeumanSanta Fe, 29 de abril de 1997

Page 16: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

Prefacio a la segunda edicion

Esta nueva edicion se desarrolla con varias correcciones y agregados con el finde adaptar el texto a los cursos de Calculo Numerico I y II en la modalidad ‘adistancia’.

Carlos E. NeumanSanta Fe, 12 de noviembre de 2001

xvii

Page 17: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)
Page 18: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

Indice de Tablas

1 Extrapolacion de Richardson (Metodo de Romberg) 12

1 Integracion de Romberg para la funcion mihumps (vertabla 1). La integral (con el Mathematica) resulta Q =0.2985832539549867 50

2 Integracion de Romberg para la funcion mihumps (continuacion,ver tablas 1 y 1). La integral (con el Mathematica) resultaQ = 0.2985832539549867 50

1

Page 19: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)
Page 20: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

Indice de Figuras

1 Campo de direcciones de f(x, y) = −xy 212 El rectangulo S esta contenido en el R 223 Primer metodo de Runge 264 Segunda formula de Runge 285 El metodo de Runge-Kutta 29

1 La funcion mihumps 472 Histograma de distribucion de los valores estimados de la

integral del ejemplo C.3.1 523 Integracion por Runge-Kutta clasico de x′ = −tx en [0, 7] 57

1 El polinomio de Bernoulli B1(x) 692 El polinomio de Bernoulli B2(x) 703 El polinomio de Bernoulli B6(x) 714 El polinomio de Bernoulli B10(x) 725 El polinomio de Bernoulli B40(x) 73

1 Puntos de evaluacion de quad para la funcion f(x) en [0, 2] 76

3

Page 21: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)
Page 22: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

CAPıTULO 1

Integracion

1.1. Introduccion

El objetivo del presente capıtulo es estudiar metodos numericos para calcularintegrales definidas de la forma ∫ b

a

f(x) dx (1.1)

Los metodos mas simples —que se originan en la propia definicion de la integral deRiemann,— se establecen como sigue. Se elige una particion regular de paso h enel intervalo [a, b] de modo de obtener N subintervalos (es decir que Nh = (b − a).Se toma un valor conveniente de la funcion f en cada subintervalo y se calcula lasuma

hN∑

i=1

fi (1.2)

donde fi es el valor elegido de la funcion f en el intervalo [xi−1, xi]. En el caso deescoger fi = f(xi−1) se obtiene una “regla del rectangulo”∫ b

a

f(x) dx ' h

N∑i=1

f(xi−1) (1.3)

si, en cambio, se toma fi = f(xi) se obtiene otra regla del rectangulo∫ b

a

f(x) dx ' hN∑

i=1

f(xi) (1.4)

en realidad ‘la’ regla del rectangulo es mas precisa si se elige fi = f((xi−1 +xi)/2),en este caso se obtiene la regla del rectangulo R(h) (o ‘midpoint’)∫ b

a

f(x) dx ' R(h) = hN∑

i=1

f(xi−1 + xi

2) (1.5)

con fi = (f(xi−1) + f(xi))/2, en cambio, se obtiene la regla del trapecio T (h)∫ b

a

f(x) dx ' T (h) = hN∑

i=1

f(xi−1) + f(xi)2

(1.6)

es decir En algunos textos estemetodo se denomina

trapezoidal compuesto,

pero la distincion espoco relevante

T (h) = h(f(a)

2+

N−1∑i=1

f(xi) +f(b)2

) (1.7)

1

Page 23: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

2 1. INTEGRACION

y, si el numero N de subintervalos es par, se pueden agrupar los subintervalos dea dos contiguos y, en cada par utilizar f2i+1 = (f(x2i) + 4f(x2i+1) + f(x2i+2))/6,con lo que se obtiene la “regla de Simpson” S(h)∫ b

a

f(x) dx ' S(h) =2h6

N2 −1∑j=0

(f(x2j) + 4f(x2j+1) + f(x2j+2)) (1.8)

es decirLa regla de Simpson es

exacta para polinomios

de orden cuatro S(h) =2h6

(f(a) + 4f(x1) + 2f(x2) + · · ·+ 4f(xN−1) + f(xN )) (1.9)

En todos estos casos se tiene la expresion∫ b

a

f(x) dx ' AN∑

i=0

cif(xi) (1.10)

dondeEl operador ‘.*’ facilitala integracion numerica [Rectangulo]A = 2h y c = (0, 1, 0, 1, 0, 1, . . . , 0, 1, 0)

[Trapezoidal]A = h/2 y c = (1, 2, 2, . . . , 2, 1)[Simpson] A = 2h/6 y c = (1, 4, 2, 4, . . . , 2, 4, 1)

Observacion 1.1.1. Las expresiones anteriores sugieren un metodo muy simplepara programar estos metodos elementales en Matlab

De la inspeccion de estos metodos surgen varias ideas interesantes(1) Se tiene una ıntima relacion entre integrales y sumas y las primeras se

aproximan por las segundas.(2) Es necesario desarrollar metodos para estudiar los errores de aproximacion

de estas reglas de integracion (es simple establecerlas pero no es tan clarocomo estimar los respectivos errores)

(3) Se deberıan explorar metodos aplicables a particiones que no sean regu-lares

Para la primera utilizaremos una teorıa de la integral que permite unificar lasmetodologıas para tratar con integrales y sumas. Citamos textualmente a TomApostol en la introduccion al capıtulo 7 (pag. 169) de su texto (Apostol, 1976)La integral de Riemann-

Stieltjes generaliza la in-tegral de Riemann

. . . se estudia el proceso de integracion con cierto detalle. En rea-

lidad consideramos un concepto mas general que el de Riemann: a

saber, la integral de Riemann-Stieltjes, que involucra dos funciones

f y α. El sımbolo que utilizamos para designar tales integrales es∫ b

af(x)dα(x), o alguno similar, y la integral de Riemann se obtiene

como caso particular cuando α(x) = x. Cuando α tiene derivada con-

tinua, la definicion es tal que la integral de Stieltjes∫ b

af(x)dα(x) se

convierte en la intgral de Riemann∫ b

af(x)α′(x) dx. Sin embargo, la

integral de Stieltjes tiene sentido en el caso en que α no es diferen-

ciable e incluso cuando no es continua. De hecho, es al tratar con

funciones discontinuas α cuando se hace patente la importancia de la

integral de Stieltjes. Eligiendo adecuadamente una funcion disconti-

nua α, una suma finita o infinita puede expresarse como una integral

de Stieltjes, y la sumacion y la integral de Riemann ordinaria son

casos especiales de este proceso mas general. Los problemas fısicos

que consideran la distribucion de masas que son en parte discretas

Page 24: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

1.2. LA INTEGRAL DE RIEMANN–STIELTJES 3

y en parte continuas pueden ser abordados utilizando la integral de

Stieltjes. En la teorıa matematica de la Probabilidad esta integral es

un instrumento muy util que hace posible la consideracion simultanea

de variables aleatorias continuas y discretas.

En muchos casos se utilizan integrales para calcular sumas que pueden sercomplicadas de obtener por otros metodos, en razon de ello las interrelacionesentre unas y otras es mucho mayor de lo que puede suponerse en una primeraaproximacion.

En las secciones 1.4 y 1.6 estudiamos herramientas para obtener diversos metodosde integracion y para estimar los errores de las aproximaciones conseguidas. El es-quema basico es aproximar la integral por una suma del tipo La integral aproximada

es un promedio pesado

de los valores de lafuncion

N∑i=1

wif(xi) (1.11)

sobre una particion del intervalo de integracion, y elegir en forma conveniente lospesos wi y los puntos xi.

Cuando aceptamos que las particiones no sean regulares surge naturalmente laidea de refinar la particion en los subintervalos donde los errores sean muy grandesy la idea opuesta de agrupar intervalos donde los errores sean excesivamente pe-quenos. Esto nos lleva a los denominados metodos adaptativos de integracion queestudiaremos en la seccion 1.8

1.2. La integral de Riemann–Stieltjes

1.2.1. Definicion y propiedades.

Definicion 1.2.1. Sea P = {x0, x1, . . . , xn} una particion del intervalo [a, b] ysea, para cada k, ξk un punto del intervalo [xk−1, xk]. Una suma de la forma

S(P, f, g) =n∑

k=1

f(ξk)∆gk (1.12)

(donde ∆gk = g(xk) − g(xk−1)) se llama suma de Riemann-Stieltjes de f respectode g. Diremos que f es integrable respecto de g en [a, b] si existe un numero I quesatisface la siguiente propiedad: para cada ε > 0, existe una particion Pε de [a, b]tal que, para cada particion P mas fina que Pε y para cada eleccion de los puntosξk del intervalo [xk−1, xk], k = 1, . . . , n, se tiene

|S(P, f, g)− I| < ε (1.13)

Observacion 1.2.1. Si un tal numero I existe, entonces es unico y se representapor la expresion ∫ b

a

f(x)dg(x) (1.14)

Ejemplo 1.2.1. Si g(x) = x entonces la integral se reduce a una integral deRiemann

Ejemplo 1.2.2. Si g(x) es de clase C1 en [a, b] entonces la integral resulta∫ b

a

f(x)g′(x) dx (1.15)

Nota: Este resultado se demuestra en el teorema D.2.5 en la pagina 63

Page 25: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

4 1. INTEGRACION

Ejemplo 1.2.3. Si f es continua y g(x) = bxc entonces la integral resulta∑i∈Z

a<i≤b

f(i) (1.16)

y si g(x) = dxe entonces ∑i∈Z

a≤i<b

f(i) (1.17)

Nota: Este resultado se demuestra en el teorema D.2.7 en la pagina 65. Notar ladiferencia entre los lımites de suma.

1.2.2. Integracion por partes.

Teorema 1.2.2. [Formula de integracion por partes] Si f es integrable respectode g en el intervalo [a, b], en el sentido de Riemann-Stieltjes, entonces g es integrablerespecto de f en el intervalo [a, b], en el sentido de Riemann-Stieltjes, y se tiene∫ b

a

f(x)dg(x) +∫ b

a

g(x)df(x) = f(b)g(b)− f(a)g(a) (1.18)

Demostracion: Ver el teorema D.2.4 en la pagina 62

En el apendice D en pagina 59 se desarrollan aspectos elementales de la teorıade integracion de Riemann-Stieltjes siguiendo el texto de Apostol (1976)

1.3. La formula de suma de Euler

Sea {x0, x1, . . . , xn}, donde x0 = a, x1 = a + h, . . . , xn = a + nh = b, unaparticion regular del intervalo [a, b]. La suma trapezoidal para la integral∫ b

a

f(x) dx (1.19)

se denota T (h) y resulta ser

T (h) = h

(12f0 + f1 + f2 + f3 + . . .+ fn−1 +

12fn

)(1.20)

o bien

T (h) = h

(12f0 +

n−1∑i=1

fi +12fn

)(1.21)

Desearıamos demostrar el siguiente teorema

Teorema 1.3.1. Sea T (h) la suma trapezoidal 1.21. Entonces

T (h) =∫ b

a

f(x) dx+h2

12(f ′(b)− f ′(a)) (1.22)

− h4

720(f (3)(b)− f (3)(a)) (1.23)

+h6

30240(f (5)(b)− f (5)(a)) (1.24)

+ . . .+ c2rh2r(f (2r−1)(b)− f (2r−1)(a)) +O(h2r+2) (1.25)

Page 26: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

1.3. LA FORMULA DE SUMA DE EULER 5

Donde los coeficientes {c2r} tienen la funcion generatriz

1 + c2h2 + c4h

4 + c6h6 + . . . =

h

2eh + 1eh − 1

(1.26)

(para la interpretacion detallada de los coeficientes ver el apendice E en lapagina 67)

1.3.1. El sımbolo ‘O’. La notacion ‘O grande’ es util para representar ycalcular en forma exacta con magnitudes aproximadas. En general la notacionO(f(n)) se usa —si f(n) es una funcion definida sobre los numeros naturales— conel fin de representar un numero xn con el significado de que existe una constantepositiva M tal que el numero xn representado por O(f(n)) satisface la condicion

|xn| ≤M |f(n)|, ∀n ≥ n0 (1.27)

No damos explıcitamente —en general— las constantes M y n0, las que suelen serdistintas en cada aparicion de O

Ejemplo 1.3.1. Sabemos quen∑

i=1

i2 =13n(n+

12)(n+ 1) =

13n3 +

12n2 +

16n (1.28)

en consecuencian∑

i=1

i2 = O(n3) (1.29)

n∑i=1

i2 =13n3 +O(n2) (1.30)

La ecuacion 1.30 es mas fuerte que la ecuacion 1.29 (Justificar la validez de estasecuaciones y la relacion entre ambas).

Las siguientes son operaciones validas con la notacion ‘O’

f(n) = O(f(n)) (1.31)cO(f(n)) = O(f(n)), si c es una constante (1.32)O(f(n)) +O(f(n)) = O(f(n)) (1.33)O(O(f(n))) = O(f(n)) (1.34)O(f(n))O(g(n)) = O(f(n)g(n)) (1.35)O(f(n)g(n)) = f(n)O(g(n)) (1.36)

Nota 1.3.1. La notacion ‘O ’ suele extenderse a la variable real x. Por ejemplose escribe

ex = 1 + x+12!x2 +

13!x3 +O(x4) (1.37)

Una cierta dosis de observacion permite resolver la siguiente paradoja.

Ejercicio 1.3.2. ¿Que esta mal en el siguiente razonamiento? “Como n =O(n), 2n = O(n), . . . , se tiene∑

1≤k≤n

kn =∑

1≤k≤n

O(n) = 0(n2)” (1.38)

Notar que es facil demostrar que∑

1≤k≤n kn = O(n3).

Page 27: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

6 1. INTEGRACION

Ejercicio 1.3.3. Demostrar que si se permite a x tomar valores arbitraria-mente grandes, entonces, para toda potencia m, ex 6= O(xm)

Este tipo de desarrollosen potencias de un ope-rador suele utilizarse en

los cursos elementales deCalculo para la formuladel polinomio de Tay-

lor en dos variables in-dependientes

1.3.2. lgebra de operadores. Si D representa el operador d/dx se tiene

f(x+ h) = f(x) + hf ′(x) +h2

2!f ′′(x) +

h3

3!f ′′′(x) + . . . (1.39)

=(

1 + hD +(hD)2

2!+

(hD)3

3!+ . . .

)f(x) (1.40)

= ehDf(x) (1.41)

donde el operador ehD debe entenderse definido por la serie, para la que es facilverificar que es normalmente convergente. En consecuencia

f(x+ 2h) = ehDf(x+ h) = e2hDf(x) (1.42)

y ası sucesivamente. Utilizamos esta representacion de la traslacion en la siguienteformula

T (h) = h

(12f0 + f1 + f2 + . . .+ fn−1 +

12fn

)(1.43)

= h

(12

+ ehD + e2hD + . . .+ e(n−1)hD +12enhD

)f(x0) (1.44)

= h

−12

+n−1∑j=0

ejhD +12enhD

f(x0) (1.45)

luego, por la formula de la suma geometrica,

T (h) = h

(−1

2+

enhD − 1ehD − 1

+12enhD

)f(x0) (1.46)

= h

(1

ehD − 1+

12

)(enhD − 1

)f(x0) (1.47)

=h

2ehD + 1ehD − 1

(enhD − 1

)f(x0) (1.48)

perot

2et + 1et − 1

=∞∑

j=0

c2jt2j (1.49)

para la que, con el Mathematica, se obtiene directamente:Series[(h/2)(Exp[h]+1)/(Exp[h]-1),{h,0,21}]

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

Page 28: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

1.4. METODOS BASICOS DE INTEGRACION NUMERICA 7

------------------- - --------------------- + O[h]

5109094217170944000 802857662698291200000

Resulta entonces

T (h) =

1 +∞∑

j=1

c2j(hD)2j

enhD − 1D

f(x0) (1.50)

=enhD − 1

Df(x0) +

∞∑j=1

c2jh2jD2j−1

(enhD − 1

)f(x0) (1.51)

=∫ b

a

f(x) dx+∞∑

j=1

c2jh2j(f (2j−1)(b)− f (2j−1)(a)

)(1.52)

lo que justifica el enunciado del teorema 1.3.1

1.3.3. La formula de Euler. En el apendice E (pagina 67) demostramos unaformula de suma de Euler que enunciamos a continuacion con modificaciones.

Teorema 1.3.2. Supongamos que f es una funcion suave, de clase C∞ en elintervalo [a, b]. Sea n ≥ 1, h = (b − a)/n, xj = a + jh, para j = 0, 1, . . . , n. Sea,ademas, {x} = x− bxc. Entonces se tiene∫ b

a

f(x) dx = h

(f(a)

2+ f(x1) + . . .+ f(xn−1) +

f(a)2

)+h∫ b

a

B1

({x− a

h

})f ′(x) dx (1.53)

La demostracion esta presentada en el apendice.Se tiene la siguiente formula de integracion por partes (ver 74),

1m!

∫ b

a

Bm({(x− a)/h})f (m)(x) dx =

1(m+ 1)!

(Bm+1(1)f (m)(b)−Bm+1(0)f (m)(a)

− 1(m+ 1)!

∫ b

a

Bm+1({(x− a)/h})f (m+1)(x) dx (1.54)

Utilizandola directamente se puede generalizar la formula 1.53 para obtener porinduccion el teorema 1.3.1 de la pagina 4

1.4. Metodos basicos de integracion numerica

En las secciones 4.3 y 4.4 del texto de Burden y Faires (1996) se deducen y des-arrollan los metodos basicos simples y compuestos para la determinacion numericade la integral ∫ b

a

f(x) dx (1.55)

La deduccion de los mismos se basa en la aproximacion de la funcion f en elintervalo (o, en el caso de los metodos compuestos, en subintervalos de) [a, b]. Lalectura de las secciones citadas es instructiva puesto que suministra una metodologıaalternativa para la obtencion de las expresiones de los distintos metodos respecto

Page 29: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

8 1. INTEGRACION

de la que desarrollaremos a continuacion, que se denomina “metodo de coeficientesindeterminados”

1.4.1. El metodo de coeficientes indeterminados. Para deducir los metodosbasicos de integracion numerica mediante este metodo reemplazamos la integral poruna suma finita ∫ b

a

f(x) dx 'N∑

i=1

wif(xi) (1.56)

donde los N puntos a ≤ xi ≤ b se eligen en forma conveniente (lo que dependera dela aplicacion particular) y los coeficientes wi (que son pesos en un sentido general)se consideran indeterminados al principio y resultan ser las variables que debemosdeterminar. Para ello se reemplaza en la expresion una familia conveniente de po-linomios de grado creciente y se utilizan las ecuaciones resultantes para determinarlos wi y, eventualmente, estimar los errores de aproximacion del metodo.

En una seccion posterior (ver 1.6 en la pagina 12) se generalizara este metodopara el caso en que se utilizan las ecuaciones para determinar tanto los wi como losxi.El metodo de coeficien-

tes indeterminados es

una alternativa frente alos metodos basados en

la aproximacion median-te polinomios

No se pierde generalidad si se considera que el intervalo de integracion es [a, b] =[−1, 1], o bien [a, b] = [−h, h] por ello realizaremos las cuentas en alguno de estosintervalos particulares puesto que ası las expresiones suelen simplificarse.

1.4.2. El metodo trapezoidal. Si utilizamos el producto Mathematica paraobtener los coeficientes las entradas y salidas podrıan ser

(* Trapezoidal *)

a0=a;a1=b; (* Defino los puntos *)

p0[x_]:=1; (* Defino los polinomios *)

p1[x_]:=(2x-a-b)/(b-a);

p2[x_]:=((2x-a-b)/(b-a))^2;

s0=A p0[a0] + B p0[a1]//Simplify (* Integraci\’on num\’erica *)

s1=A p1[a0] + B p1[a1]//Simplify; A + B

i0=Integrate[p0[x],{x,a,b}]//Simplify (* Integro los polinomios *)

i1=Integrate[p1[x],{x,a,b}]//Simplify;

-a + b

Solve[{s0==i0,s1==i1},{A,B}]//Simplify (* Resuelvo el sistema *)

-a + b -a + b

{{A -> ------, B -> ------}}

2 2

Se tiene, ademas, que el error ε1 para un paso h = b − a se puede escribir(utilizando la formula de interpolacion lineal o utilizando el error para el polinomiop2(x) del cuaderno de Mathematica precedente) como

ε1(f) = − (b− a)3

12f ′′(η), η ∈ [a, b] (1.57)

Page 30: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

1.4. METODOS BASICOS DE INTEGRACION NUMERICA 9

(Justificar), analogamente el εn correspondiente al paso h = (b− a)/n resulta

εn(f) =n∑

j=1

−h3

12f ′′(ηj)

= −h3n

121n

n∑j=1

f ′′(ηj) (1.58)

y, por la suavidad de f (∈ C∞[a, b]) se tiene que

∃η ∈ [a, b] : f ′′(η) =1n

n∑j=1

f ′′(ηj) (1.59)

en definitiva

εn(f) = − (b− a)h2

12f ′′(η) η ∈ [a, b] (1.60)

Si utilizamos la formula del teorema 1.3.1 podemos escribir

εn(f) = −B2h2

2!(f ′(b)− f ′(a)) +O(h4) (1.61)

−h2

12f ′′(ξ)(b− a) +O(h4), ξ ∈ [a, b] (1.62)

lo que nos da un resultado del mismo orden.A partir de la expresion 1.58 se puede seguir otra lınea deductiva: tomamos

lımite,

limn→∞

εn(f)h2

= limn→∞

− h

12

n∑j=1

f ′′(ηj)

(1.63)

= − 112

limn→∞

n∑j=1

f ′′(ηj)h

(1.64)

pero, en esta expresion, xj−1 ≤ ηj ≤ xj , j = 1, . . . , n con lo que la formula 1.64 esuna suma de Riemann, en consecuencia

limn→∞

εn(f)h2

= limn→∞

(− 1

12

∫ b

a

f ′′(x) dx

)= − 1

12(f ′(b)− f ′(a)) (1.65)

es decir que

εn(f) ' εn(f) ≡ −h2

12(f ′(b)− f ′(a)) (1.66)

εn(f) es una aproximacion al error asintotico lo que podemos establecer en la si-guiente definicion:

Definicion 1.4.1. Sean εn(f) y εn(f), el error exacto y una estimacion delerror respectivamente. Decimos que εn(f) es una estimacion asintotica del errorεn(f) si

limn→∞

εn(f)εn(f)

= 1 (1.67)

Page 31: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

10 1. INTEGRACION

Utilizando εn(f) es posible dar un metodo trapezoidal corregido TCh (f)

TCh (f) = Th(f) + εn(f) (1.68)

es decir

TCh (f) = h

(f02

+ f1 + f2 + . . .+ fn−1 +fn

2

)−h

2

12(f ′(b)− f ′(a)) (1.69)

Ejercicio 1.4.1. Estudiar el comportamiento numerico del metodo trapezoidalcorregido TC

h (f)

1.4.3. El metodo de Simpson. Utilizamos el producto Mathematica paradeterminar los coeficientes del metodo de Simpson (ver Apendice B, pagina 37)

Obtenemos

S

(b− a

2

)=b− a

6

(f(a) + 4f(

a+ b

2) + f(b)

)(1.70)

y un error de truncamiento

(b− a)5

2880f (4)(

a+ b

2) (1.71)

lo que equivale a

εt =

(b−a2

)590

f (4)(a+ b

2) (1.72)

En forma analoga al caso de metodo trapezoidal y utilizando las expresionesprecedentes se tiene que

ε2(f) = −4(

b−a2

)515

f (4)(η)24

, η ∈ [a, b] (1.73)

= −(b− a

2

)5 190f (4)(η), η ∈ [a, b] (1.74)

y

εn(f) = −h5(

n2

)90

2n

n2∑

j=1

f (4)(ηj)

= −h4(b− a)180

f (4)(η), η ∈ [a, b] (1.75)

y la formula asintotica

εn(f) = − h4

180(f (3)(b)− f (3)(a)) (1.76)

(Esta ultima tambien se obtiene a partir del desarrollo asintotico de Euler)

1.4.4. Metodos de Newton. En la seccion precedente hemos obtenido laformula del metodo de Simpson. La misma metodologıa se puede utilizar paracualquier eleccion de los puntos de la particion del intervalo de integracion. Porejemplo, si desearamos calcular los que corresponden a una particion regular deonce puntos, nuevamente utilizamos el producto Mathematica para obtener los co-eficientes (ver apendice B en pagina 37).

Estos metodos llevan el nombre de metodos de Newton, y en algunos textostambien el de formulas de Newton-Cotes.

Page 32: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

1.5. METODOS DE EXTRAPOLACION 11

1.5. Metodos de extrapolacion

En esta seccion utilizaremos la expresion que calculamos para el error en elmetodo trapezoidal para ejemplificar el uso de los metodos de extrapolacion repe-tida de Richardson.

Supongamos que b0 = I(0) es la integral que deseamos calcular y que, para elpaso h se tiene

I(h) = b0 + b1h2 + b2h

4 + b3h6 + . . . (1.77)

(formula que sabemos valida para el mencionado metodo trapezoidal). El error detruncamiento es

I(h)− b0 =n−1∑i=1

bih2i +O(h2n) (1.78)

de modo que, con 1.77 y

I(h

2) = b0 + b1

h2

4+ b2

h4

16+ b3

h6

64+ . . . (1.79)

se obtiene efectuando ‘4 por (1.79) − (1.77)’

4I(h

2)− I(h) = 3b0 −

34b2h

4 − 1516b3h

6 + . . . (1.80)

y, dividiendo por el coeficiente de b0

I(1)(h) = I(0)(h

2) +

I(0)(h2 )− I(0)(h)

3= b0 −

14b2h

4 − 516b3h

6 + . . . (1.81)

(ver la seccion C.2 en el apendice, donde se deducen estas expresiones con el Mat-hematica). El error de truncamiento es

I(1)(h)− b0 = −14b2h

4 − 516b3h

6 + . . . (1.82)

Si repetimos este calculo (ver C.2) se obtiene

I(0)(h) = I(h) (1.83)

I(1)(h) = I(0)(h

2) +

I(0)(h2 )− I(0)(h)22 − 1

(1.84)

I(2)(h) = I(1)(h

2) +

I(1)(h2 )− I(1)(h)24 − 1

(1.85)

... (1.86)

I(j+1)(h) = I(j)(h

2) +

I(j)(h2 )− I(j)(h)

22j+2 − 1(1.87)

y, en general,I(j)(h) = b0 +O(h2j+2) (1.88)

El esquema resultante es que cada elemento de la segunda columna se obtienecon los dos inmediatos a su izquierda, cada vez que se calcula una aproximacioncon paso mas fino se puede calcular una antidiagonal de la tabla, y, por ultimo, elcriterio de detencion es que dos valores en la misma columna difieran en menos queun valor de tolerancia preestablecido.

Page 33: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

12 1. INTEGRACION

Tabla 1. Extrapolacion de Richardson (Metodo de Romberg)

I(0)(h) I(1)(h) I(2)(h) I(3)(h) I(4)(h) . . .

I(0)(h2 ) I(1)(h

2 ) I(2)(h2 ) I(3)(h

2 ) . . .

I(0)(h4 ) I(1)(h

4 ) I(2)(h4 ) . . .

I(0)(h8 ) I(1)(h

8 ) . . .

I(0)( h16 ) . . .

...

1.6. Cuadratura de Gauß

La expresion aproximadaN∑

i=1

wif(xi) (1.89)

para la integral∫ b

af(x) dx es mucho mas util si no se escogen de antemano los

puntos xi. El problema de hallar los puntos y los pesos de modo que la expresionsea exacta para polinomios del mayor grado posible es resoluble y conduce a losmetodos de integracion de Gauß.

En el apendice B (pagina 37) incluimos un cuaderno del Mathematica quecalcula los coeficientes para un metodo de Gauß de tres puntos (se realiza en elintervalo [−1, 1], pero un simple cambio de variables permite extenderlo a cualquierintervalo [a, b])

Es conveniente, si embargo, atacar el problema de cuadratura en un contextoun poco mas general.

Sea v una funcion de peso positiva en el intervalo [−1, 1], si x0, x1, . . . , xm seeligen como los ceros del polinomio pm+1 de grado m+1 en la familia de polinomiosortogonales asociada a v(x), entonces la formula∫ 1

−1

f(x)v(x) dx ' w0f0 + w1f1 + . . .+ wmfm (1.90)

es exacta para todos los polinomios de orden 2m + 2 siempre que los coeficientesLa inclusion de la fun-cion peso v facilita con-

siderar distintas familias

de polinomios ortogona-les

satisfagan

wi =∫ 1

−1

δi(x)v(x) dx (1.91)

donde δi(x) es el polinomio de grado m (orden m+ 1) tal que

δi(xj) ={

0 j 6= i1 j = i

j = 0, 1, 2, . . . ,m (1.92)

Para verificar esta afirmacion tomemos un polinomio f de orden 2m + 2, existenentonces polinomios q y r de orden m+ 1 tales que

f = qpm+1 + r (1.93)

Page 34: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

1.7. METODOS DE MONTECARLO 13

Por lo tanto, debido a la ortogonalidad de la familia {pi}∫ 1

−1

f(x)v(x) dx =∫ 1

−1

q(x)pm+1(x)v(x) dx+∫ 1

−1

r(x)v(x) dx =∫ 1

−1

r(x)v(x) dx

(1.94)Asimismo, dado que xi es un cero de pm+1, i = 0, 1, . . . ,m, se tiene

m∑i=0

wifi =m∑

i=0

wiq(xi)pm+1(xi) +m∑

i=0

wir(xi) =m∑

i=0

wir(xi) (1.95)

pero, tambien se tiene ∫ 1

−1

r(x)v(x) dx =m∑

i=0

wir(xi) (1.96)

porque los coeficientes wi fueron elegidos de modo que la formula sea exacta paratodos los polinomios de grado m o menor (orden m+ 1)

Observacion 1.6.1. Aplicando la formula 1.90 al caso f(x) = (δi(x))2 se tiene(fj = 0 para j 6= i) ∫ 1

−1

(δi(x))2v(x) dx = wi (1.97)

por lo que los coeficientes wi en las formulas de cuadratura de Gauß son positivos.

Observacion 1.6.2. Para obtener los coeficientes se toman los xi como losceros de los polinomios del orden deseado y se utiliza un calculador simbolico comoel Mathematica para obtener los coeficientes y para estimar el error de trunca-miento local. En diversos manuales de formulas matematicas figuran los puntos ycoeficientes de Gauß para distintas familias de polinomios y distintos ordenes.

El analisis del error puede desarrollarse en forma analoga a los casos conside-rados previamente, por ello dejamos los detalles para el lector interesado.

1.7. Metodos de Montecarlo

En esta seccion consideramos un metodo conceptualmente distinto, respecto delos anteriormente presentados, para obtener aproximaciones a las integrales∫ b

a

f(x) dx (1.98)

Suponemos que se posee una definicion de la funcion f , por ejemplo en unm-file de Matlabfunction y = mifun(x)

% MIFUN define mi funci\’on

[mx,nx]=size(x)

if (mx == 1) & (nx == 1)

y = 2 * x;

else

disp(’error’);

end % if

o, tambien, si la funcion esta dada por N puntos en un tabla mif de N × 2 dondemix=mif(:,1) y miy=mif(:,2), se la calcula, por ejemplo, mediante y=spline(mix,miy,x)o bien y=interp1(mix,miy,x) segun se desee.

Page 35: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

14 1. INTEGRACION

Para la funcion f se determinan

Mf = supa≤x≤b

f(x) (1.99)

ymf = inf

a≤x≤bf(x) (1.100)

(en realidad basta que se tomen cotas superior e inferior respectivamente). Elmetodo se aplica entonces a la funcion f(x) = f(x)−mf que resulta no negativa ycon su grafico contenido en el rectangulo R = [a, b]× [0,Mf −mf ], y consiste en losiguiente. Se hallan P puntos al azar en el rectangulo R y se determina el numeroLa funcion rand permi-

te obtener puntos al azaren un dominio

Pf de los que se encuentran en el area que deseamos aproximar. A continuacion secalcula la estimacion del area mediante la expresion

(b− a)(

(Mf −mf)Pf

P+mf

)(1.101)

En la seccion C.3 incluimos ejemplos de integrales de Montecarlo.Este metodo no suele ser utilizado para el caso de areas puesto que existen

buenos metodos de cuadratura (como los ya estudiados), sin embargo, el caso delos volumenes o hipervolumenes es distinto. Supongamos que se desea conocer elvolumen de la interseccion de 5 cuerpos que se cortan en el espacio Euclıdeo tridi-mensional, y que ademas, se desea distinguir la parte de la interseccion que perte-nece a un sexto cuerpo de aquella que no esta contenida en el mismo. El intento deobtener la integral por metodos clasicos o numericos puede ser de una complejidadexcesiva aun para casos de cuerpos definidos por ecuaciones muy simples. El usodel metodo de Montecarlo permite superar estas dificultades.

1.7.1. Determinacion de un volumen. En esta seccion calcularemos el vo-lumen del solido que resulta de la interseccion, en el primer octante, de los cilindros

x2 + z2 = 1 (1.102)y

y2 + (z − 12)2 = 1 (1.103)

En primer termino atacamos el problema con Matlab, a continuacion desarro-llamos un cuaderno del Mathematica en el que obtenemos una solucion similar para‘verificar’.% MONTEK volumen por m\’etodo de Montecarlo

% C.E.Neuman, 11-may-97

rand(’seed’,sum(100*clock)); % inicializa el generador de n\’umeros al azar

scores=[]; % en esta variable se acumulan los resultados

NN=20; % da el numero de cubitos por lado

N=NN^4; % da el numero total de puntos

h=1/NN; % da el paso (dimension del cubito)

for indice=1:10,

X=zeros(N,3);

for i=1:NN, % construcci\’on de los puntos al azar

Page 36: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

1.7. METODOS DE MONTECARLO 15

im1=i-1; % en cada cubito

for j=1:NN,

jm1=j-1;

for k=1:NN,

km1=k-1;

ps = rand(NN,3);

ini=im1*NN*NN*NN+jm1*NN*NN+km1*NN+1;

fin=ini-1+NN;

X(ini:fin,:) = [ps(:,1)+i-1 ps(:,2)+j-1 ps(:,3)+k-1]*h;

end % rof

end % rof

disp(i);

end % rof

x=X(:,1);

y=X(:,2); % asignaci\’on de coordenadas al azar

z=X(:,3);

%%% la siguiente variable calcula los valores de las funciones

%%% de corte para las variables:

TEST=[y.*y+4*(z-0.5).*(z-0.5) x.*x+z.*z];

%%% en I se seleccionan los \’{\i}ndices correspondientes a puntos

%%% contenidos en el volumen que se desea medir (intersecci\’on

%%% de los dos cuerpos definidos por las expresiones de TEST)

I=find( (TEST(:,1)<=1) & (TEST(:,2)<=1) );

[mI,nI]=size(I);

scores=[scores; mI/N]; % acumulaci\’on del resultado

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);

% Salidas del programa precedente

%mime =

% 0.6352

%mide =

% 3.8221e-004

%mimeord =

% 0.6352

%mideord =

% 4.0451e-004

%scores =

% 0.6349

% 0.6347

% 0.6356

% 0.6356

% 0.6347

% 0.6356

Page 37: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

16 1. INTEGRACION

% 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 *)

(* Determino el l\’{\i}mite de separaci\’on *)

Solve[4(1-x^2)==(1+Sqrt[1-y^2])^2,y]

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 ]]},

2 2

{y -> Sqrt[-4 + 4 x + 4 Sqrt[1 - x ]]}}

(* Defino el l\’{\i}mite de integraci\’on *) f[x_]:=Sqrt[-4+4x

x+4Sqrt[1-x x]]

(* Determino el punto de separaci\’on *) Solve[f[x]==1,x]

-Sqrt[3] -Sqrt[3] Sqrt[3]

{{x -> --------}, {x -> --------}, {x -> -------},

2 2 2

Sqrt[3]

{x -> -------}}

2

(* Defino el punto de separaci\’on *) c=Sqrt[3]/2 Sqrt[3]

-------

2

(* Defino los extremos de integraci\’on *)

geu[x_,y_]:=(1/2)(1+Sqrt[1-y y]) ged[x_,y_]:=(1/2)(1-Sqrt[1-y y])

fcu[x_,y_]:=Sqrt[1-x x]

(* Calculo las integrales en forma num\’erica *)

I1=NIntegrate[1,{x,0,c},{y,f[x],1},{z,ged[x,y],geu[x,y]}]

I2=NIntegrate[1,{x,0,c},{y,0,f[x]},{z,ged[x,y],fcu[x,y]}]

I3=NIntegrate[1,{x,c,1},{y,0,f[x]},{z,ged[x,y],fcu[x,y]}] I1+I2+I3

0.244751 0.358503 0.0320788 0.635332 (* valor de la integral

*)

1.8. Metodos adaptativos

En el ultimo apendice (F, pagina 75) se propone un laboratorio de Matematicaorientado a estudiar algoritmos adaptativos para la integracion numerica.

En la seccion C.4, en la pagina 53, se incluye —para ilustracion— el codigode una funcion de Matlab, adaptada de la denominada quad, que implementa unalgoritmo adaptativo recursivo de bajo orden basado en el metodo de Simpson. La

Page 38: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

1.9. EJERCICIOS 17

funcion miquad es en realidad un driver que llama a la verdadera funcion recursivaque se denomina miquadst la que realiza cada paso de la recursion.

1.8.1. Comparacion entre NIntegrate y quad. Calculamos el area bajola curva normal, que puede encontrarse en cualquier tabla estadıstica, utilizandolas funciones NIntegrate del Mathematica y quad de Matlab. La primera da (losresultados de medicion de tiempos se expresan en segundos)(* Calculo con el Mathematica *)

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 funcion que se deseaintegrar:function y=nintquad(x)

% NINTQUAD Densidad normal

%%% C.E.Neuman, 10 de mayo de 1997

y=(1/sqrt(2*pi))*exp(-x.^2/2);

% fin de nintquad

La salida y la medicion del tiempo empleado con Matlab esSalidas 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 medicion, —la que, al margen, no es muy precisa,—parece que la primera metodologıa es mas eficiente que la segunda.

1.9. Ejercicios

Ejercicio 1.9.1. Utilizar el metodo de Romberg para calcular la integral∫ 4

0

f(x) dx (1.104)

Page 39: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

18 1. INTEGRACION

donde f(x) esta definida por la siguiente tabla:

x 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

f(x) −4271 −2522 −499 1795 4358 7187 10279 13633 17247

¿Son necesarios todos los valores?

Ejercicio 1.9.2. Probar que la formula∫ 1

−1

f(x) dx ' 19

[5f

(−√

35

)+ 8f(0) + 5f

(√35

)](1.105)

es exacta para polinomios de quinto grado, y aplicarlo al calculo de∫ 1

0

sinx1 + x

dx (1.106)

Ejercicio 1.9.3. (a) Deducir una formula de integracion de Gauß de dospuntos para integrales de la forma∫ 1

−1

f(x)(1 + x2) dx (1.107)

que sea exacta cuando f(x) es un polinomio de grado 3.(b) Aplicar la formula a f(x) = x4. Usar el resultado para obtener una

aproximacion del resto.

Ejercicio 1.9.4. Supongamos que una integral numericamente aproximada serepresenta mediante el sımbolo In donde n es el numero de subdivisiones del inter-valo de integracion. Si se calculan los valores de In para algun metodo numerico,analizar en forma empırica la velocidad de convergencia de In a I (el valor de laintegral calculada exactamente) mediante los cocientes

Rn =I2n − InI4n − I2n

(1.108)

Dar ejemplos y explicar los resultados.

Ejercicio 1.9.5. [Optativo] Considerar el conjunto S1 de funciones definidasen el intervalo [a, b] de la siguiente forma. Sea n > 0, h = (b−a)/n, tj = a+jh, paraj = 0, 1, . . . , n. Sea f(x) definida por la propiedad de ser lineal en cada subintervalo[tj−1, tj ], para j = 1, . . . , n. Mostrar que este conjunto de funciones f , para todon ≥ 1, es denso en el conjunto C[a, b] de funciones continuas en el intervalo [a, b].

Ejercicio 1.9.6. Obtener formulas de integracion de Gauß para

I =∫ 1

0

xf(x) dx 'n∑

j=1

wjf(xj) (1.109)

con funcion peso w(x) = x

Ejercicio 1.9.7. Considerar la siguiente tabla de integrales aproximadas Inobtenidas mediante la regla de Simpson. Predecir el orden de convergencia de lasucesion de In a la integral I:

Page 40: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

1.9. EJERCICIOS 19

n In

2 0.284517796864 0.285592545768 0.28570248748

16 0.2857131773132 0.2857141836364 0.28571427643

Es decir que, si I − In ' c/np, entonces, ¿cuanto vale p? El resultado ¿resulta seruna forma valida para el error de estos datos? Predecir un valor de c y del error enI64. ¿Que valor de n es necesario alcanzar para que el error en In sea menor que10−11?

Ejercicio 1.9.8. Denotamos ITn a la regla trapezoidal para aproximar la inte-

gral∫ b

af(x) dx, y, analogamente, IM

n para la formula de ‘midpoint’. Los respectivoserrores asintoticos —en el caso en que f sea suficientemente regular en [a, b],— son

I − ITn = −h

2

12[f ′(b)− f ′(a)] +O(h4) (1.110)

y

I − IMn =

h2

24[f ′(b)− f ′(a)] +O(h4) (1.111)

Utilizar estos resultados para obtener un nuevo metodo numerico, In, con ordende convergencia mayor, combinando IT

n y IMn . ¿Cuales son los pesos de la nueva

formula In?

Page 41: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)
Page 42: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

CAPıTULO 2

Ecuaciones diferenciales

2.1. Introduccion

Decimos que la ecuacion diferencial ordinaria

y′ = f(x, y) (2.1)

en una funcion incognita y, con f(x, y) funcion continua en un dominio D delplano, tiene una solucion y(x) en un intervalo x0 ≤ x ≤ x1, si y(x) es una fuciondiferenciable, (x, y(x)) esta en el dominio D para cada x del intervalo [x0, x1] y,ademas, y′(x) = f(x, y(x)) en [x0, x1].

Desde el punto de vista geometrico podemos considerar que la ecuacion y′ =f(x, y) define un campo continuo de direcciones sobre D. Y que las funcionessolucion son tangentes a esas direcciones (en cada punto del dominio). El campo de direcciones

permite estimargraficamente las

trayectorias

6

-0

y

x1 2 3

1

2

3

@ AA

BB

AA

CC

EE

BB

EE

@ AA

BB

AA

CC

EE

BB

EE

r r rr r rr r

Figura 1. Campo de direcciones de f(x, y) = −xy

Ejemplo 2.1.1. Sea la ecuacion diferencial y′ = −xy, entonces y′/y = −x y esposible integrar ambos miembros obteniendo log y = −x2/2 + C ′, expresion de laque tomando la exponencial de ambos miembros se deduce la solucion general

y(x) = Ce−x2/2 (2.2)

de la ecuacion diferencial. En la figura 1 esquematizamos el campo de direccionesdefinido por f(x, y) = −xy. (En cada punto (x, y) dibujamos un pequeno segmentoen la direccion de la recta por el punto con pendiente −xy.)

Una solucionε-aproximada difiere

casi uniformemente dela solucion en menos de

ε

21

Page 43: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

22 2. ECUACIONES DIFERENCIALES

Definicion 2.1.1. Sea f(x, y) una funcion continua definida en el dominio D.Una funcion y(x), definida en el intervalo [x1, x2], es una solucion (aproximada) dey′ = f(x, y) con error menor que ε si

(i) (x, y(x)) ∈ D, x1 ≤ x ≤ x2

(ii) y(x) es continua en [x1, x2](iii) y(x) tiene derivada continua a trozos en [x1, x2] que puede no estar defi-

nida en un numero finito de puntos del intervalo [x1, x2], llamemoslos ξ1,ξ2, . . ., ξn

(iv) |y′(x)− f(x, y(x))| ≤ ε, x1 ≤ x ≤ x2, x 6= ξi, i = 1, 2, . . . , n.

Una vez definidas las soluciones aproximadas de una ecuacion diferencial de-seamos demostrar un resultado de existencia de las mismas que, ademas, resultaconstructivo, puesto que nos da un metodo para obtener la aproximacion

Teorema 2.1.1. Sea (x0, y0) un punto del dominio D (de la definicion 2.1.1)y supongamos que el rectangulo R = {|x− x0| ≤ a, |y − y0| ≤ b} esta contenido enD. Sea |f(x, y)| ≤M , (x, y) ∈ R. Entonces, si h = min(a, b/M), puede construirseuna solucion aproximada y(x) de y′ = f(x, y) en el intervalo |x − x0| ≤ h, tal quey(x0) = y0, donde el error ε puede ser un numero positivo arbitrariamente pequeno.Notar que h es independiente de ε.

SR

αO

P

Qh -�

Mh

?

6(x0, y0)(x0 + h, y0)#

#########

cccccccccc

!!!s

(x1, y1)""""

Figura 2. El rectangulo S esta contenido en el R

Demostracion: El rectangulo S = {|x − x0| ≤ h, |y − y0| ≤ Mh} esta contenidoen R por la definicion de h (ver la figura 2). Supongamos dado el ε del teorema.Como f(x, y) es continua en S, resulta uniformemente continua en S; es decir que,dado ε > 0 (que lo tomamos como el del teorema) existe δ > 0 tal que si |x−x| ≤ δy |y − y| ≤ δ con (x, y) ∈ S y (x, y) ∈ S, entonces

|f(x, y)− f(x, y)| ≤ ε (2.3)

Sea x1, . . . , xn−1 un conjunto de puntos tales que: x0 < x1 < x2 < · · · <xn−1 < xn = x0 + h, y

xi − xi−1 ≤ min(δ, δ/M), i = 1, . . . , n (2.4)

Page 44: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

2.2. METODOS EN DIFERENCIAS DE UN PASO 23

Construiremos la solucion aproximada en el intervalo x0 ≤ x ≤ x0 + h; unproceso similar permite definirla en el intervalo x0 − h ≤ x ≤ x0.

La solucion aproximada sera una poligonal construida de la siguiente manera:desde (x0, y0) se dibuja un segmento hacia la derecha con pendiente f(x0, y0), estecorta la recta x = x1 en un punto (x1, y1). Desde (x1, y1) se dibuja un segmentohacia la derecha con pendiente f(x1, y1), que corta la recta x = x2 en y2; etc. Elpunto (x1, y1) debe pertenecer al triangulo OQP de la figura 2 porque el angulo αse toma de modo que tanα = M , y |f(x0, y0)| ≤M . Por motivos analogos (x2, y2)tambien esta en OQP ; etc. En consecuencia el proceso puede continuarse hastaxn = x0 + h, porque la unica razon por la que podrıa detenerse serıa que f(xk, yk)no estuviese definida, caso en el que se tendrıa |yk−y0| > Mh lo que serıa contrarioa la construccion. Podemos definir y(x) por las formulas recursivas

y(x) = yi−1 + (x− xi−1)f(xi−1, y(xi−1)) (2.5)

dondeyi−1 = y(xi−1), xi−1 ≤ x ≤ xi, i = 1, . . . , n (2.6)

Por su definicion y(x) es admisible, continua, y tiene derivada continua a trozos

y′(x) = f(xi−1, y(xi−1), xi−1 < x < xi, i = 1, . . . , n (2.7)

que no esta definida solamente en los puntos xi, i = 1, . . . , n − 1. Ademas, sixi−1 < x < xi

|y′(x)− f(x, y(x))| = |f(xi−1, yi−1)− f(x, y(x))| (2.8)

Pero, por 2.4 |x− xi−1| < min(δ, δ/M), y, por 2.5

|y − yi−1| ≤M |x− xi−1| ≤Mδ

M= δ (2.9)

En consecuencia, por 2.3

|f(xi−1, yi−1)− f(x, y(x))| ≤ ε (2.10)

y|y′(x)− f(x, y(x))| ≤ ε, x 6= xi, i = 1, 2, . . . , n− 1 (2.11)

Resulta ası que y(x) satisface todas las condiciones de la definicion previa y laconstruccion requerida por el teorema ha sido completada.(ver apendice H)

Este metodo de construir una solucion aproximada se conoce como metodo deEuler. Es innecesario mejorar el valor del h del teorema porque, en general, sepuede demostrar que y(x) esta definida en un intervalo mayor que |x− x0| ≤ h.

2.2. Metodos en diferencias de un paso

2.2.1. Metodos de Euler y retroEuler. El metodo de Euler para la reso-lucion aproximada de la ecuacion diferencial{

y′ = f(x, y)y(x0) = y0

(2.12)

se puede formular ası: Metodo de Euler

yn+1 = yn + hf(xn, yn), n ≥ 0 (2.13)

donde h es de ahora en adelante el paso del metodo en estudio.

Page 45: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

24 2. ECUACIONES DIFERENCIALES

En cada paso se cambia de miembro de la familia de soluciones de la ecuaciondiferencial, de manera que la precision del metodo debera depender de la estabi-lidad de las ecuaciones. Si las ecuaciones son estables, los errores en los primerospasos tendran pequeno efecto posterior. Definimos provisoriamente la nocion deestabilidad de un metodo numerico en funcion de su comportamiento para resolverla ecuacion diferencial y′ = λy con λ un numero complejo. La region de estabilidadabsoluta es entonces el subconjunto de puntos hλ del plano complejo con h ≥ 0 paralos que una perturbacion en un unico valor yn produce una sucesion de cambios enlos siguientes valores que no crecen de paso a paso.Estabilidad del metodo

de EulerEjemplo 2.2.1. Para el metodo de Euler se tiene

yn+1 = yn + λhyn = (1 + λh)yn (2.14)

de modo que este metodo es absolutamente estable en la region |1 +λh| ≤ 1 que esel cırculo unitario del plano complejo centrado en el punto (−1, 0).

Ejemplo 2.2.2. El metodo de Euler aplicado a la ecuacion del ejemplo 2.1.1resulta ser

yn+1 = yn − hxnyn = (1− hxn)yn (2.15)

El metodo de Euler puede obtenerse tambien del siguiente razonamiento. Sereemplaza la derivada y′ en la ecuacion

y′(x) = f(x, y) (2.16)

por un cociente de incrementos en (xn, yn) para obtener

yn+1 − yn

h= f(xn, yn) (2.17)

resultando el metodo al despejar la ecuacion para yn+1. Si, en cambio, se utiliza elmismo cociente, pero en (xn+1, yn+1), se obtiene

yn+1 − yn

h= f(xn+1, yn+1) (2.18)

lo que conduce al metodo denominado “retroEuler” (backward Euler)Metodo de retroEuler

yn+1 = yn + hf(xn+1, yn+1) (2.19)

que tiene la caracterıstica especial de ser implıcito y requiere la solucion de unaecuacion en cada paso.

Ejemplo 2.2.3. Para el metodo retroEuler se tiene

yn+1 = yn + λhyn+1 (2.20)

es decir que luego de despejar yn+1

yn+1 =1

1− λhyn (2.21)

de modo que este metodo es absolutamente estable en la region |1/(1 − λh)| ≤ 1valida en el semiplano de partes reales no positivas del plano complejo.

Estabilidad del metodo

retroEuler

Page 46: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

2.2. METODOS EN DIFERENCIAS DE UN PASO 25

Ejemplo 2.2.4. El metodo retroEuler aplicado a la ecuacion del ejemplo 2.1.1resulta ser

yn+1 = yn − hxn+1yn+1 (2.22)

es decir

yn+1 =1

(1 + hxn+1)yn (2.23)

2.2.2. Metodos de Runge–Kutta. Nuestro siguiente objetivo es generalizarel metodo de Euler utilizando los desarrollos en polinomios de Taylor pero limitandolo mas posible el calculo de derivadas de las funciones involucradas. Recordemosque en este metodo se puede escribir

yh(x) = y(x) + hD(x) +O(h2) (2.24)

y que para el paso mitad

yh/2(x) = y(x) + (h/2)D(x) +O(h2) (2.25)

(¿porque?) y que aplicando la extrapolacion (de Richardson) para eliminar D(x)

y(x) = 2yh/2(x)− yh(x) +O(h2) (2.26)

Apliquemosla a un paso de longitud h, se tiene

yh(xn + h) = yn + hf(xn, yn) (2.27)

y para medio paso

yh/2(xn + (h/2)) = yn + (h/2)f(xn, yn) (2.28)

en consecuencia

yh/2(xn + h) = yn + (h/2)f(xn, yn)+(h/2)f(xn + (h/2), yn + (h/2)f(xn, yn)) (2.29)

luego, aplicando la extrapolacion,

y(xn+1) = 2yn + hf(xn, yn) + hf(xn + (h/2), yn + (h/2)f(xn, yn))−yn − hf(xn, yn) +O(h2) (2.30)

y simplificando

yn+1 = yn + hf(xn + (h/2), yn + (h/2)f(xn, yn)) (2.31)

En definitiva, podemos escribir

yn+1 = yn + hϕ(xn, yn, h; f) (2.32)

con Primera formula deRungeϕ(x, y, h; f) = f(x+ (h/2), y + (h/2)f(x, y)) (2.33)

¿En que consiste esta primera formula de Runge en forma grafica?En la figura 3 representamos el efecto de aplicar la primera formula de Runge

en el paso de xn a xn+1.Notemos que para el metodo de Euler se puede definir en forma analoga ϕ(x, y, h; f) =

f(x, y).

Ejercicio 2.2.5. ¿Es posible expresar en esta notacion el metodo de retroEu-ler?

Page 47: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

26 2. ECUACIONES DIFERENCIALES

6

-0

y

xxn xn+1

�����

Runge 10

Eulerr

r un(xn+1)r

Figura 3. Primer metodo de Runge

Para estudiar la estabilidad aplicamos la formula a la ecuacion y′ = λy. Setiene yn+1 = yn + hλ(yn + (h/2)λyn) = yn(1 + hλ+ 1

2h2λ2) razon por la cual debe

tenerse que |1 + hλ+ 12h

2λ2| ≤ 1. Estabilidad de la

primera formula deRunge

Este primer metodo de Runge es generalizacion del de Euler. Aunque existenotras posibles generalizaciones, por ejemplo utilizando series de potencias, el pro-blema es que hay que derivar la funcion f . La idea de Runge fue dar formulas quese originan en tomar combinaciones de valores de f(x, y) en puntos adecuadamenteelegidos para obtener, sin derivaciones, expresiones cuyos desarrollos coincidan ensus primeros terminos con la serie de potencias desarrollada en el entorno del punto.Esas formulas fueron mejoradas por Heun y por Kutta.

Llamaremos metodo de Runge-Kutta (RK) a

yn+1 = yn + hϕ(xn, yn, h; f), n ≥ 0 (RK) (2.34)

y en lo que sigue determinaremos diversas elecciones para ϕ. Es natural esperarque ϕ(x, y(x), h; f) ' y′(x) = f(x, y(x)) si h es pequeno. El error de truncamientolocal es en este metodo

εn+1(y) = y(xn+1)− y(xn)− hϕ(xn, y(xn), h; f), n ≥ 0 (2.35)

♣ Ilustremos la deduccion de distintas ϕ en el caso de segundo orden de aproxima-cion. La propuesta es

ϕ(x, y, h; f) = γ1f(x, y) + γ2f(x+ αh, y + βhf(x, y)) (2.36)

donde deben determinarse las constantes γ1, γ2, α, y β. Para ello desarrollemos elerror de truncamiento local en este metodo

εn+1(y) = Y (xn+1)− Y (xn)− hϕ(xn, Y (xn), h; f), n ≥ 0 (2.37)

en potencias de h

εn+1(y) = hY ′n +h2

2Y ′′n +

h3

6Y ′′′n +O(h4)− hϕ(xn, Yn, h; f) (2.38)

Page 48: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

2.2. METODOS EN DIFERENCIAS DE UN PASO 27

donde (la notacion fx significa ∂f/∂x y analogamente para las derivadas parcialesde orden superior)

y′ = f (2.39)y′′ = fx + fyy

′ = fx + fyf (2.40)y′′′ = fxx + fxyf + (fyx + fyyf)f + fy(fx + fyf) (2.41)

= fxx + 2fxyf + fyyf2 + fyfx + f2

y f (2.42)

y

ϕ(x, y, h; f) = γ1f(x, y) + γ2(f(x, y) + h(αfx + βffy)

+h2(12α2fxx + αβfxyf +

12β2fyyf

2)) +O(h3) (2.43)

Sustituyendo y agrupando terminos en potencias de h se obtiene

εn+1 = h(1− γ1 − γ2)f + h2((12− γ2α)fx + (

12− γ2β)ffy)

+h3((16− 1

2γ2α

2)fxx + (13− γ2αβ)ffxy + (

16− 1

2γ2β

2)f2fyy

+16fyfx +

16f2

y f) +O(h3) (2.44)

todo evaluado en (xn, Yn). Deseamos que εn+1(y) converja a cero tan rapido comose pueda. Aceptando f arbitrarias no podremos, en general, anular el coeficientede h3 (¿porque?). Anulando los de h y h2 obtenemos

εn+1(y) = O(h3), γ1 + γ2 = 1, γ2α =12, γ2β =

12

(2.45)

cuya solucion general es

γ2 arbitrario (2.46)γ1 = 1− γ2 (2.47)

α = β =1

2γ2(2.48)

Consideremos algunos casos particulares(a) γ2 = 1, lo que implica γ1 = 0, α = β = 1

2

⇒ ϕ(x, y, h; f) = f(x+h

2, y +

h

2f(x, y)) (2.49)

(b) γ2 = 12 , lo que implica γ1 = 1

2 , α = β = 1

⇒ ϕ(x, y, h; f) =12f(x, y) +

12f(x+ h, y + hf(x, y)) (2.50)

Notemos que si definimos

k1 = hf(x, y) (2.51)k2 = hf(x+ h, y + k1) (2.52)

se tiene Segunda formula deRungehϕ =

12(k1 + k2) (2.53)

Runge noto que este metodo puede mejorarse definiendo

k3 = hf(x+ h, y + k2) (2.54)

Page 49: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

28 2. ECUACIONES DIFERENCIALES

6

-0

y

xxn xn+1

�����

��

��

��

��

��

��

��

��

��

��

d

d

Runge 2a

Euler

r

r

un(xn+1)r

Figura 4. Segunda formula de Runge

y tomando

hϕ =12(k1 + k3) (2.55)

que es la segunda formula de Runge (ver figura 4).(c) (primer orden) γ1 = 1, lo que implica γ2 = 0, se obtiene en consecuencia

ϕ(x, y, h; f) = f(x, y) (Euler) (2.56)

♣Las formulas de mayor orden involucran un algebra mas complicada, para ello

se suele proponer

hϕ(x, y, h; f) =p∑

i=1

γiki (2.57)

con

k1 = hf(x, y) (2.58)k2 = hf(x+ α2h, y + β21k1) (2.59)

...

ki = hf(x+ αih, y +i−1∑j=1

βijkj) i = 1, . . . , p (2.60)

Los coeficientes se pueden escoger de modo que los primeros terminos en el errorde truncamiento local sean nulos. En consecuencia, por un procedimiento analogoal realizado en el caso de segundo orden se obtienen diversos metodos de ordensuperior de los que el mas utilizado es el llamado Metodo de Runge-KuttaMetodo clasico de

Runge-Kutta

yn+1 = yn +16(k1 + 2k2 + 2k3 + k4) (2.61)

Page 50: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

2.2. METODOS EN DIFERENCIAS DE UN PASO 29

con

k1 = hf(xn, yn) (2.62)

k2 = hf(xn +h

2, yn +

k1

2) (2.63)

k3 = hf(xn +h

2, yn +

k2

2) (2.64)

k4 = hf(xn + h, yn + k3) (2.65)

6

-0

y

xxn xn+1

�����

��

��

��

RK

Euler

r

run(xn+1)

r

Figura 5. El metodo de Runge-Kutta

Se puede demostrar que esta es una formula de cuarto orden: εn+1 = O(h5). El metodo clasico de

Runge-Kutta generalizael metodo de SimpsonObservacion 2.2.1. El metodo RK clasico es una generalizacion de la regla

de Simpson en el caso que f no sea independiente de y∫ xn+1

xn

f(x)dx ' h

6(f(xn) + 4f(xn +

h

2+ f(xn+1)) (2.66)

Ejemplo 2.2.6. Apliquemos el metodo clasico de RK a la ecuacion de pruebay′ = λy

k1 = hλyn (2.67)

k2 = hλ(yn +12hλyn) (2.68)

= hλyn +12h2λ2yn (2.69)

k3 = hλ(yn +12(hλyn +

12h2λ2yn)) (2.70)

= hλyn +12h2λ2yn +

14h3λ3yn (2.71)

k4 = hλ(yn + hλyn +12h2λ2yn + 1

14h3λ3yn) (2.72)

= hλyn + h2λ2yn +12h3λ3yn +

14h4λ4yn) (2.73)

Page 51: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

30 2. ECUACIONES DIFERENCIALES

de manera que

yn +16(k1 + 2k2 + 2k3 + k4) = yn

+16(6hλyn + 3h2λ2yn + h3λ3yn +

14h4λ4yn) (2.74)

lo que permite escribir en definitiva

yn+1 = yn(1 + hλ+12h2λ2 +

16h3λ3 +

124h4λ4) (2.75)

vemos ası que se aproxima a ehλ hasta el cuarto orden.

Ejercicio 2.2.7. [Optativo] Con la expresion 2.75 se puede dibujar la regionde 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 expresion

ε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

τn+1(Y ) =Y (xn+1)− Y (xn)

h− ϕ(xn, Y (xn), h; f) (2.80)

de modo que debe tenerse τn+1(Y ) → 0 cuando h → 0, equivalentemente deberequerirse que ϕ(x, Y (x), h; f) → Y ′(x) = f(x, Y (x)) cuando h→ 0.

Definiendoδ(h) = max

x0≤x≤b−∞<y<∞

|f(x, y)− ϕ(x, y, h; f)| (2.81)

se tiene que limh→0 δ(h) = 0 se denomina condicion de consistencia para el metodo2.76 y es suficiente para asegurar la convergencia si se tienen ciertas hipotesis paraϕ, a saber: ϕ continua y

|ϕ(x, y, h; f)− ϕ(x, y, h; f)| ≤ L|y − y|, x0 ≤ x ≤ b, −∞ < y, y <∞ (2.82)

(funcion de Lipschitz en la variable y)

Teorema 2.2.2. Supongamos que el metodo 2.76 dado por

yn+1 = yn + hϕ(xn, yn, h; f) (2.83)

satisface la condicion |ϕ(x, y, h; f)−ϕ(x, y, h; f)| ≤ L|y− y| con x0 ≤ x ≤ b −∞ <y, y < ∞, L constante. Entonces la solucion aproximada {yn} del problema devalores iniciales y′ = f(x, y), y(x0) = y0 satisface

maxx0≤xn≤b

|Y (xn)− yn| ≤ e(b−x0)L|Y0 − y0|+e(b−x0)L − 1

Lτ(h) (2.84)

Page 52: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

2.2. METODOS EN DIFERENCIAS DE UN PASO 31

donde τ(h) = maxx0≤xn≤b |τn+1(Y )|. Si se satisface la condicion de consistencia

δ(h) = maxx0≤x≤b−∞<y<∞

|f(x, y)− ϕ(x, y, h; f)| −→ 0 para h→ 0 (2.85)

entonces la solucion numerica {yn} converge a Y (x)

Demostracion: Restamos (2.79)−(2.76)

Y (xn+1)− yn+1 = Y (xn)− yn + h(ϕ(xn, Y (xn), h; f)−ϕ(xn, yn, h; f)) + hτn+1(Y ) (2.86)

Luego

|Y (xn+1)− yn+1| ≤ |Y (xn)− yn|+ h|ϕ(xn, Y (xn), h; f)− ϕ(xn, yn, h; f)|+h|τn+1(Y )|

≤ |Y (xn)− yn|(1 + hL) + hτ(h), x0 ≤ xn ≤ b (2.87)

Recursivamente se tiene

|Y (xn+1)− yn+1| ≤ (1 + hL)n|Y (x0)− y0|+ (1 + (1 + hL)+ . . .+ (1 + hL)n−1)hτ(h)

≤ (1 + hL)n|Y (x0)− y0|+(1 + hL)n − 1

Lτ(h) (2.88)

pero (1+hL)n ≤ enhL = e(xn−x0)L ≤ e(b−x0)L pues ex = 1+x+ x2

2 eξ con 0 ≤ ξ ≤ xy x > −1 ⇒ (1 + x)m ≤ emx.

Luego

|Y (xn)− yn| ≤ e(b−x0)L|Y (x0)− y0|+e(b−x0)L − 1

Lτ(h), x0 ≤ xn ≤ b (2.89)

En muchos casos se puede demostrar que τ(h) → 0 cuando h → 0 por calculodirecto obteniendose ası la convergencia buscada. Veamos que basta saber quelimh→0 δ(h) = 0,

hτn+1(Y ) = Y (xn+1)− Y (xn)− hϕ(xn, Y (xn), h; f)

= hY ′(n) +12h2Y ′′(ξn)− hϕ(xn, Y (xn), h; f),

con xn < ξn < xn+1 (2.90)

resulta ası

h|τn+1(Y )| ≤ hδ(h) +h2

2||Y ′′||∞ (2.91)

obteniendose en definitiva

τ(h) ≤ δ(h) +12h||Y ′′||∞ (2.92)

lo que completa la demostracion.

Corolario 2.2.3. Si el metodo RK dado por yn+1 = yn+hϕ(xn, yn, h; f) tieneun error de truncamiento εn+1(y) = O(hm+1) entonces la velocidad de convergenciade {yn} a y(x) es O(hm).

Page 53: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

32 2. ECUACIONES DIFERENCIALES

Teorema 2.2.4. Si ϕ(x, y, h; f) es continua en (x, y, h) en x0 ≤ x ≤ b, 0 ≤ h ≤h0, para todo y y es Lipschitz en y, entonces la convergencia es equivalente a tener

ϕ(x, Y (x), 0; f) = f(x, Y (x))

o, equivalentementeϕ(x, y, 0; f) = f(x, y)

Ejercicio 2.2.8. Demostrar el teorema 2.2.4

La velocidad de convergencia de yh(x) a Y (x) es O(h4) en el metodo clasicoRK pues εn+1(y) = O(h5). Se puede demostrar, en consecuencia, que

Y (x)− yh(x) = D(x)h4 +O(h5) (2.93)

donde D(x) satisface un problema analogo de valores iniciales. Asimismo, como

Y (x)− y2h(x) = 16D(x)h4 +O(h5) (2.94)

se deduce que

Y (x) = yh(x) +115

(yh(x)− y2h(x)) +O(h5) (2.95)

donde el termino yh(x)− y2h(x) permite estimar el error.En general vale el siguiente

Teorema 2.2.5. Si el error de truncamiento

εn+1(Y ) = hϕ(x, Y (x), h; f)− (Y (x+ h)− Y (x)) (2.96)

se puede expresarεn+1(Y ) = hr+1ψ(x, Y ) +O(hr+2) (2.97)

y ϕ tiene derivadas segundas continuas, entonces el error satisface

en = hrD(xn) +O(hr+1) (2.98)

donde D(x) es solucion de

D′(x) =∂f

∂y(x, Y (x))D(x) + ψ(x, Y (x)) (2.99)

Demostracion: Por el orden del metodo buscamos para en una expresion de laforma del enunciado. Si reemplazamos la expresion en = hrδn en

en+1 = en + h(ϕ(xn, yn, h; f)− ϕ(xn, Y (xn), h; f)) + εn+1(Y ) (2.100)

obtenemos

δn+1 = δn + h1−r(ϕ(xn, Y (xn) + hrδn, h; f)− ϕ(xn, Y (xn), h; f))+hψ(xn, Y (xn)) +O(h2) (2.101)

Por la suavidad supuesta para ϕ podemos escribir

ϕ(xn, Y (xn) + hrδn, h; f) = ϕ(xn, Y (xn), h; f) + ϕy(xn, Y (xn), h; f)hrδn

+12ϕyy(xn, Y (xn), h; f)h2rδ2n (2.102)

Page 54: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

2.3. EJERCICIOS 33

en razon de la convergencia este ultimo sumando se puede escribir en la forma k1h2r

con ||k1|| acotada. El segundo sumando se puede reescribir ası

ϕy(xn, Y (xn), h; f)hrδn = ϕy(xn, Y (xn), 0; f)hrδn

+ϕyh(xn, Y (xn), ξ; f)hr+1δn (2.103)

cuyo ultimo sumando se puede escribir en la forma k2hr+1 con ||k2|| acotada.

En definitiva

δn+1 = δn + h(fy(xn, Y (xn))δn + hψ(xn, Y (xn) + hk2 + hrk1) (2.104)

que es un metodo numerico para

D′(x) = fy(x, Y (x))D(x) + ϕ(x, Y (x)) (2.105)

D(0) + e0h−r (2.106)

lo que permite completar la demostracion del teorema. ♣

2.3. Ejercicios

Ejercicio 2.3.1. Dada y′ = 1 + x2y2, con y(0) = 0, calcular y(0.5) medianteel metodo de Euler con extrapolacion de repetida de Richardson. Usar aritmeticade redondeo de cinco decimales.

Ejercicio 2.3.2. Aplicando el metodo de Euler, se obtuvieron los resultados:1.22726 (con paso h = 0.05), 1.22595 (h = 0.1), 1.22345 (h = 0.2). Calcule unmejor valor por extrapolacion.

Ejercicio 2.3.3. Utilizar el metodo de Euler con longitud de paso h sobre elproblema test

y′ = −y, y(0) = 1 (2.107)

(a) Determinar una expresion explıcita para yn

(b) ¿Para que valores de h la sucesion {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 solucion de laecuacion y′ = y2, con y(0) = 1, en el entorno de x = 0. Usar esta aproximacionpara calcular y(0.2) e y(1.2) con cuatro decimales. Comparar con la solucion exactay explicar porque el segundo caso (x = 1.2) no es exitoso.

Ejercicio 2.3.5. La funcion y(x) se define mediante el problema

y′ = x2 − y2, y(0) = 1 (2.108)

Calcular y(0.2) utilizando los siguientes metodos:(a) Euler-Richardson: h = 0.1 y h = 0.2;(b) Metodo Runge-Kutta: h = 0.1;(c) Desarrollo en serie de Taylor hasta el cuarto termino;(d) Metodo del trapecio: h = 0.2.

Ejercicio 2.3.6. [Optativo]Se desea realizar una tabla de la funcion

y(x) =∫ ∞

0

e−u2

(u+ x)du (2.109)

Page 55: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

34 2. ECUACIONES DIFERENCIALES

para varios valores de x. Se procede de la siguiente manera: y(x) se calcula parax = 1 usando algun metodo para integracion numerica; se calcula y(1) = 0.6051.Mostrar que y satisface la ecuacion diferencial

dy

dx+ 2xy = − 1

x+√π (2.110)

Se resuelve la ecuacion diferencial numericamente con el valor inicial y(1) = 0.6051,y ası se pueden calcular mas valores de la tabla. Determinar y(x) para x = 1.2 yx = 1.4 mediante el metodo de Runge-Kutta y estimar el error en y(1.4).

Page 56: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

APENDICE A

Bibliografıa y referencias

A.1. Textos basicos

(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.: Analisis Numerico, 2da edicion, GrupoEditorial Iberoamerica, Mexico, 1993.

(3) Dahlquist, G., and Bjrck, A.: Numerical Methods, Prentice-Hall, E.Cliffs, NJ, 1974.

A.2. Bibliografıa complementaria

(1) Aguilera, N.E.: Introduccion a la computacion en Matematica usandoMathematica, Red Olımpica, OMA, Buenos Aires, 1994.

(2) Apostol, T.M.: Analisis Matematico, 2da edicion, Reverte, Barcelona,1976.

(3) Braun, M.: Differential Equations and Their Applications. An Intro-duction to Applied Mathematics, 4th edition, Springer, N.York, 1993.

(4) Davis, Ph.J. y Rabinowitz, Ph.: Methods of Numerical Integration,2nd edition, Academic Press, N.York, 1984.

(5) Gear, C.W.: Numerical Initial Value Problems in Ordinary DifferentialEquations, Prentice-Hall, E. Cliffs, 1971

(6) Golub, G.H. (Editor): Studies in Numerical Analysis, MAA Studies inMathematics 24, Washington, 1984.

(7) Graham, R.L., Knuth, D.E., and Patashnik, O.: Concrete Mathe-matics, Addison-Wesley, Reading, MA, 1989.

(8) Hurewicz, W.: Lectures on Ordinary Differential Equations, The M.I.T.Press, Cambridge, MA, 1958.

(9) Knuth, D.E.: The Art of Computer ProgrammingVol.1: Fundamental AlgorithmsVol.2: Seminumerical algorithmsVol.3: Sorting and searching ,Addison-Wesley, Reading, 1973.Version espanola: V.1, Reverte, Barcelona, 1980.

(10) Linz, P.: A Critique of Numerical Analysis, Bulletin American Mathe-matical Society, 19(2), 407–416, 1988

(11) Maeder, R.: Programming in Mathematica, 2nd edition, Addison-Wesley,1991.

(12) Marshall, G.: Solucion Numerica de Ecuaciones Diferenciales, Tomos1 y 2, Reverte, Buenos Aires, 1985 y 1986

35

Page 57: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

36 A. BIBLIOGRAFIA Y REFERENCIAS

(13) Press, W.H., Teukolsky, S.A., Vetterlin, W.T., y Flannery,B.P.: Numerical Recipes in C. The Art of Scientific Computing, 2nd edi-tion, Cambridge University Press, Cambridge, 1992.

(14) Rice, J.R.: Numerical Methods, Software, and Analysis, 2nd edition,Academic Press, Boston, 1993.

(15) Stoer, J. y Bulirsch, R.: Introduction to Numerical Analysis, Sprin-ger, N.York, 1980.

(16) Strang, G.: Introduction to Applied Mathematics, Wellesley-Cambridge,Wellesley, 1986

(17) Wolfram Research: Guide to Standard Mathematica Packages, Ver-sion 2.2, Technical Report, Wolfram Research, 1993.

(18) Wolfram Research: MathLink Reference Guide, Version 2.2, TechnicalReport, Wolfram Research, 1993.

(19) Wolfram, S.: The Mathematica Book , 3rd edition, Wolfram Media-Cambridge, Cambridge, UK, 1996.

Page 58: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

APENDICE B

Coeficientes indeterminados con el Mathematica

B.1. El metodo de Simpson

(* Simpson *)

a0=a;(* Defino los puntos *)

a1=a/2+b/2;

a2=b;(*a=-1;b=1;*)

p0[x_]:=1; (* Defino los polinomios *)

p1[x_]:=(2x-a-b)/(b-a);

p2[x_]:=((2x-a-b)/(b-a))^2;

p3[x_]:=((2x-a-b)/(b-a))^3;

p4[x_]:=((2x-a-b)/(b-a))^4;

(* Integraci\’on num\’erica *) s0=A p0[a0] + B p0[a1] + C p0[a2]

//Simplify s1=A p1[a0] + B p1[a1] + C p1[a2] //Simplify; s2=A

p2[a0] + B p2[a1] + C p2[a2] //Simplify; A + B + C

(* Integro los polinomios *)

i0=Integrate[p0[x],{x,a,b}]//Simplify

i1=Integrate[p1[x],{x,a,b}]//Simplify;

i2=Integrate[p2[x],{x,a,b}]//Simplify;

-a + b

(* 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

(* Verifico que vale para polinomios de tercer grado *)

(s3=A p3[a0] + B p3[a1] + C p3[a2])/.%15 //Simplify

{0} i3=Integrate[p3[x],{x,a,b}]//Simplify 0 (* Resulta as\’{\i}

que la siguiente

ecuaci\’on ( s3 == i3 ) vale trivialmente *)

(* Calculo del error con el polinomio de cuarto grado *)

(s4=A p4[a0] + B p4[a1] + C p4[a2])/.%15 //Simplify

-a + b

{------}

3

i4=Integrate[p4[x],{x,a,b}]//Simplify

-a + b

------

5

e4=(%20 - %19)//Simplify

2 (a - b)

37

Page 59: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

38 B. COEFICIENTES INDETERMINADOS CON EL Mathematica

{---------}

15

(* Calculo del polinomio de Taylor *)

Series[ f[x], {x, (a+b)/2, 4}]

a + b -(a + b) 2

f’’[-----] (-------- + x)

a + b a + b -(a + b) 2 2

f[-----] + f’[-----] (-------- + x) + -------------------------- +

2 2 2 2

(3) a + b -(a + b) 3 (4) a + b -(a + b) 4

f [-----] (-------- + x) f [-----] (-------- + x)

2 2 2 2

--------------------------- + --------------------------- +

6 24

-(a + b) 5

O[-------- + x]

2

(* Resulta asi que el error de truncamiento es

5 (4) a + b

( b - a ) f [-----]

2

------------------------

2880 *)

B.2. El metodo de Newton

(* Newton de once puntos *)

a0=a; (* Defino los puntos *)

a1=9a/10+b/10;

a2=8a/10+2b/10;

a3=7a/10+3b/10;

a4=6a/10+4b/10;

a5=5a/10+5b/10;

a6=4a/10+6b/10;

a7=3a/10+7b/10;

a8=2a/10+8b/10;

a9=a/10+9b/10;

a10=b;

p0[x_]:=1; (* Defino los polinomios *)

p1[x_]:=(2x-a-b)/(b-a);

p2[x_]:=((2x-a-b)/(b-a))^2;

p3[x_]:=((2x-a-b)/(b-a))^3;

p4[x_]:=((2x-a-b)/(b-a))^4;

p5[x_]:=((2x-a-b)/(b-a))^5;

p6[x_]:=((2x-a-b)/(b-a))^6;

p7[x_]:=((2x-a-b)/(b-a))^7;

p8[x_]:=((2x-a-b)/(b-a))^8;

p9[x_]:=((2x-a-b)/(b-a))^9;

p10[x_]:=((2x-a-b)/(b-a))^10;

p11[x_]:=((2x-a-b)/(b-a))^11;

p12[x_]:=((2x-a-b)/(b-a))^12;

Page 60: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

B.2. EL METODO DE NEWTON 39

(* Integraci\’on num\’erica *) s0=A0 p0[a0] + A1 p0[a1] + A2

p0[a2] + A3 p0[a3]+

A4 p0[a4] + A5 p0[a5] + A6 p0[a6] + A7 p0[a7]+

A8 p0[a8] + A9 p0[a9] + A10 p0[a10]//Simplify;

s1=A0 p1[a0] + A1 p1[a1] + A2 p1[a2] + A3 p1[a3]+

A4 p1[a4] + A5 p1[a5] + A6 p1[a6] + A7 p1[a7]+

A8 p1[a8] + A9 p1[a9] + A10 p1[a10]//Simplify;

s2=A0 p2[a0] + A1 p2[a1] + A2 p2[a2] + A3 p2[a3]+

A4 p2[a4] + A5 p2[a5] + A6 p2[a6] + A7 p2[a7]+

A8 p2[a8] + A9 p2[a9] + A10 p2[a10]//Simplify;

s3=A0 p3[a0] + A1 p3[a1] + A2 p3[a2] + A3 p3[a3]+

A4 p3[a4] + A5 p3[a5] + A6 p3[a6] + A7 p3[a7]+

A8 p3[a8] + A9 p3[a9] + A10 p3[a10]//Simplify;

s4=A0 p4[a0] + A1 p4[a1] + A2 p4[a2] + A3 p4[a3]+

A4 p4[a4] + A5 p4[a5] + A6 p4[a6] + A7 p4[a7]+

A8 p4[a8] + A9 p4[a9] + A10 p4[a10]//Simplify;

s5=A0 p5[a0] + A1 p5[a1] + A2 p5[a2] + A3 p5[a3]+

A4 p5[a4] + A5 p5[a5] + A6 p5[a6] + A7 p5[a7]+

A8 p5[a8] + A9 p5[a9] + A10 p5[a10]//Simplify;

s6=A0 p6[a0] + A1 p6[a1] + A2 p6[a2] + A3 p6[a3]+

A4 p6[a4] + A5 p6[a5] + A6 p6[a6] + A7 p6[a7]+

A8 p6[a8] + A9 p6[a9] + A10 p6[a10]//Simplify;

s7=A0 p7[a0] + A1 p7[a1] + A2 p7[a2] + A3 p7[a3]+

A4 p7[a4] + A5 p7[a5] + A6 p7[a6] + A7 p7[a7]+

A8 p7[a8] + A9 p7[a9] + A10 p7[a10]//Simplify;

s8=A0 p8[a0] + A1 p8[a1] + A2 p8[a2] + A3 p8[a3]+

A4 p8[a4] + A5 p8[a5] + A6 p8[a6] + A7 p8[a7]+

A8 p8[a8] + A9 p8[a9] + A10 p8[a10]//Simplify;

s9=A0 p9[a0] + A1 p9[a1] + A2 p9[a2] + A3 p9[a3]+

A4 p9[a4] + A5 p9[a5] + A6 p9[a6] + A7 p9[a7]+

A8 p9[a8] + A9 p9[a9] + A10 p9[a10]//Simplify;

s10=A0 p10[a0] + A1 p10[a1] + A2 p10[a2] + A3 p10[a3]+

A4 p10[a4] + A5 p10[a5] + A6 p10[a6] + A7 p10[a7]+

A8 p10[a8] + A9 p10[a9] + A10 p10[a10]//Simplify;

(* Integro los polinomios *)

i0=Integrate[p0[x],{x,a,b}]//Simplify

i1=Integrate[p1[x],{x,a,b}]//Simplify;

i2=Integrate[p2[x],{x,a,b}]//Simplify;

i3=Integrate[p3[x],{x,a,b}]//Simplify;

i4=Integrate[p4[x],{x,a,b}]//Simplify;

i5=Integrate[p5[x],{x,a,b}]//Simplify;

i6=Integrate[p6[x],{x,a,b}]//Simplify;

i7=Integrate[p7[x],{x,a,b}]//Simplify;

i8=Integrate[p8[x],{x,a,b}]//Simplify;

i9=Integrate[p9[x],{x,a,b}]//Simplify;

i10=Integrate[p10[x],{x,a,b}]//Simplify;

-a + b

(* 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 -> --------------,

Page 61: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

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

(* Verifico que los pesos suman uno *)

598752/24948

24

598752/149688

4

598752/199584

3

598752/12474

48

598752/11088

54

2 16067 + 2 26575 4 - 2 16175 3 + 2 5675 48 - 2 4825 54 + 17807 24

598752

B.3. El metodo de cuadratura de Gauß de tres puntos

(* Gauss de tres puntos *)

a=-1; (* Se trabaja en el [-1,1] *)

b=1;

p0[x_]:=1; (* Definici\’on de los polinomios *)

p1[x_]:=(2x-a-b)/(b-a); p2[x_]:=((2x-a-b)/(b-a))^2;

p3[x_]:=((2x-a-b)/(b-a))^3; p4[x_]:=((2x-a-b)/(b-a))^4;

p5[x_]:=((2x-a-b)/(b-a))^5; p6[x_]:=((2x-a-b)/(b-a))^6;

p7[x_]:=((2x-a-b)/(b-a))^7;

(* Las expresiones de Gauss *)

s0=A p0[X] + B p0[Y] + C p0[Z] //Simplify

s1=A p1[X] + B p1[Y] + C p1[Z] //Simplify;

s2=A p2[X] + B p2[Y] + C p2[Z] //Simplify;

s3=A p3[X] + B p3[Y] + C p3[Z] //Simplify;

s4=A p4[X] + B p4[Y] + C p4[Z] //Simplify;

s5=A p5[X] + B p5[Y] + C p5[Z] //Simplify;

s6=A p6[X] + B p6[Y] + C p6[Z] //Simplify;

A + B + C

(* 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;

Page 62: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

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

(* El sistema de ecuaciones no lineal *)

Solve[{s0==i0,

s1==i1,

s2==i2,

s3==i3,

s4==i4,

s5==i5},{A,B,C,X,Y,Z}]//Simplify

5 5 8 3 3

{{A -> -, B -> -, C -> -, Z -> 0, Y -> -Sqrt[-], X -> Sqrt[-]},

9 9 9 5 5

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.555556, C -> 0.888889, Z -> 0,

Y -> 0.774597, X -> -0.774597},

{A -> 0.555556, B -> 0.888889, C -> 0.555556, Z -> -0.774597, Y -> 0,

X -> 0.774597}, {A -> 0.555556, B -> 0.888889, C -> 0.555556, Z -> 0.774597,

Y -> 0, X -> -0.774597}, {A -> 0.888889, B -> 0.555556, C -> 0.555556,

Z -> -0.774597, Y -> 0.774597, X -> 0},

{A -> 0.888889, B -> 0.555556, C -> 0.555556, Z -> 0.774597, Y -> -0.774597,

X -> 0}}

B.4. Los coeficientes de la cuadratura de Gauß de cinco puntos

(* Cuadratura de Gauss de cinco puntos *)

Page 63: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

42 B. COEFICIENTES INDETERMINADOS CON EL Mathematica

(* Determino las coordenadas de los puntos *)

Roots[LegendreP[5,x]==0,x]

N[%,30]

(* Defino las variables que representan los puntos *)

a0=x/.x->%%[[5]][[2]]

a1=x/.x->%%%[[3]][[2]]

a2=x/.x->%%%%[[1]][[2]]

a3=x/.x->%%%%%[[2]][[2]]

a4=x/.x->%%%%%%[[4]][[2]]

10 10

Sqrt[5 - 2 Sqrt[--]] -Sqrt[5 - 2 Sqrt[--]]

7 7

x == 0 || x == -------------------- || x == --------------------- ||

3 3

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

(* Fijo los extremos del intervalo *)

a=-1;

b=1;

(* Defino los polinomios *)

p0[x_]:=1;

p1[x_]:=(2x-a-b)/(b-a);

p2[x_]:=((2x-a-b)/(b-a))^2;

p3[x_]:=((2x-a-b)/(b-a))^3;

p4[x_]:=((2x-a-b)/(b-a))^4;

p5[x_]:=((2x-a-b)/(b-a))^5;

p6[x_]:=((2x-a-b)/(b-a))^6;

p7[x_]:=((2x-a-b)/(b-a))^7;

p8[x_]:=((2x-a-b)/(b-a))^8;

p9[x_]:=((2x-a-b)/(b-a))^9;

p10[x_]:=((2x-a-b)/(b-a))^10;

p11[x_]:=((2x-a-b)/(b-a))^11;

p12[x_]:=((2x-a-b)/(b-a))^12;

(* Defino las expresiones para los pesos A0,A1,A2,A3,A4 *)

s0=A0 p0[a0]+A1 p0[a1]+A2 p0[a2]+A3 p0[a3]+A4 p0[a4]//Simplify

s1=A0 p1[a0]+A1 p1[a1]+A2 p1[a2]+A3 p1[a3]+A4 p1[a4]//Simplify

Page 64: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

B.4. LOS COEFICIENTES DE LA CUADRATURA DE GAUSS DE CINCO PUNTOS 43

s2=A0 p2[a0]+A1 p2[a1]+A2 p2[a2]+A3 p2[a3]+A4 p2[a4]//Simplify;

s3=A0 p3[a0]+A1 p3[a1]+A2 p3[a2]+A3 p3[a3]+A4 p3[a4]//Simplify;

s4=A0 p4[a0]+A1 p4[a1]+A2 p4[a2]+A3 p4[a3]+A4 p4[a4]//Simplify;

s5=A0 p5[a0]+A1 p5[a1]+A2 p5[a2]+A3 p5[a3]+A4 p5[a4]//Simplify;

s6=A0 p6[a0]+A1 p6[a1]+A2 p6[a2]+A3 p6[a3]+A4 p6[a4]//Simplify;

s7=A0 p7[a0]+A1 p7[a1]+A2 p7[a2]+A3 p7[a3]+A4 p7[a4]//Simplify;

s8=A0 p8[a0]+A1 p8[a1]+A2 p8[a2]+A3 p8[a3]+A4 p8[a4]//Simplify;

s9=A0 p9[a0]+A1 p9[a1]+A2 p9[a2]+A3 p9[a3]+A4 p9[a4]//Simplify;

s10=A0 p10[a0]+A1 p10[a1]+A2 p10[a2]+

A3 p10[a3]+A4 p10[a4]//Simplify;

s11=A0 p11[a0]+A1 p11[a1]+A2 p11[a2]+

A3 p11[a3]+A4 p11[a4]//Simplify;

A0 + A1 + A2 + A3 + A4

-0.906179845938663992797626878299 A0

- 0.5384693101056830910363144207 A1

+ 0.5384693101056830910363144207 A3

+ 0.906179845938663992797626878299 A4

(* Calculo 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;

i3=Integrate[p3[x],{x,a,b}]//Simplify;

i4=Integrate[p4[x],{x,a,b}]//Simplify;

i5=Integrate[p5[x],{x,a,b}]//Simplify;

i6=Integrate[p6[x],{x,a,b}]//Simplify;

i7=Integrate[p7[x],{x,a,b}]//Simplify;

i8=Integrate[p8[x],{x,a,b}]//Simplify;

i9=Integrate[p9[x],{x,a,b}]//Simplify;

i10=Integrate[p10[x],{x,a,b}]//Simplify;

i11=Integrate[p11[x],{x,a,b}]//Simplify;

2

(* Resoluci\’on del sistema de ecuaciones *) Solve[{s0==i0

,s1==i1

,s2==i2

,s3==i3

,s4==i4},{A0,A1,A2,A3,A4}]//Simplify

{{A2 -> 0.56888888888888888888888889

, A0 -> 0.236926885056189087514264041

, A1 -> 0.478628670499366468041291515

, A3 -> 0.478628670499366468041291515

, A4 -> 0.2369268850561890875142640407}}

(* Calculo de los residuos para los siguientes polinomios *)

s5 - i5 /. %56

-16

{-2.22045 10 }

s6 - i6 /. %56

-16

{4.16334 10 }

s7 - i7 /. %56

-16

{-1.66533 10 }

s8 - i8 /. %56

-16

{3.46945 10 }

s9 - i9 /. %56

Page 65: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

44 B. COEFICIENTES INDETERMINADOS CON EL Mathematica

-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}

En algunos casos se trabaja con mayor precision

(* Cuadratura de Gauss de cinco puntos (operaciones exactas) *)

(* Determino las coordenadas de los puntos *)

Roots[LegendreP[5,x]==0,x]

N[%,50]

(* Defino las variables que representan los puntos *)

a0=x/.x->%%%[[5]][[2]]

a1=x/.x->%%%%[[3]][[2]]

a2=x/.x->%%%%%[[1]][[2]]

a3=x/.x->%%%%%%[[2]][[2]]

a4=x/.x->%%%%%%%[[4]][[2]]

10 10

Sqrt[5 - 2 Sqrt[--]] -Sqrt[5 - 2 Sqrt[--]]

7 7

x == 0 || x == -------------------- || x == --------------------- ||

3 3

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[--]]

Page 66: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

B.4. LOS COEFICIENTES DE LA CUADRATURA DE GAUSS DE CINCO PUNTOS 45

7

--------------------

3

10

Sqrt[5 + 2 Sqrt[--]]

7

--------------------

3

.

.

.

(* Resoluci\’on del sistema de ecuaciones *) Solve[{s0==i0

,s1==i1

,s2==i2

,s3==i3

,s4==i4},{A0,A1,A2,A3,A4}]//Simplify;

N[%,50]

{{A2 -> 0.56888888888888888888888888888888888888888888888889,

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 }

Page 67: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

46 B. COEFICIENTES INDETERMINADOS CON EL Mathematica

s12 - i12 /. %61;

N[%,35]

{0.14585257971501357744743988130231516}

s13 - i13 /. %61;

N[%,35]

-44

{0. 10 }

s14 - i14 /. %61;

N[%,35]

{-0.01386690413313408190371321302706202}

Page 68: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

APENDICE C

Cuadernos del Mathematica y archivos script deMatlab

C.1. La funcion mihumps

(*MIHUMPS*)

f[x_]:= 0.01/((x-0.3)^2+.01) + 0.01/((x-0.9)^2+.04) - 0.06

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 cuadernoqueda insertada a continuacion.

0.2 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

1

Figura 1. La funcion mihumps

47

Page 69: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

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) )

Las funciones f(x) —mihumps— y su integral F (x) =∫ x

0f(s) ds son

f(x) = −0.06 +0.01

0.04 + (−0.9 + x)2+

0.010.01 + (−0.3 + x)2

(C.1)

y

F (x) = −0.06x+ 0.05 arctan(5. (−0.9 + x)) + 0.1 arctan(10. (−0.3 + x)) (C.2)

C.2. Extrapolacion repetida de Richardson

En el siguiente cuaderno del Mathematica calculamos los errores de trunca-miento de los distintos pasos de extrapolacion.Extrapolaci\’on repetida de Richardson

Table[2^(2j)-1,{j,9}]

{3, 15, 63, 255, 1023, 4095, 16383, 65535, 262143}

I0[h_]=b0+b1 h^2+b2 h^4+b3 h^6+b4 h^8+b5 h^10+b6 h^12+

b7 h^14+b8 h^16

2 4 6 8 10

b0 + b1 h + b2 h + b3 h + b4 h + b5 h +

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

Page 70: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

C.2. EXTRAPOLACION 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

Page 71: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

50 C. CUADERNOS DEL Mathematica Y ARCHIVOS SCRIPT DE MATLAB

for j=(i-1):(-1):1, % l\’{\i}nea de extrapolaciones

k=i-j+1;

II(j,k)=II(j+1,k-1)+(II(j+1,k-1)-II(j,k-1))/del(k-1) ;

end % rof

if i > 7, % terminaci\’on ( se puede sustituir por una

% que compare los valores obtenidos de I )

break;

end % fi

h=h/2;

i=i+1;

end % elihw

%%% fin de mirichar.m

La salida de mirichar (valores de II) se consigna en las tablas 1 y 2.

Tabla 1. Integracion de Romberg para la funcion mihumps(ver tabla 1). La integral (con el Mathematica) resulta Q =0.2985832539549867

0.29851740902665 0.29819609270927 0.29860841977863 0.29858290374753

0.29827642178861 0.29858264933679 0.29858330243552 0.298583253182080.29850609244975 0.29858326161685 0.29858325395166 0.298583253954980.29856396932507 0.29858325443074 0.29858325395493 0.29858325395499

0.29857843315432 0.29858325398467 0.29858325395499 0.298583253954990.29858204877708 0.29858325395684 0.29858325395499 00.29858295266190 0.29858325395510 0 0

0.29858317863180 0 0 0

Tabla 2. Integracion de Romberg para la funcion mihumps (conti-nuacion, ver tablas 1 y 1). La integral (con el Mathematica) resultaQ = 0.2985832539549867

0.29858325455241 0.29858325395743 0.29858325395498 0.298583253954990.29858325395801 0.29858325395498 0.29858325395499 0

0.29858325395499 0.29858325395499 0 00.29858325395499 0 0 0

0 0 0 0

0 0 0 00 0 0 00 0 0 0

C.3. Metodos de Montecarlo

En lo que sigue veremos dos ejemplos en el cuadrado unitario [0, 1]x[0, 1].

Ejemplo C.3.1. Calculamos mediante el metodo de Montecarlo el area bajola funcion f(x) = 0.5 en el cuadrado unitario. Realizamos mil veces el calculo delarea estimada mediante diez mil puntos seleccionados al azar.

Page 72: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

C.3. METODOS DE MONTECARLO 51

% AZAR3.M script de prueba para m\’etodo de Montecarlo

% C.E.N., 05-may-97

rand(’seed’,sum(100*clock)); %inicializa los n\’umeros aleatorios

scores=[];

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

mime=mean(scores) % calcula la media aritm\’etica

mide=std(scores) % calcula la desviaci\’on t\’{\i}pica

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;

% Resultados de la corrida de 1000

% azar3

%mime =

% 0.4997

%mide =

% 0.0050

%mimeord =

% 0.4999

%mideord =

% 0.0050

% axis([0.475 0.525 0 300])

% grid

Vemos que el resultado —utilizando los estimadores robustos— es de 0.500±0.005,intervalo de confianza que contiene el valor exacto.

En la figura 2 dibujamos el histograma que representa la distribucion de pun-tajes obtenidos por la rutina de Montecarlo.

Ejemplo C.3.2. Calulamos la integral de la funcion ‘humps’ mediante el metodode Montecarlorand(’seed’,sum(100*clock))

scores=[];

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);

Page 73: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

52 C. CUADERNOS DEL Mathematica Y ARCHIVOS SCRIPT DE MATLAB

0.48 0.485 0.49 0.495 0.5 0.505 0.51 0.515 0.52 0.5250

50

100

150

200

250

Figura 2. Histograma de distribucion de los valores estimados dela integral del ejemplo C.3.1

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 la corrida de 100

% azar4

%mime =

% 2.9845e-001

%mide =

% 1.3248e-002

%mimeord =

% 2.9938e-001

%mideord =

% 1.3119e-002

Page 74: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

C.4. INTEGRACION DE SIMPSON ADAPTATIVA 53

% Resultados de quad

% format short e

% quad(’humps’,0,1,1e-5,1)/100

%ans =

% 2.9858e-001

%

%

C.4. Integracion de Simpson adaptativa

function [Q,cnt] = miquad(funfcn,a,b,tol)

%MIQUAD Numerical evaluation of an integral, low order method.

% Q = MIQUAD(’F’,A,B) approximates the integral of F(X) from A to B

% to within a relative error of 1e-3. ’F’ is a string

% containing the name of the function. Function F must return a

% vector of output values if given a vector of input values.

% Q = MIQUAD(F,A,B,TOL) integrates to a relative error of TOL.

%

% MIQUAD uses an adaptive recursive Simpson’s rule.

%

% See also QUAD, QUAD8.

% Basada en QUAD.M

% C.B. Moler, 3-22-87.

% Copyright (c) 1984-94 by The MathWorks, Inc.

% C.E. Neuman, 4-29-97

% [Q,cnt] = miquad(F,a,b,tol) also returns a

% function evaluation count.

if nargin < 4, tol = 1.e-3; end

c = (a + b)/2;

% Top level initialization

x = [a b c a:(b-a)/10:b];

% set up function call

args = ’(x)’;

y = eval([funfcn,args]);

fa = y(1);

fb = y(2);

fc = y(3);

lev = 1;

% Adaptive, recursive Simpson’s quadrature

if any(imag(y))

Q0 = 1e30;

else

Q0 = inf;

end

[Q,cnt] = eval([’miquadst(funfcn,a,b,tol,lev,fa,fc,fb,Q0)’]);

cnt = cnt + 3;

Page 75: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

54 C. CUADERNOS DEL Mathematica Y ARCHIVOS SCRIPT DE MATLAB

%fin de la funci\’on miquad

function [Q,cnt] = miquadst(FunFcn,a,b,tol,lev,fa,fc,fb,Q0)

%MIQUADST Recursive function used by MIQUAD.

% [Q,cnt] = miquadst(F,a,b,tol,lev,fa,fc,fb,Q0) tries to

% approximate the integral of f(x) from a to b to within a

% relative error of tol. F is a string containing the name

% of f. The remaining arguments are generated by quad or

% by the recursion. lev is the recursion level.

% fa = f(a). fc = f((a+b)/2). fb = f(b).

% Q0 is an approximate value of the integral.

% See also QUAD and QUAD8.

% Basada en QUADSTP.M

% C.B. Moler, 3-22-87.

% Copyright (c) 1984-94 by The MathWorks, Inc.

% C.E. Neuman, 4-29-97.

LEVMAX = 11;

if lev > LEVMAX

disp(’Limite de orden de recursion alcanzado en miquad.’)

disp(’Probable singularidad.’)

Q = Q0;

cnt = 0;

c = (a + b)/2;

else

% Evaluate function at midpoints of left

% and right half intervals.

h = b - a;

c = (a + b)/2;

x = [a+h/4, b-h/4];

f = eval([FunFcn,’(x)’]);

cnt = 2;

% Simpson’s rule for half intervals.

Q1 = h*(fa + 4*f(1) + fc)/12;

Q2 = h*(fc + 4*f(2) + fb)/12;

Q = Q1 + Q2;

% Recursively refine approximations.

if abs(Q - Q0) > tol*abs(Q)

ts2=tol/2;

lm1=lev+1;

[Q1,cnt1]=eval([’miquadst(FunFcn,a,c,ts2,lm1,fa,f(1),fc,Q1)’]);

[Q2,cnt2]=eval([’miquadst(FunFcn,c,b,ts2,lm1,fc,f(2),fb,Q2)’]);

Q = Q1 + Q2;

cnt = cnt + cnt1 + cnt2;

end

end

% fin de la funci\’on miquadst

function [y]=mifun(x)

% MIFUN es una funci\’on de prueba para MIQUAD

% debe ser una funci\’on vectorizada

% C.E. Neuman, 29-4-97

Page 76: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

C.5. EL METODO CLASICO DE RUNGE-KUTTA 55

y=x.^(1/2);

% fin de la funci\’on mifun

C.5. El metodo clasico de Runge-Kutta

En esta seccion incluimos el codigo Matlab que implementa el metodo clasicode Runge-Kutta. Se trata de los programas mirk.m, mieq.m, donde se define lafuncion para integrar, y milo.m que es el ‘driver’ del metodo.function [xn,xdn]=mirk(t,x,h)

%

% MIRK

%

% MIRK Es la implementacion de un Runge-Kutta

% de cuatro pasos para avanzar de t a t+h

% inputs t:tiempo

% x:estado

% outputs xn:nuevo estado

% xdn:nueva derivada del estado

% La rutina mieq calcula el vector xdot

% de derivadas de los estados.

%%% C.E.Neuman, 10-11-1992

%%% Revisado: 5-5-1997

%%% Ultima revisi\’on: 7-5-1997

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

%

%%% C.E.Neuman, 10-11-1992

%%% Revisado: 5-5-1997

%%% Ultima revisi\’on: 7-5-1997

xdot=-t*x;

% xdot = mihumps(x);

return

%%% fin de mieq.m

Page 77: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

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.

%%% C.E.Neuman, 10-11-1992

%%% Revisado: 5-5-1997

%%% Ultima revisi\’on: 7-5-1997

%%% Tiempos inicial y final y cantidad de pasos de integraci\’on

a = 0; %comienzo de integraci\’on

b = 7; %fin de la integraci\’on

numpaso = 300; %n\’umero de pasos

%%% Condici\’on inicial

x0 = 1;

%%% Paso de integraci\’on

h = (b - a)/numpaso;

%%% Definici\’on de tini y tmax

tini = a;

tmax = a + numpaso * h;

if tmax ~= b,

disp(’error en el paso’);

end % fi

%%% Lista de salida (inicializaci\’on)

xdn0 = mieq(tini,x0);

xout = [tini; x0; xdn0];

%%% Lazo principal

xn = x0;

for tt=tini:h:(tmax-h),

[xn,xdn] = mirk(tt,xn,h); %llamada a R-K

xout = [ xout [tt+h; xn; xdn] ];

end % rof

plot(xout(1,:),xout(2:3,:),’r’)

En la figura 3 representamos la salida de las rutinas precedentes cuando seintegra la ecuacion

x′ = −tx (C.3)

Page 78: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

C.5. EL METODO CLASICO DE RUNGE-KUTTA 57

0 1 2 3 4 5 6 7−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1Integracion de dx/dt=−tx

t

x

x(t)=exp(−t2/2)

Figura 3. Integracion por Runge-Kutta clasico de x′ = −tx en[0, 7]

Page 79: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)
Page 80: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

APENDICE D

La integral de Riemann–Stieltjes

Comencemos estudiando las propiedades de las funciones de variacion acotada.

D.1. Funciones de variacion acotada

Teorema D.1.1. [Apostol (1976), pag. 153] Sea f una funcion creciente defi-nida en [a, b] y sean x0, x1, . . . , xn n+ 1 puntos tales que

a = x0 < x1 < x2 < . . . < xn = b (D.1)

Tenemos entonces la desigualdadn−1∑k=1

[f(xk+)− f(xk−)] ≤ f(b)− f(a) (D.2)

Demostracion: Sea ξk ∈ (xk, xk+1). Se tiene entonces que f(xk+) − f(xk−) ≤f(ξk)− f(ξk−1) por la monotonıa de la funcion f . Resulta ası

n−1∑k=1

[f(xk+)− f(xk−)] ≤n−1∑k=1

[f(ξk)− f(ξk−1)] (D.3)

= f(ξn−1)− f(ξ0) ≤ f(b)− f(a) (D.4)

lo que completa la demostracion.

Teorema D.1.2. [Apostol (1976), pag. 153] Si f es monotona en [a, b], entoncesel conjunto de discontinuidades de f es numerable

Una funcion monotona

tiene, a lo sumo,numerables saltosEjercicio D.1.1. Demostrar el teorema D.1.2.

Definicion D.1.1. Sea f definida en [a, b]. Sea P = {x0, x1, . . . , xn} unaparticion de [a, b]. Escribiremos, para k = 1, 2, . . . , n, ∆fk = f(xk) − f(xk−1). Siexiste un numero positivo M tal que

n∑k=1

|∆fk| =n∑

k=1

|f(xk)− f(xk−1)| ≤M (D.5)

para toda particion P de [a, b], entonces diremos que f es de variacion acotada.

Teorema D.1.3. [Apostol (1976), pag. 154] Si f es monotona en [a, b], entoncesf es de variacion acotada en [a, b].

Teorema D.1.4. [Apostol (1976), pag. 155] Si f es de clase C1 en [a, b],entonces f es de variacion acotada en [a, b].

Una funcion de clase C1

es de variacion acotadaEjercicio D.1.2. Demostrar los teoremas D.1.3 y D.1.4.

59

Page 81: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

60 D. LA INTEGRAL DE RIEMANN–STIELTJES

Teorema D.1.5. [Apostol (1976), pag. 155] Si f es de variacion acotada en[a, b], es decir que

∑|∆fk| ≤ M para toda particion de [a, b], entonces f esta

acotada en [a, b].

Demostracion: Sea x ∈ (a, b) y la particion P = {a, x, b}. Se tiene

|f(x)− f(a)|+ |f(b)− f(x)| ≤M (D.6)

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

|f(b)| ≤ |f(a)|+M (D.9)

por la hipotesis. De modo que |f(a)|+M es cota de |f(x)| en todo el intervalo.

Definicion D.1.2. Sea f una funcion de variacion acotada en [a, b] y sea P ={x0, x1, . . . , xn} una particion de [a, b]. El numero

V (a, b) = sup{n∑

k=1

|∆fk| : P es particion de [a,b]} (D.10)

se llama variacion total de f en el intervalo [a, b].

Teorema D.1.6. Sea f una funcion de variacion acotada en [a, b]. Sea Vdefinida en [a, b] por V (a) = 0 y, para a < x ≤ b, V (x) = V (a, x), la variacion totalde f entre a y x. Entonces

(i) V es una funcion creciente en [a, b](ii) W = V − f es una funcion creciente en [a, b]

Demostracion: Sean x < y en [a, b]. Entonces V (a, y) = V (a, x)+V (x, y), lo queimplica 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)

lo que prueba (ii).

Teorema D.1.7. Sea f definida sobre [a, b]. Entonces f es de variacion acotadaen [a, b] sii f puede expresarse como diferencia de dos funciones crecientes.

Una funcion es de varia-cion acotada sii es dife-

rencia de dos funciones

crecientes

Demostracion: Si f es de variacion acotada en [a, b], podemos escribir f = V −W ,donde V es la funcion del teorema D.1.6 y W = V − f . Las dos son funcionescrecientes. La otra implicacion se obtiene de la monotonıa de las dos funciones.

Page 82: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

D.2. LA INTEGRAL 61

D.2. La integral

Definicion D.2.1. Sea P = {x0, x1, . . . , xn} una particion del intervalo [a, b]y sea, para cada k, ξk un punto del intervalo [xk−1, xk]. Una suma de la forma

S(P, f, g) =n∑

k=1

f(ξk)∆gk (D.12)

(donde ∆gk = g(xk) − g(xk−1)) se llama suma de Riemann-Stieltjes de f respectode g. Diremos que f es integrable respecto de g en [a, b] si existe un numero I quesatisface la siguiente propiedad: para cada ε > 0, existe una particion Pε de [a, b]tal que, para cada particion P mas fina que Pε y para cada eleccion de los puntosξk del intervalo [xk−1, xk], k = 1, . . . , n, se tiene

|S(P, f, g)− I| < ε (D.13)

Observacion D.2.1. Si un tal numero I existe, entonces es unico y se repre-senta por la expresion ∫ b

a

f(x)dg(x) (D.14)

Ejemplo D.2.1. Si g(x) = x entonces la integral se reduce a una integral deRiemann

Ejemplo D.2.2. Si g(x) es de clase C1 en [a, b] entonces la integral resulta∫ b

a

f(x)g′(x)dx (D.15)

Nota: Este resultado se demuestra en el teorema D.2.5 en la pagina 63

Ejemplo D.2.3. Si f es continua y g(x) = bxc entonces la integral resulta∑i∈Z

a≤i<b

f(i) (D.16)

Nota: Este resultado se demuestra en el teorema D.2.7 en la pagina 65

Teorema D.2.2. Si f1 y f2 son integrables en el sentido de Riemann-Stieltjesrespecto de g en el intervalo [a, b], entonces, para todo par de constantes c1 y c2,se tiene que c1f1 + c2f2 resulta es integrable respecto de g en el mismo intervalo yvale ∫ b

a

(c1f1 + c2f2)dg = c1

∫ b

a

f1dg + c2

∫ b

a

f2dg (D.17)

Demostracion: Sea f = c1f1 + c2f2. Para una particion P del intervalo vale

S(P, f, g) =n∑

k=1

f(ξk)∆gk = c1

n∑k=1

f1(ξk)∆gk + c2

n∑k=1

f2(ξk)∆gk (D.18)

es decirS(P, f, g) = c1S(P, f1, g) + c2S(P, f2, g) (D.19)

Sea ε > 0 dado, elegimos una particion P (1)ε tal que para toda particion P mas fina

que ella se tenga

|S(P, f1, g)−∫ b

a

f1dg| < ε (D.20)

Page 83: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

62 D. LA INTEGRAL DE RIEMANN–STIELTJES

y elegimos otra particion P(2)ε tal que para toda particion P mas fina que ella se

tenga

|S(P, f2, g)−∫ b

a

f2dg| < ε (D.21)

Unimos las particiones para obtener

Pε = P (1)ε ∪ P (2)

ε (D.22)

de modo que, para cada particion P mas fina que Pε se obtiene

|S(P, f, g)− c1

∫ b

a

f1dg − c2

∫ b

a

f2dg| ≤ |c1|ε+ |c2|ε (D.23)

lo que (con una reeleccion del ε) prueba el teorema.

Teorema D.2.3. Si f es integrable respecto de g1 en el sentido de Riemann-Stieltjes en el intervalo [a, b], y tambien es integrable respecto de g2 entonces, paratodo par de constantes c1 y c2, se tiene que f tambien es integrable respecto dec1g1 + c2g2 en el mismo intervalo y vale∫ b

a

fd(c1g1 + c2g2) = c1

∫ b

a

fdg1 + c2

∫ b

a

fdg2 (D.24)

Ejercicio D.2.4. Demostrar el teorema D.2.3 en forma analoga al D.2.2. De-mostrar ademas la aditividad respecto del intervalo de integracion de la integral deRiemann-Stieltjes

D.2.1. Integracion por partes.

Teorema D.2.4. [Formula de integracion por partes] Si f es integrable respectode g, en el sentido de Riemann-Stieltjes, en el intervalo [a, b] entonces g es integrablerespecto de f en el sentido de Riemann-Stieltjes en el intervalo [a, b], y se tiene∫ b

a

f(x)dg(x) +∫ b

a

g(x)df(x) = f(b)g(b)− f(a)g(a) (D.25)

Demostracion: Fijamos un numero ε > 0, por la existencia de la primera integralexiste una particion Pε del intervalo [a, b] tal que para toda particion P mas finaque Pε tenemos

|S(P , f, g)−∫ b

a

f(x)dg(x)| < ε (D.26)

Para una particion P mas fina que Pε planteamos una suma de Riemann-Stieltjescualquiera para la integral

∫ b

ag(x)df(x):

S(P, g, f) =n∑

k=1

g(ξk)∆fk =n∑

k=1

g(ξk)f(xk)−n∑

k=1

g(ξk)f(xk−1) (D.27)

como se tiene ademas que

f(b)g(b)− f(a)g(a) =n∑

k=1

f(xk)g(ξk)−n∑

k=1

f(xk−1)g(ξk−1) (D.28)

Page 84: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

D.2. LA INTEGRAL 63

es posible restar las expresiones D.27 y D.28 para obtener

f(b)g(b)− f(a)g(a)− S(P, g, f)

=n∑

k=1

f(xk)[g(xk)− g(ξk)]−n∑

k=1

f(xk−1)[g(xk)− g(ξk−1)] (D.29)

Si P es una particion formada por los puntos xk y los ξk, entonces es mas finaque la particion P y, por ello, que la Pε entonces si llamamos S(P , f, g) al segundomiembro de la ecuacion D.29 se tiene que la desigualdad D.26 es valida y se tiene

|f(b)g(b)− f(a)g(a)− S(P, g, f)−∫ b

a

g(x)df(x)| < ε (D.30)

para toda particion P mas fina que Pε entonces∫ b

ag(x)dg(x) existe y vale

f(b)g(b)− f(a)g(a)−∫ b

af(x)dg(x)

D.2.2. Propiedades de la integral.

Teorema D.2.5. Sea f una funcion integrable en el sentido de Riemann-Stieltjes respecto de una funcion g de clase C1 en el intervalo [a, b], entonces existela integral de Riemann del segundo miembro y vale∫ b

a

f(x)dg(x) =∫ b

a

f(x)g′(x)dx (D.31)

Demostracion: Sea la suma de Riemann

S(P, fg′) =n∑

k=1

f(ξk)g′(ξk)∆xk (D.32)

y (para la misma particion) la suma de Riemann-Stieltjes

S(P, f, g) =n∑

k=1

f(ξk)∆gk

n∑k=1

f(ξk)g′(ζk)∆xk (D.33)

donde aplicamos el teorema del valor intermedio y ζk ∈ (xk−1, xk), restando seobtiene

S(P, f, g)− S(P, fg′) =n∑

k=1

f(ξk)[g′(ζk)− g′(ξk)]∆xk (D.34)

Utilizando la hipotesis para el integrador g se puede probar que

|S(P, f, g)− S(P, fg′)| < ε

2(D.35)

para cada particion P mas fina que una dada Pε. Por la hipotesis de integrabilidadde f respecto de g se tiene que, para toda particion P mas fina que una dada Pε,vale

|S(P, f, g)−∫ b

a

f(x)dg(x)| < ε

2(D.36)

Entonces cuando P es mas fina que la union Pε ∪ Pε se tiene que

|S(P, fg′)−∫ b

a

f(x)dg(x)| < ε (D.37)

lo que demuestra el teorema.

Page 85: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

64 D. LA INTEGRAL DE RIEMANN–STIELTJES

D.2.2.1. Cambio de variables en la integral de Riemann-Stieltjes. Si la funcionh es un cambio de variables biyectivo de clase C∞ entre el intervalo [a, b] y elintervalo [c, d] entonces vale la siguiente formula de cambio de variables (que damossin demostracion) ∫ h(d)

h(c)

f(t)dg(t) =∫ b

a

f(h(x))dg(h(x)) (D.38)

D.2.2.2. Integral de funciones escalonadas.

Teorema D.2.6. Definimos g en el intervalo [−1, 1] como sigue

g(x) =

c1 si −1 ≤ x < 0c2 si x = 0c3 si 0 < x ≤ 1

(D.39)

(donde c1, c2, y c3 son arbitrarios. Sea f una funcion definida en [−1, 1] de modoque por lo menos una de las funciones f y g sea continua a la izquierda del origeny por lo menos una de las dos lo sea a la derecha de 0. Entonces f es integrable enel sentido de Riemann-Stieltjes en el intervalo [−1, 1] y la integral vale∫ 1

−1

f(x)dg(x) = f(0)(g(0+)− g(0−)) (D.40)

Demostracion: Sea P una particion que contiene al origen, entonces si xk = 0

S(P, f, g) = f(ξk−1)(g(0)− g(0−)) + f(ξk)(g(0+)− g(0)) (D.41)

donde ξk−1 ≤ 0 ≤ ξk. Sumando y restando f(0)g(0) se puede escribir

S(P, f, g)− f(0)(g(0+)− g(0−))= (f(ξk−1)− f(0))(g(0)− g(0−))

+(f(ξk)− f(0))(g(0+)− g(0)) (D.42)

por lo tanto se tiene

|S(P, f, g)− f(0)(g(0+)− g(0−))|≤ |f(ξk−1)− f(0)||g(0)− g(0−)|

+|f(ξk)− f(0)||g(0+)− g(0)| (D.43)

Si f es continua en el origen, para cada ε > 0 existe un δ > 0 tal que, si ‖P‖ < δ,entonces

|f(ξk−1)− f(0)| < ε (D.44)y

|f(ξk)− f(0)| < ε (D.45)de modo que se tiene la desigualdad

|S(P, f, g)− f(0)(g(0+)− g(0−))| ≤ ε|g(0)− g(0−)|+ ε|g(0+)− g(0)| (D.46)

En los otros casos la desigualdad sigue siendo valida(1) f discontinua a izquierda y derecha del origen: entonces g debe ser conti-

nua y vale S(P, f, g)− f(0)(g(0+)− g(0−)) = 0(2) f es discontinua a la derecha y continua a la izquierda: en este caso debe

valer g(0+)− g(0) = 0 y vale

|S(P, f, g)− f(0)(g(0+)− g(0−))| ≤ ε|g(0)− g(0−)| (D.47)

Page 86: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

D.4. PERO, ¿HAY FUNCIONES INTEGRABLES? 65

(3) f es continua a la derecha y discontinua a la izquierda: en este caso debevaler g(0)− g(0−) = 0 y vale

|S(P, f, g)− f(0)(g(0+)− g(0−))| ≤ ε|g(0+)− g(0)| (D.48)

En todos los casos vale la acotacion por lo que el teorema queda demostrado.Este ultimo resultado permite demostrar que las integrales respecto de funcio-

nes escalonadas se reducen a sumas.

Teorema D.2.7. Sea g una funcion escalonada definida en el intervalo [a, b]con salto gk en el punto xk de una particion {x1, x2, . . . , xn} del intervalo. Seaf definida en [a, b] con la propiedad que f y g no sean las dos discontinuas a laizquierda o a la derecha en cada punto xk. Entonces existe la integral de f respectode g y vale ∫ b

a

f(x)dg(x) =n∑

k=1

f(xk)gk (D.49)

Demostracion: Basta descomponer el intervalo [a, b] en subintervalos y aplicar elteorema D.2.6.

D.3. Formula de la suma de Euler

Teorema D.3.1. Supongamos que f es de clase C∞ en [a, b]. Si a y b sonenteros se tiene

b∑n=a

f(n) =∫ b

a

f(x)dx+∫ b

a

(x− bxc − 1

2

)f ′(x)dx+

f(a) + f(b)2

(D.50)

Demostracion: Por el teorema D.2.4 se tiene que∫ b

a

f(x)d(x− bxc − 1

2

)+∫ b

a

(x− bxc − 1

2

)df(x) (D.51)

= f(b)(b− bbc − 1

2

)− f(a)

(a− bac − 1

2

)(D.52)

es decir∫ b

a

f(x) d(x− bxc − 1

2

)+∫ b

a

(x− bxc − 1

2

)df(x) =

f(a)− f(b)2

(D.53)

por ultimo ∫ b

a

f(x)d(x− bxc − 1

2

)=∫ b

a

f(x) dx−b∑

n=a+1

f(n) (D.54)

lo que, al combinarla con la anterior, completa la demostracion.

D.4. Pero, ¿Hay funciones integrables?

Se puede demostrar que si f es continua y g es de variacion acotada en elintervalo [a, b] entonces f es integrable en el sentido de Riemann-Stieltjes respectodel integrador g. La demostracion es muy simple y se basa en la definicion de lasdenominadas sumas superior e inferior de Riemann-Stieltjes y en ver que, cuandose refina la particion, ambas sumas se aproximan tanto como se desee.

Page 87: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

66 D. LA INTEGRAL DE RIEMANN–STIELTJES

D.5. Ejercicios

Ejercicio D.5.1. Una funcion f , definida en [a, b], verifica una condicion 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 funcion, probar que α > 1 implica que f es constante en[a, b], mientras que α = 1 implica que f es de variacion acotada en [a, b]

(b) Dar un ejemplo de una funcion f que satisfaga una condicion uniforme deLipschitz de orden α < 1 en [a, b] tal que f no sea de variacion acotadaen [a, b]

(c) Dar un ejemplo de una funcion f que sea de variacion acotada y que, sinembargo, no satisfaga ninguna condicion uniforme de Lipschitz en [a, b].

Ejercicio D.5.2. Probar que una funcion polinomica f es de variacion acotadaen todo intervalo cerrado y acotado [a, b]. Describir un metodo que permita calcularla variacion total de f en [a, b] conociendo los ceros de la derivada f ′.

Ejercicio D.5.3. La siguiente definicion de la integral de Riemann-Stieltjeses bastante usual en textos matematicos: Se dice que f es integrable respecto de gsi existe un numero real A con la siguiente propiedad: para cada ε > 0 existe unδ > 0 tal que para cada particion P de [a, b] con norma ‖P‖ < δ y cada eleccion deξk en [xk−1, xk], tenemos |S(P, f, g)−A| < ε

(a) Demostrar que si∫ b

afdg existe segun esta definicion entonces tambien

existe de acuerdo con la definicion D.2.1 (pagina 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,

f(0) = 0, y g(0) = 1. Demostrar que∫ b

afdg existe de acuerdo a la

definicion D.2.1 pero no existe segun la definicion de este ejercicio.

Page 88: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

APENDICE E

Polinomios y numeros de Bernoulli

Los polinomios de Bernoulli, Bn(x), resultan de la serie generadora

text

et − 1=

∞∑k=0

Bk(x)tk

k!(E.1)

y los numeros de Bernoulli, Bn, de

t

et − 1=

∞∑k=0

Bktk

k!(E.2)

(es decir, de hacer x = 0 en la anterior, razon por la cual Bn(0) = Bn). Acontinuacion desarrollamos un cuaderno del Mathematica con algunos ejemplos deestos numeros y polinomios.

E.1. Polinomios de Bernoulli con el Mathematica

(* N\’umeros y polinomios de Bernoulli *)

(* Calculamos la serie generadora de los polinomios

la correspondiente serie para los n\’umeros se

obtiene, simplemente, fijando x = 0 en la primera *)

Series[t Exp[t x]/(Exp[t]-1),{t,0,4}]

2 2 3

1 1 x x 2 x x x 3

1 + (-(-) + x) t + (-- - - + --) t + (-- - -- + --) t +

2 12 2 2 12 4 6

2 3 4

1 x x x 4 5

(-(---) + -- - -- + --) t + O[t]

720 24 12 24

Series[t Exp[t x]/(Exp[t]-1),{t,0,12}];

CoefficientList[%,t]

2 2 3 2 3 4

1 1 x x x x x 1 x x x

{1, -(-) + x, -- - - + --, -- - -- + --, -(---) + -- - -- + --,

2 12 2 2 12 4 6 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

Page 89: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

68 E. POLINOMIOS Y NUMEROS DE BERNOULLI

----- - ---- + ---- - ---- + ----,

30240 4320 1440 1440 5040

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*)

En la figura 1 y siguientes representamos algunos de los polinomios de Bernoulli.

c=3;cm1=c-1;

BernoulliB[cm1]

BernoulliB[cm1,x]==cm1! %3[[c]]//Simplify

cm1! %3[[c]]//Simplify

Page 90: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

E.1. POLINOMIOS DE BERNOULLI CON EL Mathematica 69

0.2 0.4 0.6 0.8 1

-0.4

-0.2

0.2

0.4

Figura 1. El polinomio de Bernoulli B1(x)

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

Page 91: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

70 E. POLINOMIOS Y NUMEROS DE BERNOULLI

0.2 0.4 0.6 0.8 1

-0.05

0.05

0.1

0.15

Figura 2. El polinomio de Bernoulli B2(x)

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

Page 92: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

E.1. POLINOMIOS DE BERNOULLI CON EL Mathematica 71

0.2 0.4 0.6 0.8 1

-0.02

-0.01

0.01

0.02

Figura 3. El polinomio de Bernoulli B6(x)

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: *)

Integrate[t Exp[t x]/(Exp[t]-1),x]

t x

E

-------

t

-1 + E

Integrate[t Exp[t x]/(Exp[t]-1),{x,0,1}]//Simplify

1

(* Calculamos ahora el coeficiente de t^40 en el desarrollo en serie *)

n=40;

n! Coefficient[Series[t Exp[t x]/(Exp[t]-1),{t,0,n}],t^n]//Simplify

%==BernoulliB[40,x]

Integrate[%%,{x,0,1}]

Plot[%%%,{x,0,1}]

4

261082718496449122051 2 26315271553053477373 x

-(---------------------) + 380899208799402670 x - ----------------------- +

13530 21

Page 93: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

72 E. POLINOMIOS Y NUMEROS DE BERNOULLI

0.2 0.4 0.6 0.8 1

-0.06

-0.04

-0.02

0.02

0.04

0.06

Figura 4. El polinomio de Bernoulli B10(x)

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

Page 94: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

E.2. NUMEROS DE BERNOULLI 73

-Graphics- (*berno5.wmf*)

0.2 0.4 0.6 0.8 1

-2·1016

-1·1016

1·1016

2·1016

Figura 5. El polinomio de Bernoulli B40(x)

(* 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

E.2. Numeros de Bernoulli

Para demostrar que los numeros de Bernoulli con ındice impar ≥ 3 son nulosobservemos que

t

et − 1−B1t =

t

et − 1+t

2=t

2et + 1et − 1

(E.3)

pero esta ultima es una funcion par puesto que

t

2et + 1et − 1

= − t2

e−t + 1e−t − 1

(E.4)

con lo cual todos los coeficientes de ındice impar de su desarrollo deben anularse.

Page 95: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

74 E. POLINOMIOS Y NUMEROS DE BERNOULLI

Ejercicio E.2.1. Multiplicar ambos miembros de E.2 por et − 1, e igualarcoeficientes para obtener

n∑k=0

(n

k

)Bk = Bn + δ1n (E.5)

Ejercicio E.2.2. Demostrar que

Bm(x) =n∑

k=0

(m

k

)Bkx

m−k (E.6)

En algunos textos la expresion E.6 se toma como definicion de los polinomiosde Bernoulli. Cuando m = 1, se tiene B1(x) = B0x + B1 = x − 1

2 . Si m > 1 setiene Bm(1) = Bm = Bm(0) (ver el ejercicio E.2.1). Resulta, en consecuencia queBm(x− bxc) no tiene saltos en las coordenadas enteras.

E.3. Integracion por partes

Teorema E.3.1. Vale la identidad

B′m(x) = mBm−1(x) (E.7)

Demostracion: Por la expresion E.6 se tiene

B′m(x) =n∑

k=0

(m

k

)(m− k)Bkx

m−k−1 (E.8)

= mn∑

k=0

(m− 1k

)Bkx

m−1−k = mBm−1(x) (E.9)

Por ultimo se tiene la siguiente formula de integracion por partes,

1m!

∫ 1

0

Bm(x)f (m)(x)dx =

1(m+ 1)!

(Bm+1(1)f (m)(1)−Bm+1(0)f (m)(0)

1(m+ 1)!

∫ 1

0

Bm+1(x)f (m+1)(x)dx (E.10)

Este ultimo resultado, convenientemente extendido, lo utilizamos para demos-trar la formula de Euler para el error del metodo trapezoidal.

Page 96: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

APENDICE F

Laboratorio de Matematica: IntegracionAdaptativa

F.1. Objetivos

Las metas del laboratorio∗ de Cuadratura Adaptativa son• Introducir el concepto de metodo adaptativo para la resolucion numerica

de distintos problemas de Matematica, y, en particular, para el caso de laintegracion de funciones

• Comparar la eficiencia de distintos metodos de integracion numerica• Estudiar los errores de aproximacion asociados a distintos metodos de

integracion numerica

F.2. Antes del laboratorio

La idea basica de un metodo adaptativo es refinar los calculos solamente en losdominios en los que es necesario y realizar el mınimo de cuentas en los restantespara lograr a la postre una distribucion uniforme de los errores de aproximacionfunction y=mifun(x)

% MIFUN funci\’on para probar la adaptatividad de QUAD.

% Tiene que ser una funci\’on vectorizada.

% C.E. Neuman, 30 de mayo de 1997

I=find(x < 0.5);

J=find(x >= 0.5);

y=zeros(size(x));

% mayores o iguales que 1/2

y(I)=-2.5e8*((x(I)-0.5).*x(I)).^5;

% menores que 1/2

y(J)=720*(x(J)-0.5);

% fin de la funci\’on mifun

f(x) =

− 52108

(x(x− 1

2 ))5 si x < 1

2

720(x− 12 ) si x ≥ 1

2

(F.1)

Hay posiblessingularidades en el

entorno de 0 y de 0.5∗ Trabajo realizado con fondos provenientes de la Universidad Nacional del Litoral (UNL),

a traves de la programacion Curso de Accion para la Investigacion y el Desarrollo (CAI+D),

Secretarıa de Ciencia y Tecnica de la UNL, subsidio 1042-1042-34-182 y 94-16-4-20. Proyectos Usodel producto Mathematica en la ense nanza de la Matematica y Problemas teoricos y numericosasociados a la obtencion de soluciones de ecuaciones elıpticas y parabolicas

75

Page 97: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

76 F. LABORATORIO DE MATEMATICA: INTEGRACION ADAPTATIVA

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

50

100

150

200

250

300

350

400

Figura 1. Puntos de evaluacion de quad para la funcion f(x) en[0, 2]

Notese en la figura 1 que en el entorno de 0 y de 0.5 se acumulan los puntosy se alcanza en nivel de posible singularidad en el algoritmo quad. Asimismo, enel intervalo donde la funcion es un polinomio de orden 4 el metodo de Simpson esexacto y la distribucion de puntos es uniforme y mucho menos densa.

Ejercicio F.2.1. Dada una funcion f definida en un intervalo [a, b] dar unmetodo adaptativo de interpolacion de f mediante polinomios a trozos de orden 2(splines lineales).

Ejercicio F.2.2. Dada una funcion f definida en un intervalo [a, b] dar unmetodo adaptativo de interpolacion de f mediante polinomios a trozos de orden 4(splines cubicos)

F.3. Laboratorio

Ejercicio F.3.1. Desarrollar un algoritmo —y correspondiente programa enMatlab— que implemente un metodo de integracion numerica adaptativa de unafuncion dada en un intervalo cerrado y acotado del eje real.

Ejercicio F.3.2. Realizar experimentos numericos destinados a determinar lascaracterısticas del comportamiento del programa desarrollado en F.3.1 para distin-tos integrandos y distintos dominios de integracion. Comparar con otros metodosde integracion numerica.

Page 98: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

F.5. REFERENCIAS 77

F.4. Aplicaciones y desarrollos avanzados

Ejercicio F.4.1. Analizar en detalle las funciones quad y quad8 de Matlaby, a partir de ellas, y del programa desarrollado en F.3.1, generar un integradorautomatico mas robusto.

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.: Analisis Numerico, 2da edicion, GrupoEditorial Iberoamerica, Mexico, 1993.

Page 99: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)
Page 100: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

APENDICE G

Laboratorio de Matematica: Solucion adaptativade ODEs

G.1. Objetivos

Las metas del laboratorio∗ de Solucion adaptativa de ODEs son• Desarrollar el concepto de metodo adaptativo introducido en otro labo-

ratorio de este texto para la resolucion numerica de distintos problemasde Matematica, y, en particular, para el caso de la solucion de ecuacionesdiferenciales

• comparar la eficiencia de distintos metodos de solucion numerica de ODEs• estudiar los errores de aproximacion asociados a distintos metodos de

solucion numerica de ODEs.

G.2. Antes del laboratorio

La idea basica de un metodo adaptativo es refinar los calculos solamente en losdominios en los que es necesario y realizar el mınimo de cuentas en los restantespara lograr a la postre una distribucion uniforme de los errores de aproximacion.

Analizar en detalle los resultados del laboratorio de integracion adaptativa.

G.3. Laboratorio

Ejercicio G.3.1. Desarrollar un algoritmo —y correspondiente programa enMatlab— que implemente un metodo de integracion numerica adaptativa de unaecuacion diferencial dada en un intervalo del eje real.

Ejercicio G.3.2. Realizar experimentos numericos destinados a determinarlas caracterısticas del comportamiento del programa desarrollado en G.3.1 paradistintas funciones de carga f(x, y) y distintos dominios de solucion. Comparar conotros metodos de solucion numerica de ODEs.

G.4. Aplicaciones y desarrollos avanzados

Ejercicio G.4.1. Analizar en detalle las funciones ode23 y ode45 de Matlaby, a partir de ellas, y del programa desarrollado en G.3.1, generar un integradorautomatico mas robusto.

∗ Trabajo realizado con fondos provenientes de la Universidad Nacional del Litoral (UNL),

a traves de la programacion Curso de Accion para la Investigacion y el Desarrollo (CAI+D),

Secretarıa de Ciencia y Tecnica de la UNL, subsidio 1042-1042-34-182 y 94-16-4-20. Proyectos Usodel producto Mathematica en la ense nanza de la Matematica y Problemas teoricos y numericos

asociados a la obtencion de soluciones de ecuaciones elıpticas y parabolicas y sus continuaciones

79

Page 101: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

80 G. LABORATORIO DE MATEMATICA: SOLUCION 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.: Analisis Numerico, 2da edicion, GrupoEditorial Iberoamerica, Mexico, 1993.

Page 102: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

APENDICE H

Existencia y unicidad de soluciones de ODEs

Dado el PVI {y′ = f(x, y) x ∈ I,y(x0) = y0 x0 ∈ I.

(H.1)

y las iteraciones de Picard

yn+1 = y0 +∫ x

x0

f(s, yn(s))ds (H.2)

definimos el rectangulo R : |x− x0| ≤ a, |y − y0| ≤ b y

M = max(x,y)∈R

|f(x, y)| (H.3)

L = max(x,y)∈R

∣∣∣∣∂f(x, y)∂y

∣∣∣∣ (H.4)

D = max(x,y)∈R

∣∣∣∣∂f(x, y)∂x

+ f(x, y)∂f(x, y)∂y

∣∣∣∣ (H.5)

Lema H.0.1. Si α = min(a, b/M) entonces |yn(x) − y0| ≤ M(x − x0) parax0 ≤ x ≤ x0 + α

Demostracion: Por induccion en n. Si n = 0 se toma y0(x) = y0. Veamos ahoraque si vale para n = k entonces se puede demostrar el caso n = k+1: |yk(x)−y0| ≤M(x − x0) implica que |yk+1(x) − y0| = |

∫ x

x0f(s, yk(s))ds| ≤

∫ x

x0|f(s, yk(s))|ds ≤

M(x− x0) si x0 ≤ x ≤ x0 + α lo que demuestra el lema por induccion.Se tiene que (yn(x)) converge sii y0(x) + (y1(x) − y0(x)) + (y2(x) − y1(x)) +

. . .+ (yn(x)− yn−1(x)) + . . . converge como serie. En consecuencia bastara ver quela serie es absolutamente convergente:

∞∑n=1

|yn(x)− yn−1(x)| <∞ (H.6)

Observacion H.0.2. La serie es absolutamente convergente

Demostracion:

|yn(x)− yn−1(x)| = |∫ x

x0

(f(s, yn−1(s))− f(s, yn−2(s)))ds| (H.7)

≤∫ x

x0

|f(s, yn−1(s))− f(s, yn−2(s))|ds (H.8)

=∫ x

x0

∣∣∣∣∂f(s, ξ(s))∂y

∣∣∣∣ |yn−1(s)− yn−2(s)|ds (H.9)

81

Page 103: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

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 + α]

≤ L

∫ x

x0

|yn−1(s)− yn−2(s)|ds, x0 ≤ x ≤ x0 + α (H.10)

En particular

|y2(x)− y1(x)| ≤ L

∫ x

x0

|y1(s)− y0|ds (H.11)

≤ L

∫ x

x0

M(s− y0)ds = LM(x− x0)2

2!(H.12)

|y3(x)− y2(x)| ≤ L

∫ x

x0

|y2(s)− y1(s)|ds (H.13)

≤ ML2

∫ x

x0

(s− x0)2

2ds = ML2 (x− x0)3

3!(H.14)

y por induccion

|yn(x)− yn−1(x)| ≤MLn−1(x− x0)n

n!, x0 ≤ x ≤ x0 + α (H.15)

Resulta ası que, para x0 ≤ x ≤ x0 + α

∞∑j=1

|yj(x)− yj−1(x)| ≤ M(x− x0) +ML(x− x0)2

2!+ML2 (x− x0)3

3!+ . . .(H.16)

≤ Mα+MLα2

2!+ML2α

3

3!+ . . . (H.17)

=M

L(αL+

(αL)2

2+

(αL)3

3+ . . .) =

M

L(eαL − 1)(H.18)

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 denotara y(x)

Observacion H.0.3. La funcion y(x) satisface la ecuacion integral

y(x) = y0 +∫ x

x0

f(s, y(s))ds (H.19)

y se tiene que y(x) es continua

Como

yn+1(x) = y0 +∫ x

x0

f(s, yn(s))ds (H.20)

tomamos lımite:

y(x) = y0 + limn→∞

∫ x

x0

f(s, yn(s))ds (H.21)

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 graficos en R.

Page 104: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

H. EXISTENCIA Y UNICIDAD DE SOLUCIONES DE ODES 83

H.0.1. Calculo del lımite.

|∫ x

x0

f(s, y(s))ds −∫ x

x0

f(s, yn(s))ds| ≤ (H.22)

≤∫ x

x0

|f(s, y(s))− f(s, yn(s))|ds (H.23)

≤ L

∫ x

x0

|y(s)− yn(s)|ds (H.24)

pero y(s)− yn(s) =∑∞

j=n+1(yj(s)− yj−1(s)) y entonces

|y(s)− yn(s)| ≤ M∞∑

j=n+1

Lj−1 (s− x0)j

j!(H.25)

≤ M∞∑

j=n+1

Lj−1αj

j!(H.26)

=M

L

∞∑j=n+1

(αL)j

j!M

L(eαL − 1) (H.27)

de modo que la integral es

(H.24) ≤ M∞∑

j=n+1

(Lα)j

j!

∫ x

x0

ds (H.28)

≤ Mα∞∑

j=n+1

(Lα)j

j!→ 0 (n→∞) (H.29)

Resulta ası que

limn→∞

∫ t

t0

f(s, yn(s))ds =∫ t

t0

f(s, y(s))ds (H.30)

H.0.2. Continuidad de y(x). Escribimos

y(x+h)−y(x) = (y(x+h)−yN (x+h))+(yN (x+h)−yN (x))+(yN (x)−y(x)) (H.31)

Sea N tal queM

L

∞∑j=N+1

(αL)j

j!<ε

3(H.32)

de modo que si h es suficientemente pequeno, h < α, se tiene

|y(x+ h)− yN (x+ h)| < ε

3(H.33)

y|y(x)− yN (x)| < ε

3(H.34)

y, por la continuidad de yN (integral repetida)

∃δ > 0: |yN (x+ h)− yN (x)| < ε

3si |h| < δ (H.35)

entonces

|y(x+h)−y(x)| ≤ |y(x+h)−yN (x+h)|+|yN (x+h)−yN (x)|+|yN (x)−y(x)| ≤ ε si |h| < δ(H.36)

Page 105: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

84 H. EXISTENCIA Y UNICIDAD DE SOLUCIONES DE ODES

Hemos demostrado ası que el problema de valores iniciales tiene una solucioncontinua en x0 ≤ x ≤ x0 + α

Teorema H.0.4. La solucion es unica

Demostracion: Supongamos que ademas de y(x) se tiene que z(x) tambien essolucion:

y(x) = y0 +∫ x

x0

f(s, y(s))ds (H.37)

z(x) = y0 +∫ x

x0

f(s, z(s))ds (H.38)

entonces

|y(x)− z(x)| = |∫ x

x0

(f(s, y(s))− f(s, z(s)))ds| (H.39)

≤∫ x

x0

|f(s, y(s))− f(s, z(s))|ds (H.40)

≤ L

∫ x

x0

|y(s)− z(s)|ds (H.41)

lo que prueba el teorema una vez demostrado el siguiente lema

Lema H.0.5. Sea w(x) una funcion no negativa con

w(x) ≤∫ x

x0

w(s)ds (H.42)

Entonces w(x) es identicamente cero.

Demostracion: Sea U(x) =∫ x

x0w(s)ds entonces

dU

dx= w(x) ≤

∫ x

x0

w(s)ds = LU(x) (H.43)

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

0 ≤ w(x) ≤ L

∫ x

x0

w(s)ds = LU(x) = 0 (H.46)

o tambien

w(x) = 0 (H.47)

Page 106: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

H.1. REFERENCIAS 85

H.0.3. Errores en el metodo de Euler. El metodo de Euler tiene la ex-presion yk+1 = yk + hf(xk, yk). Si desarrollamos en serie de Taylor: Y (xk+1 =Y (xk) + hf(xk, Y (xk)) + h2

2 (∂f∂x + f ∂f

∂y )(ξk, Y (ξk)) con ξk ∈ int(xk, xk+1)

Si restamos: Yk+1 − yk+1 = Yk − yk + h(f(xk, Yk) − f(xk, yk)) + h2

2 (fx +ffy)(ξk, Y (ξk)) y se tiene

|Yk+1 − yk+1| ≤ |Yk − yk|+ h|fy(xk, ηk)||Yk − yk|+h2

2|(fx + ffy)(ξk, Y (ξk))|(H.48)

≤ |Yk − yk|+ hL|Yk − yk|+Dh2

2(H.49)

y si llamamos Ek = |Yk − yk| al error (k > 0) se tiene

Ek+1 = (1 + hL)Ek +Dh2

2(H.50)

Se prueba que

Ek ≤ (1 + hL)kE0 +Dh2

2((1 + hL)k − 1)

hL(H.51)

y como (1 + hL) ≤ ehL se tiene tambien que

Ek ≤ ekhLE0 +Dh

2L(ekhL − 1) (H.52)

como kh < α

Ek ≤ eαLE0 +D

2L(eαL − 1)h (H.53)

H.1. 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.: Analisis Numerico, 2da edicion, GrupoEditorial Iberoamerica, Mexico, 1993.

Page 107: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)
Page 108: Analisis numerico de_integrales_y_ecuaciones_diferenciales_(c._e._neuman)

H.1. REFERENCIAS 87

Terminado de imprimir el doce de noviembre de dos mil uno en elDepartamento de Matematica (FIQ), Universidad Nacional delLitoral, en la ciudad de Santa Fe, Republica Argentina.