Está en la página 1de 70

MATEMTICAS III

Grado en Ingeniera Aeroespacial


NOTAS
Damin Ginestar Peir
Mara Dolores Rosell Ferragud
ESCUELA TCNICA SUPERIOR DE INGENIERA
DEL DISEO
DEPARTAMENTO DE MATEMTICA APLICADA
UNIVERSITAT POLITCNICA DE VALNCIA
1
ndice general
1. Introduccin a la modelizacin matemtica en la Ingeniera 4
1.1. Modelizacin matemtica . . . . . . . . . . . . . . . . . . . . . 4
1.2. Algunos modelos matemticos elementales . . . . . . . . . . . 8
1.3. Anlisis dimensional de modelos matemticos . . . . . . . . . 12
2. Interpolacin 15
2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2. Interpolacin polinmica . . . . . . . . . . . . . . . . . . . . . 16
2.2.1. Polinomios de Lagrange . . . . . . . . . . . . . . . . . 17
2.2.2. Algoritmo de Neville . . . . . . . . . . . . . . . . . . . 21
2.2.3. Frmula de interpolacin de Newton. Diferencias divi-
didas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.4. Error en la interpolacin polinmica . . . . . . . . . . 28
2.2.5. Problemas con la interpolacin polinmica . . . . . . . 28
2.3. Interpolacin por splines . . . . . . . . . . . . . . . . . . . . . 30
2.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3. Mtodos numricos para problemas de valor inicial 36
3.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2. Mtodo del desarrollo en serie de Taylor . . . . . . . . . . . . 37
3.3. Mtodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4. Mtodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . 42
3.5. Mtodos multipaso . . . . . . . . . . . . . . . . . . . . . . . . 44
2
3.6. Ecuaciones rgidas . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.6.1. Estabilidad lineal . . . . . . . . . . . . . . . . . . . . . 48
3.6.2. Mtodos implcitos hacia atrs . . . . . . . . . . . . . . 50
3.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4. Mtodos Numricos para problemas de contorno 52
4.1. Diferencias nitas . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2. Diferencias nitas para problemas elpticos . . . . . . . . . . . 54
4.3. Diferencias nitas para problemas parablicos . . . . . . . . . 55
4.4. Diferencias nitas para problemas hiperblicos . . . . . . . . . 58
4.5. Ecuacin de conveccin-difusin . . . . . . . . . . . . . . . . . 59
4.6. Tcnicas variacionales . . . . . . . . . . . . . . . . . . . . . . 62
4.7. Introduccin a los elementos nitos . . . . . . . . . . . . . . . 65
3
Captulo 1
Introduccin a la modelizacin
matemtica en la Ingeniera
Uno de los principales logros de la Matemtica es su aplicabilidad a la
solucin de problemas reales. Algunos de estos problemas aparecen en fe-
nmenos de la naturaleza como por ejemplo, la propagacin de ondas, la
prediccin del tiempo, y otros muchos aparecen en aplicaciones o procesos
industriales o tcnicos, como por ejemplo, el control de temperaturas, el di-
seo de una cadena de montaje, el control de vuelo en un avin, el diseo de
una aeronave, etc. Frecuentemente, a la resolucin del problema se aaden
otro tipo de factores, como pueden ser, la inaccesibilidad de la maquinaria
o procesos de corrosin qumica, que incrementan la dicultad de obtener
los resultados deseados y detectar averias. Las matemticas juegan un papel
fundamental en estos casos ya que permiten disear modelos que se ajus-
ten al comportamiento del problema, complementando el estudio terico del
modelo con un proceso de simulacin que mejore los resultados obtenidos.
1.1. Modelizacin matemtica
En esta parte pretendemos dar respuesta, de forma introductoria, a las
siguientes preguntas:
Qu signica el trmino modelo?, cmo se construye un modelo? y qu
es lo que podemos conseguir con l?
A grandes rasgos, un modelo matemtico es aquel que utiliza las tcnicas
matemticas, como por ejemplo, ecuaciones, funciones, probabilidades, etc.,
4
para la representacin de un determinado proceso o fenmeno del mundo real.
Los modelos matemticos pueden ser de diferentes tipos, como por ejemplo:
Estticos: Son modelos invariables en el tiempo. El modelo de una
construccin, pieza o dispositivo en los que se relacionen sus variables
de estado principales con otras primarias puede considerarse como un
modelo esttico.
Dinmicos: Son aquellos modelos que evolucionan con el tiempo. La
mayora de modelos tienen un comportamiento dinmico.
Continuos: Son los modelos que consideran las variables de estado del
sistema como continuas.
Discretos: Son aquellos que consideran las variables discretas. Los mo-
delos discretos son de gran utilidad en procesos intrnsecamente dis-
cretos como los que aparecen en procesos econmicos o en diseo de
procesos informticos.
Deterministas: Son modelos donde no hay incertidumbre y se puede
conocer de manera puntual la forma del resultado. Los principales mo-
delos deterministas de procesos continuos suelen estar representados
por ecuaciones o sistemas de ecuaciones diferenciales ordinarias o en
derivadas parciales. Los principales modelos deterministas de procesos
discretos suelen estar representados por ecuaciones o sistemas de ecua-
ciones en diferencias.
Estocsticos: Son modelos en los que no se conoce el resultado espera-
do, sino su probabilidad y existe por tanto incertidumbre. Los modelos
estocsticos permiten extraer informacin acerca de una causa-efecto o
hacer predicciones sobre algn proceso. Estos modelos vienen represen-
tados por ecuaciones que involucran probabilidades. Cuando un par-
metro o variable involucran aleatoriedad se les suele llamar variables
aleatorias, y si se trata de una funcin proceso estocstico.
La solucin de los modelos matemticos se pueden obtener por mtodos
analticos o por mtodos numricos. La resolucin analtica consiste en la
obtencin de una expresin que nos proporcione toda la informacin nece-
saria sobre dicha solucin. La resolucin numrica consiste en encontrar una
aproximacin de la solucin buscada dentro de un orden de tolerancia.
Uno de los propsitos de un modelo es que permita predecir la respues-
ta de un sistema dadas una condiciones. Por una parte, el modelo debe ser
5
una buena aproximacin al sistema real e incorporar la mayor parte de sus
caractersticas. Por otra parte, no debe ser tan complejo que sea imposible
de entender o experimentar con l. Tambin hay que tener en cuenta el coste
de la construccin y resolucin del modelo, ya que en muchas ocasiones ne-
cesitaremos una respuesta rpida. Adems, el modelo debe ser exible, esto
es, deber ser capaz de responder adecuadamente a cambios en el sistema.
Resumiendo, para elaborar un modelo matemtico hay que tener en cuen-
ta las siguientes propiedades:
Fidelidad
Complejidad
Coste
Flexibilidad
Un buen modelo debe mantener el equilibrio entre realidad y simplicidad.
Es conveniente empezar con un modelo sencillo e ir completndolo de forma
gradual.
El proceso para elaborar un modelo matemtico es el siguiente:
Paso 1. Identicacin del problema: Identicar el problema real que hay
que resolver y determinar qu se quiere hacer o encontrar.
Paso 2. Formulacin del modelo matemtico: Determinar la informa-
cin relevante y los datos que son de utilidad y hacer hiptesis. Bsi-
camente se realizarn dos tareas:
a. Determinacin de variables: Identicar las variables involucra-
das en el proceso, estableciendo si son parmetros, variables de-
pendientes o independientes, especicar las restricciones, etc.
b. Formulacin matemtica: Realizar hiptesis lo sucientemente
simples para tratarse de manera matemtica. Formular el tipo
de ecuacin o procedimiento que mejor describe y se ajusta a la
idealizacin del problema, teniendo en cuenta si existen diferentes
alternativas al modelo.
Paso 3. Resolucin o interpretacin: Aplicar los conocimientos mate-
mticos para resolver o interpretar el modelo.
6
Paso 4. Vericacin y validacin: Comparar los datos obtenidos con da-
tos reales. Esto puede dar lugar a incorporar nuevas necesidades en el
modelo para mejorar los resultados. Si los resultados se alejan de los
objetivos, reajustar los parmetros y/o el modelo e iniciar el proceso.
En la Figura 1.1 podemos ver de forma esquemtica el procedimiento an-
terior. Se empieza examinando el sistema e identicando el comportamiento
particular que deseamos predecir o explicar. Despus se identican las varia-
bles y se realizan hiptesis lo sucientemente sencillas para poderlas formular
matemticamente y generar el modelo. Entonces se valida el modelo con las
pruebas o ensayos necesarios. Si los resultados son satisfactorios se puede usar
el modelo para la nalidad prevista. Si los resultados no son satisfactorios
hay varias posibilidades. Se puede decidir que el modelo necesita ser renado
bien incorporando nuevas variables o reestructurando parte del modelo. En
algunos casos los resultados pueden ser tan insatisfactorios que el problema
original debe ser redenido porque era demasiado ambicioso.
Figura 1.1: La naturaleza iterativa de la construccin de un modelo
El proceso que se presenta en la Figura 1.1 no slo hace hincapi en la
naturaleza iterativa de la construccin del modelo, sino tambin introduce el
equilibrio entre la simplicacin y el renamiento del modelo. Generalmente
se empieza con un modelo simple y se evoluciona en el proceso de modelado,
renndolo segn los resultados obtenidos en el proceso de validacin. Si no
7
se puede llegar a un modelo o resolverlo, se debe simplicar. Si los resultados
no son sucientemente precisos se debe renar el modelo.
Debido generalmente a los altos costes en la fabricacin de prototipos, en
los ltimos aos se ha incrementado considerablemente el uso de la simula-
cin. El uso de la simulacin antes de cambiar o elaborar un nuevo producto
permite reducir las posibilidades de que no se cumplan las especicaciones
deseadas, eliminar obstculos imprevistos, prevenir el hecho de utilizar exce-
sivos o escasos recursos y optimizar su rendimiento.
En particular, dentro del campo de la aeronutica, debido al alto cos-
te de la construccin y las pruebas de vuelo en aviones reales, los modelos
matemticos juegan un papel fundamental. Estos modelos se usan conjunta-
mente con la simulacin por ordenador, entre otras cosas, para evaluar las
posibilidades de un prototipo de avin y de aqu mejorar el diseo del mis-
mo. Adems, una vez obtenido y validado el modelo se puede utilizar para
realizar simulaciones de vuelo, reconstruir las condiciones de vuelo tras un
accidente, estudiar efectos en la modicacin del diseo, predecir la fatiga
producida en cierta parte del fuselaje del avin, etc.
1.2. Algunos modelos matemticos elementales
En este apartado veremos algunos ejemplos de modelos matemticos sen-
cillos. El primer ejemplo describe las oscilaciones lineales de una masa obli-
gada a moverse en lnea recta.
Ejemplo 1.1 (Sistema lineal muelle-masa) Vamos a considerar un sis-
tema mecnico constituido por una masa m que se puede trasladar a lo largo
de una lnea horizontal, por ejemplo, el eje x, ver Figura 1.2. La posicin
de la masa se identica por la coordenada de su centro de masas, P, que
est atado a un muelle elstico, cuyos extremos son A y P. Las hiptesis que
denen el sistema mecnico son las siguientes:
El sistema se comporta como una masa puntual cuya posicin se iden-
tica por la variable x.
La accin del muelle es una fuerza dirigida hacia el punto A de mdulo
T = kx.
Las fuerzas de rozamiento son despreciables con respecto a la accin
del muelle.
8
P A
k
x
Figura 1.2: Sistema masa-muelle
Aplicando la ley de Newton de la mecnica clsica tenemos
m
d
2
x
d t
2
= kx. (1.1)
El modelo matemtico es una ecuacin de evolucin para el siguiente
vector de variables:
u =
_
u
1
= x, u
2
=
dx
dt
_
.
Utilizando las variables anteriores, la ecuacin diferencial ordinaria de se-
gundo orden (1.1) queda
_

_
du
1
dt
= u
2
,
du
2
dt
=
k
m
u
1
,
que es un sistema de ecuaciones diferencial lineal de primer orden.
El siguiente ejemplo trata sobre la modelizacin del fenmeno de difusin
del calor.
Ejemplo 1.2 (Modelo lineal de difusin del calor) Considera el mode-
lo lineal unidimensional de difusin del calor en una barra. Las hiptesis que
denen el modelo mecnico son las siguientes:
El estado del sistema se describe por la temperatura u = u(t, x) a lo
largo del eje de la barra que podemos identicar por la variable x
[0, 1]. Se desprecian variaciones ortogonales a los ejes de la barra, ya
que las paredes de la barra estn perfectamente aisladas.
9
El ujo de calor, q, por unidad de rea es proporcional al gradiente de
temperaturas:
q = h
0
u
x
, (1.2)
donde h
0
es el coeciente de conduccin del calor.
Las propiedades materiales del conductor se identican por el coecien-
te de conduccin del calor, h
0
, y el calor especco c
0
.
dx
q

q
+
Figura 1.3: Difusin en una dimensin espacial
El modelo matemtico se puede obtener igualando el ujo neto de calor
en el elemento de volumen a la velocidad de crecimiento de la capacidad
calorca en el volumen. Sean q

y q
+
, respectivamente, los ujos de calor
entrante y saliente por unidad de rea, ver Figura 1.3. El equilibrio anterior
lo podemos formular como
c
0
A
u
t
dx = A
_
q
+
q

_
= A
q
x
dx, (1.3)
donde A es el rea de una seccin perpendicular al eje de la barra.
Usando la ecuacin (1.2) en (1.3) se tiene:
u
t
= k
0

2
u
x
2
, k
0
=
h
0
c
0
.
El modelo anterior tambin se puede utilizar para describir la distribucin
de temperaturas estacionaria, que se obtiene igualando a cero la parte derecha
de la ecuacin anterior,
k
0
d
2
u
dx
2
= 0.
Una generalizacin del ejemplo anterior a un modelo no lineal la propo-
nemos en el siguiente ejemplo.
10
Ejemplo 1.3 (Modelo no lineal de difusin del calor) En la modeliza-
cin del fenmeno del ujo de calor se puede introducir la no linealidad. Por
ejemplo, si el coeciente del ujo de calor depende de la temperatura, esto
es, h = h(u), la misma ecuacin de equilibrio genera el siguiente modelo:
u
t
=

x
_
k(u)
u
x
_
, k(u) =
h(u)
c
0
.
El siguiente ejemplo est relacionado con el modelo de difusin del calor
visto en el Ejemplo 1.2. En l, consideramos un modelo matemtico capaz
de describir la difusin de un contaminante de un uido en un espacio uni-
dimensional. Como veremos, se obtendr una ecuacin de evolucin anloga
a la del Ejemplo 1.2.
Ejemplo 1.4 (Modelo lineal de difusin de un contaminante) En es-
ta ocasin vamos a considerar un conducto lleno de un uido en reposo y un
contaminante que se difunde en el conducto en la direccin x del eje del
conducto. Las hiptesis que denen el modelo mecnico son las siguientes:
La cantidad fsica que dene el estado del sistema es la concentracin
del contaminante:
c = c(t, x) : [t
0
, T] [0, l] R
+
.
Las variaciones de c a lo largo de coordenadas ortogonales al eje x son
despreciables.
La masa por unidad de volumen del contaminante lo indicaremos por

0
y la supondremos constante.
No hay dispersin o inmersin de contaminante en las paredes.
El uido es estacionario, mientras que la velocidad de difusin del con-
taminante se describe por un modelo fenomenolgico que establece que
la velocidad de difusin es directamente proporcional al gradiente de c
e inversamente proporcional a c.
El modelo de evolucin, es decir, una ecuacin de evolucin para c se
puede obtener utilizando la ecuacin de conservacin de la masa. Para de-
rivar tal ecuacin, consideremos, teniendo en cuenta la Figura 1.3, el ujo
q = q(t, x) a lo largo del conducto y sean q

y q
+
los ujos entrante y sa-
liente, respectivamente. Bajo las condiciones de regularidad adecuadas, que
11
son consistentes con el sistema fsico, tenemos que la relacin entre los ujos
anteriores viene dado por
q
+
= q

+
q
x
dx.
Una ecuacin de equilibrio se puede obtener igualando la cantidad de ujo
neto al incremento de masa en el elemento de volumen Adx, siendo A la
seccin del conducto. Obtenemos la siguiente ecuacin:

0
A
c
t
dx + A
(cv)
x
dx = 0, (1.4)
donde v es la velocidad de difusin que, teniendo en cuenta las hiptesis
anteriores, se puede escribir de la siguiente forma:
v =
h
0
c
c
x
, (1.5)
siendo h
0
el coeciente de difusin.
Sustituyendo la ecuacin (1.5) en (1.4), tenemos
c
t
= k
0

2
c
x
2
, k
0
=
h
0

0
,
que es un modelo lineal.
1.3. Anlisis dimensional de modelos matem-
ticos
Los Ejemplos 1.1 y 1.4 se pueden reescribir usando variables adimensio-
nales. Este procedimiento siempre se puede aplicar. De hecho, siempre es til,
y en algunos casos necesario, escribir modelos en los que todas las variables,
dependientes e independientes, estn escritas en forma adimensional referidas
a unas variables de referencia adecuadas. Estas se pueden elegir de forma que
las nuevas variables tomen valores en los dominios [0, 1] o [1, 1].
Las variables de referencia se pueden elegir considerando razones fsicas
y/o geomtricas relacionadas con el sistema particular que se est mode-
lizando. Tcnicamente, si consideramos w
v
cierta variable (dependiente o
independiente), y suponemos que los valores menor y mayor de w
v
son, res-
pectivamente, w
m
y w
M
, determinados por medidas fsicas o geomtricas,
12
podemos obtener la siguiente variable adimensional:
w =
w
v
w
m
w
M
w
m
, w [0, 1].
Por ejemplo, si w
v
representa la temperatura de un material slido, po-
demos suponer w
m
= 0 y w
M
= w
c
, siendo w
c
la temperatura de fusin del
slido.
En principio, la descripcin del modelo debera denir la evolucin dentro
del dominio [0, 1]. Si esto no ocurriera, el modelo tendra que ser analizado
de forma crtica.
Si w
v
es una de las variables espaciales independientes, por ejemplo, x
v
, y
v
y z
v
para un sistema de dimensin nita, entonces podemos adimensionalizar
tomando como variables de referencia el menor y mayor valor que toman cada
una de ellas, respectivamente, x
m
, y
m
, z
m
, y x
M
, y
M
, z
M
.
En algunos casos, puede ser til referenciar todas las variables con res-
pecto a una nica variable espacial, generalmente la que alcanza un valor
mayor. Por ejemplo, supongamos que x
m
= y
m
= z
m
= 0, y que y
M
= ax
M
,
y z
M
= bx
M
, con a, b < 1, entonces,
x =
x
v
x
M
, y =
y
v
x
M
, z =
z
v
x
M
,
con x [0, 1], y [0, a], z [0, b].
Una cuestin ms delicada es la eleccin del tiempo de referencia. Tcni-
camente, si el tiempo inicial es t
0
y t
v
es el tiempo real, podemos tomar:
t =
t
v
t
0
T
c
t
0
, t 0,
donde generalmente podemos tomar t
0
= 0.
Ejemplo 1.5 (Adimensionalizacin del modelo lineal muelle-masa)
Consideremos el modelo descrito en el Ejemplo 1.1, en el que aadimos la
siguiente hiptesis:
Se aplica una fuerza F en la direccin del eje x.
En este caso, el modelo se puede escribir de la siguiente forma:
m
d
2
x
v
dt
2
v
= F kx
v
. (1.6)
13
Es natural tomar l = F/k, t = t
v
/T
c
, y x = x
v
/l. Entonces la ecuacin (1.6)
se reescribe
m
kT
2
c
d
2
x
dt
2
= 1 x.
Suponiendo
m
kT
2
c
= 1 = T
2
c
=
m
k
se tiene
d
2
x
dt
2
= 1 x,
que es un modelo de segundo orden.
Su evolucin se puede analizar en trminos de unidades de T
c
.
Ejemplo 1.6 (Modelo adimensional lineal de difusin de un
contaminante) Consideremos el modelo descrito en el Ejemplo 1.4, que
en trminos de variables reales se puede escribir como:
c
v
t
v
= k
0

2
c
v
x
2
v
, k
0
=
h
0

0
. (1.7)
Es natural tomar u = c
v
/c
M
, t = t
v
/T
c
, y x = x
v
/l. Entonces la ecuacin
(1.7) se reescribe
1
T
c
u
t
=
k
0
l
2

2
u
x
2
.
Suponiendo
k
0
T
c
l
2
= 1 = T
c
=
l
2
k
0
se tiene
u
t
=

2
u
x
2
. (1.8)
En particular, la ecuacin (1.8) que se obtiene es el mismo modelo, des-
pus de escalar, para describir el fenmeno de difusin en distintos medios.
De hecho, slo vara T
c
dependiendo de las propiedades del medio. Esto sig-
nica que la evolucin es cualitativamente la misma, pero que evoluciona en
el tiempo con diferentes velocidades escaladas respecto a T
c
.
Escribir un modelo en trminos de variables adimensionales es til por
varias razones, tanto desde el punto de vista analtico como computacional.
14
Captulo 2
Interpolacin
2.1. Introduccin
Dados los pares de nmeros reales (x
0
, f
0
), (x
1
, f
1
), . . . , (x
n
, f
n
), que fre-
cuentemente vendrn expresados en una tabla de valores,
x
0
x
1
x
n
f
0
f
1
f
n
la interpolacin trata de resolver uno o ambos de los siguientes problemas:
Encontrar una funcin f(x) tal que
f(x
i
) = f
i
, i = 0, 1, . . . , n.
Calcular f( x) para un punto x = x
i
, i = 0, 1, 2, . . . , n
El ltimo problema, como veremos, puede resolverse sin necesidad de
obtener explcitamente la funcin f. Cuando x se encuentra comprendido
entre el mnimo y el mximo de los x
i
, se tiene propiamente el problema de
interpolacin. En cambio cuando x se encuentra fuera de este intervalo se
llama problema de extrapolacin. Los mtodos que vamos a estudiar sirven
en ambos casos, aunque siempre hay que tener en cuenta que el error en la
extrapolacin es mucho mayor que en la interpolacin.
Calcular f( x) a partir de x es un problema de interpolacin directa. En
algunas ocasiones necesitaremos calcular el valor de x a partir del valor de
f( x), en este caso se tratara de un problema de interpolacin inversa.
15
Los datos conocidos (x
i
, f
i
) por los que tiene que pasar la funcin que se
busca se llaman puntos soporte de la interpolacin o nodos de interpolacin,
x
i
son las abcisas soporte y f
i
son las ordenadas soporte.
Segn se elija la funcin f se tienen diferentes tipos de interpolacin, cada
una con sus caractersticas y algoritmos. Los tipos ms frecuentes son:
polinmica, en este caso la funcin interpolante f es un polinomio.
splines
1
, cuando la funcin interpolante f es una funcin polinmica a
trozos a la que se le exigen dos condiciones adicionales.
racional, la funcin f es una funcin racional. Un caso particular muy
importante es los interpolantes de Pad, en este caso se necesitan los
datos correspondientes a valores de la funcin y sus derivadas en un
punto.
trigonomtrica, f es una combinacin de funciones trigonomtricas. Se
aplica sobre todo cuando se sabe que los datos responden a un problema
peridico.
Debido a que los polinomios tienen, entre otras, la ventaja de derivarse
e integrarse fcilmente, siendo las funciones resultantes nuevamente polino-
mios, la interpolacin polinmica es de las ms sencillas y utilizadas, no slo
para resolver el problema de interpolacin propiamente dicho sino como he-
rramienta para resolver otros problemas numricamente, como el clculo de
integrales o de derivadas. Tambin se utiliza, cada vez con ms frecuencia, la
interpolacin por splines.
2.2. Interpolacin polinmica
Supongamos conocidos los valores en los n + 1 puntos x
0
, x
1
, . . . , x
n
de
una funcin segn la tabla
x
0
x
1
x
n
f
0
f
1
f
n
Vamos a construir un polinomio P
n
(x), denominado polinomio interpola-
dor, de grado menor o igual que n que cumpla
P
n
(x
i
) = f
i
, i = 0, 1, . . . , n. (2.1)
1
En la literatura tambin se utiliza el trmino cercha para referirse a spline
16
Una posible forma de resolver el problema es plantear el siguiente polino-
mio de grado n
P
n
(x) = a
0
+ a
1
x + a
2
x
2
+ + a
n
x
n
, (2.2)
con coecientes a
i
, i = 0, 1, . . . , n, indeterminados, e imponer que (2.2) veri-
que (2.1). Esto signica que obtener el polinomio interpolador es equivalente
a resolver el sistema de ecuaciones
a
0
+ a
1
x
0
+ + a
n
x
n
0
= f
0
,
a
0
+ a
1
x
1
+ + a
n
x
n
1
= f
1
,
.
.
.
a
0
+ a
1
x
k
+ + a
n
x
n
n
= f
n
.
La existencia y unicidad de solucin del sistema anterior depende del
determinante de Vandermonde,
=

1 x
0
x
2
0
x
n
0
1 x
1
x
2
1
x
n
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 x
n
x
2
n
x
n
n

= (x
1
x
0
) (x
2
x
0
) (x
2
x
1
) (x
n
x
0
) (x
n
x
n1
)
=

0k<jn
(x
j
x
k
)
De donde concluimos que si todos los x
i
son distintos entre s, entonces
= 0 y el sistema anterior tiene una nica solucin. Por tanto, si los nodos
de interpolacin son distintos, el polinomio interpolador (2.2) existir y ser
nico independientemente del valor que tomen los f
i
.
Pero esta forma de afrontar el problema es, desde el punto de vista prc-
tico, poco operativa. Vamos a estudiar otros mtodos para construir el poli-
nomio interpolador.
2.2.1. Polinomios de Lagrange
El siguiente resultado proporciona una forma explcita del polinomio in-
terpolador buscado sin tener que resolver el sistema anterior.
17
Teorema 2.1 (Polinomio interpolador de Lagrange) Dado el conjun-
to de puntos (x
0
, f
0
) , (x
1
, f
1
) , . . . , (x
n
, f
n
), se considera el polinomio
P
n
(x) =
n

i=0
f
i
L
n,i
(x)
donde
L
n,i
(x) =
(x x
0
) (x x
1
) (x x
i1
) (x x
i+1
) (x x
n
)
(x
i
x
0
) (x
i
x
1
) (x
i
x
i1
) (x
i
x
i+1
) (x
i
x
n
)
,
con i = 0, 1, . . . , n. Este polinomio es un polinomio interpolador para los
puntos (x
i
, f
i
), i = 0, 1, . . . , n.
Demostracin. En primer lugar, el polinomio P
n
(x) tiene grado menor o
igual que n puesto que es combinacin lineal de los polinomios L
n,i
(x), y
stos tienen grado n. Por otra parte, observemos que
L
n,i
(x
l
) =
n

j=0
j=i
x
l
x
j
x
i
x
j
=
_
1 si l = i
0 si l = i
,
de donde
P
n
(x
i
) = L
n,i
(x
i
) f
i
= f
i
, i = 0, 1, . . . , n.

El polinomio P
n
(x) obtenido en el Teorema 2.1 se conoce con el nom-
bre de polinomio interpolador de Lagrange. A partir de ahora tambin lo
denotaremos por P(x).
Ejemplo 2.1 Calcular el polinomio de interpolacin para
x
i
0 2 3
f
i
0,5 2 0,5
y calcular P(1) y P(1,5).
Los polinomios de Lagrange necesarios son:
L
2,0
(x) =
(x 2)(x 3)
(0 2)(0 3)
L
2,1
(x) =
(x 0)(x 3)
(2 0)(2 3)
L
2,2
(x) =
(x 0)(x 2)
(3 0)(3 2)
18
Por tanto el polinomio interpolador es:
P(x) = 0,5L
2,0
(x) + 2L
2,1
(x) + 0,5L
2,2
(x).
Una vez obtenido, se calcula el valor aproximado en 1 y en 1,5:
P(1) = 0,5L
2,0
(1) + 2L
2,1
(1) + 0,5L
2,2
(1)
= 0,5
1
3
+ 2 1 + 0,5
_
1
3
_
= 2
P(1,5) = 0,5L
2,0
(1,5) + 2L
2,1
(1,5) + 0,5L
2,2
(1,5)
= 0,5 0,125 + 2 1,125 + 0,5 (0,25) = 2,1875
En la gura 2.1 puede verse la representacin grca de los polinomios de
Lagrange utilizados en este ejemplo as como el polinomio de interpolacin
obtenido.
1 0 1 2 3 4
3
2
1
0
1
2
3


Pol. Lag. 0
Pol. Lag. 1
Pol. Lag. 2
Datos
Pol. Interp
Figura 2.1: Polinomios de Lagrange y polinomio de interpolacin correspon-
dientes a los datos del ejemplo 2.1.
19
La interpolacin de Lagrange es muy sencilla conceptualmente. En as-
pectos tericos, es til, por ejemplo, para deducir frmulas de integracin
numrica. Sin embargo, en las aplicaciones, es poco prctica, salvo en el caso
de tener que interpolar para los mismos nodos con diferentes ordenadas so-
porte. Aadir o eliminar uno slo de los puntos soporte cambia totalmente
los polinomios de Lagrange y hace que se deba volver a recalcular todo desde
el principio como se ilustra en el siguiente ejemplo, en el que se aade un
punto soporte ms a los datos del ejemplo 2.1.
Ejemplo 2.2 Calcular el polinomio de interpolacin para
x
i
0 1 2 3
f
i
0,5 2,5 2 0,5
y el valor de P(1,5).
En este caso, como tenemos 4 datos, los polinomios de Lagrange son de
grado 3:
L
3,0
(x) =
(x 1)(x 2)(x 3)
(0 1)(0 2)(0 3)
=
1
6
x
3
+ x
2

11
6
x + 1
L
3,1
(x) =
(x 0)(x 2)(x 3)
(1 0)(1 2)(1 3)
=
1
2
x
3

5
2
x
2
+ 3 x
L
3,2
(x) =
(x 0)(x 1)(x 3)
(2 0)(2 1)(2 3)
=
1
2
x
3
+ 2 x
2

3
2
x
L
3,3
(x) =
(x 0)(x 1)(x 2)
(3 0)(3 1)(3 2)
=
1
6
x
3

1
2
x
2
+
1
3
x
El polinomio de interpolacin es
P(x) = 0,5L
0
(x) + 2,5L
1
(x) + 2L
2
(x) + 0,5L
3
(x)
Finalmente:
P(1,5) = 0,5L
0
(1,5) + 2,5L
1
(1,5) + 2L
2
(1,5) + 0,5L
3
(1,5) = 2,46875
Como se puede observar los polinomios de Lagrange son diferentes a los
del ejemplo 2.1, ya que son de un grado ms, igual que el de interpolacin.
Tambin es necesario utilizar un polinomio ms. Vase la gura 2.2.
20
1 0 1 2 3 4
3
2
1
0
1
2
3
4


Pol. Lag. 0
Pol. Lag. 1
Pol. Lag. 2
Pol. Lag. 3
Datos
Pol. Interp
Figura 2.2: Polinomios de Lagrange y polinomio de interpolacin correspon-
dientes a los datos del ejemplo 2.2
2.2.2. Algoritmo de Neville
El algoritmo de Neville se utiliza para aproximar el valor en un punto,
pero no para calcular el polinomio en s. Es decir, slo resuelve el segundo
de los problemas mencionados en la introduccin.
La idea del algoritmo de Neville es calcular el valor de la aproximacin
mediante polinomios de interpolacin de grado pequeo y luego enlazarlos
de forma adecuada. Se empezar as con polinomios de grado 0 (constantes)
y luego se enlazarn hasta unir todos los datos.
Denotemos por P
i
0
i
1
...i
j
a un polinomio de grado menor o igual que j tal
que P
i
0
i
1
...i
j
(x
i
k
) = f
i
k
, k = 0, 1, . . . , j. Entonces
P
i
(x) = f
i
(2.3)
P
i
0
i
1
...i
j
(x) =
(x x
i
0
)P
i
1
...i
j
(x) (x x
i
j
)P
i
0
i
1
...i
j1
(x)
x
i
j
x
i
0
(2.4)
21
Ntese que los polinomios de (2.3) son de grado cero y adems cumplen
que P
i
(x
i
) = f
i
. Supongamos que P
i
1
...i
j
(x
i
k
) = f
i
k
, k = 1, 2, . . . , j y que
P
i
0
i
1
...i
j1
(x
i
k
) = f
i
k
, para k = 0, 1, 2, . . . , j 1, es decir estamos suponiendo
que cada uno de los polinomios pasa por los puntos soporte indicados por
sus subndices que, salvo i
0
e i
j
son comunes. Entonces el nuevo polinomio
dado por (2.4) cumple
P
i
0
i
1
...i
j
(x
i
0
) =
(x
i
0
x
i
0
)P
i
1
...i
j
(x
i
0
) (x
i
0
x
i
j
)P
i
0
i
1
...i
j1
(x
i
0
)
x
i
j
x
i
0
=
(x
i
0
x
i
j
)f
i
0
x
i
j
x
i
0
= f
i
0
P
i
0
i
1
...i
j
(x
i
j
) =
(x
i
j
x
i
0
)P
i
1
...i
j
(x
i
j
) (x
i
j
x
i
j
)P
i
0
i
1
...i
j1
(x
i
j
)
x
i
j
x
i
0
=
(x
i
j
x
i
0
)f
i
j
x
i
j
x
i
0
= f
i
j
es decir, pasa por los puntos soporte (x
i
0
, f
i
0
) y (x
i
j
, f
i
j
). Adems tambin
pasa por los restantes pues si k = 1, 2, . . . , j 1
P
i
0
i
1
...i
j
(x
i
k
) =
(x
i
k
x
i
0
)P
i
1
...i
j
(x
i
k
) (x
i
k
x
i
j
)P
i
0
i
1
...i
j1
(x
i
k
)
x
i
j
x
i
0
=
(x
i
k
x
i
0
)f
i
k
(x
i
k
x
i
j
)f
i
k
x
i
j
x
i
0
= f
i
k
por lo que el polinomio recin construido tiene la propiedad de pasar por
los puntos soporte correspondientes a i
0
, i
1
, . . . i
j
. Hay que recordar que en
realidad no se calcular con los polinomios sino con el valor en el que se
quiera aproximar la funcin. Los ndices se eligen consecutivos para facilitar
los clculos, que se pueden hacer en una tabla como la siguiente
0 1 2 3
x
0
P
0
( x) = f
0
P
01
( x)
x
1
P
1
( x) = f
1
P
012
( x)
P
12
( x) P
0123
( x)
x
2
P
2
( x) = f
2
P
123
( x)
P
23
( x)
x
3
P
3
( x) = f
3
donde x es la abcisa a interpolar, la columna correspondiente a los polinomios
de grado 0 son datos y el resto se calculan con (2.4). Es decir, se avanza hacia
22
la derecha calculando cada nuevo valor a partir de los dos de la columna de la
izquierda situados por encima y por debajo de l. En cada columna se calcula
un valor menos que en la de su izquierda, el ltimo valor calculado, que es
el nico de su columna, P
0123
( x) en nuestro ejemplo, es el valor interpolado
correspondiente a la abcisa x.
Ejemplo 2.3 Para calcular P(1) con los mismos datos del ejemplo 2.1 te-
nemos
0 1 2
x
0
= 0 P
0
(1) = f
0
= 0,5
P
01
(1) = 1,25
x
1
= 2 P
1
(1) = f
1
= 2 P
012
(1) = 2
P
12
(1) = 3,5
x
2
= 3 P
2
(1) = f
2
= 0,5
Por tanto obtenemos el valor aproximado P(1) = 2, que obviamente coincide
con el obtenido anteriormente, pero con la ventaja de que se han hecho menos
clculos.
Ejemplo 2.4 Para calcular P(1,5) con los mismos datos del ejemplo 2.1
tenemos
0 1 2
x
0
= 0 P
0
(1,5) = f
0
= 0,5
P
01
(1,5) = 1,625
x
1
= 2 P
1
(1,5) = f
1
= 2 P
012
(1,5) = 2,1875
P
12
(1,5) = 2,75
x
2
= 3 P
2
(1,5) = f
2
= 0,5
Por tanto obtenemos el valor aproximado P(1,5) = 2,1875, que coincide con
el obtenido en el ejemplo 2.1.
Ejemplo 2.5 Ahora vamos a calcular P(1,5) con los mismos datos del ejem-
plo 2.2. Por comodidad denotaremos P
i
0
i
1
...i
j
( x) = P
i
0
i
1
...i
j
. Notemos que po-
demos partir de la tabla del ejemplo 2.4, aadiendo el nuevo dato al nal,
y slo tendremos que calcular el valor de los polinomios que corresponden al
nuevo nodo, que situamos en la ltima la de cada columna
23
0 1 2 3
x
0
= 0 P
0
= f
0
= 0,5
P
01
= 1,625
x
1
= 2 P
1
= f
1
= 2 P
012
= 2,1875
P
12
= 2,75 P
0123
= 2,46875
x
2
= 3 P
2
= f
2
= 0,5 P
123
= 2,375
P
23
= 2
x
3
= 1 P
3
= f
3
= 2,5
Por tanto obtenemos el valor aproximado P(1,5) = 2,46875, que, como tena
que ocurrir, coincide con el obtenido en el ejemplo 2.2.
El algoritmo de Neville no es prctico para calcular el polinomio en s.
Hay variantes para hacer los clculos de forma que no se cometan errores
numricos importantes.
2.2.3. Frmula de interpolacin de Newton. Diferencias
divididas
El algoritmo de Neville permite ahorrar operaciones cuando se quiere
obtener exclusivamente el valor del polinomio interpolante en un punto. Pero
hemos visto que para calcular valores de dicho polinomio en otro(s) punto(s)
se ha de repetir todo el proceso cada vez desde el principio. La tcnica que
vamos a introducir a continuacin es preferible cuando se quiere calcular el
polinomio de interpolacin o se quiere interpolar en varios puntos.
La idea es escribir el polinomio de interpolacin en la forma
P(x) = a
0
+a
1
(x x
0
) +a
2
(x x
0
)(x x
1
) + +a
n
(x x
0
) (x x
n1
)
que tiene la ventaja de permitir el clculo de P( x) utilizando el esquema
de Horner que es el ms eciente
P( x) = a
0
+ ( x x
0
){a
1
+ ( x x
1
)[a
2
+ ]} (2.5)
Si en P(x) sustituimos x por x
0
se obtiene que a
0
= f
0
. Si sustituimos x
por x
1
se obtiene que f
1
= f
0
+a
1
(x
1
x
0
), de donde a
1
= (f
1
f
0
)/(x
1
x
0
).
Para calcular el resto vamos a introducir las diferencias divididas.
Se dene f[x
i
] = f
i
, que son las diferencias divididas de orden 0. Supuestas
denidas las de orden k 1 se denen las de orden k por
f[x
i
0
, x
i
1
, . . . , x
i
k
] =
f[x
i
1
, . . . , x
i
k
] f[x
i
0
, x
i
1
, . . . , x
i
k1
]
x
i
k
x
i
0
(2.6)
24
Esta ecuacin tiene una cierta similitud con (2.4), ntese adems que no
importa el orden en que se escriban los argumentos. Supongamos ahora que
a
i
= f[x
0
, x
1
, . . . , x
i
] para i = 0, 1, 2, . . . , k 1. Para calcular a
k
damos a x
el valor x
k
, teniendo en cuenta que f
k
= f[x
k
], se obtenie
f[x
k
] = f[x
0
] + f[x
0
, x
1
](x
k
x
0
) + f[x
0
, x
1
, x
2
](x
k
x
1
)(x
k
x
0
)
+ + f[x
0
, x
1
, x
2
, . . . , x
k1
](x
k
x
k2
) (x
k
x
1
)(x
k
x
0
)
+ a
k
(x
k
x
k1
)(x
k
x
k2
) (x
k
x
1
)(x
k
x
0
),
dividiendo por (x
k
x
0
) y reordenando de forma adecuada se tiene
f[x
0
, x
k
] = f[x
0
, x
1
] + f[x
0
, x
1
, x
2
](x
k
x
1
)
+ + f[x
0
, x
1
, x
2
, . . . , x
k1
](x
k
x
k2
) (x
k
x
1
)
+ a
k
(x
k
x
k1
)(x
k
x
k2
) (x
k
x
1
),
dividiendo ahora por (x
k
x
1
) y reordenando se llega a
f[x
0
, x
1
, x
k
] = f[x
0
, x
1
, x
2
] + + f[x
0
, x
1
, x
2
, . . . , x
k1
](x
k
x
k2
) (x
k
x
2
)
+ a
k
(x
k
x
k1
)(x
k
x
k2
) (x
k
x
2
),
prosiguiendo de esta forma se obtiene que a
k
= f[x
0
, x
1
, . . . , x
k
]
Por tanto los coecientes del polinomio de Newton (o mejor dicho del
polinomio de interpolacin escrito en la forma de Newton) son las diferencias
divididas, siendo la expresin del mismo
P(x) = f[x
i
0
] + f[x
i
0
, x
i
1
](x x
i
0
)
+ + f[x
i
0
, x
i
1
, . . . , x
i
n
](x x
i
0
) (x x
i
n1
)
(2.7)
La forma prctica de calcular las diferencias divididas es en una tabla
como la siguiente
0 1 2 3
x
0
f[x
0
] = f
0
f[x
0
, x
1
]
x
1
f[x
1
] = f
1
f[x
0
, x
1
, x
2
]
f[x
1
, x
2
] f[x
0
, x
1
, x
2
, x
3
]
x
2
f[x
2
] = f
2
f[x
1
, x
2
, x
3
]
f[x
2
, x
3
]
x
3
f[x
3
] = f
3
En la que la columna correspondiente a las diferencias divididas de orden
0 son datos y las dems son cocientes entre la diferencia de dos de la columna
25
de la izquierda y dos abcisas soporte. Una vez calculadas las diferencias di-
vididas hay diversas alternativas para calcular el polinomio de interpolacin,
ya que, al no importar el orden en que se tomen los puntos soporte se puede
aplicar (2.7) con cualquier eleccin de i
0
, i
1
, . . . . Elegida una diferencia divi-
dida cualquiera de la primera columna podemos elegir cualquiera de las dos
contiguas de la segunda columna y as sucesivamente, de forma que aadimos
una nueva abcisa soporte cada vez.
Ejemplo 2.6 Para calcular el polinomio de interpolacin con los mismos
datos del ejemplo 2.1 tenemos
0 1 2
x
0
= 0 f[0] = 0,5
f[0, 2] = 0,75
x
1
= 2 f[2] = 2 f[0, 2, 3] = 0,75
f[2, 3] = 1,5
x
2
= 3 f[3] = 0,5
El polinomio se puede calcular de varias formas. Si elegimos la primera dife-
rencia dividida, f[0] = 0,5 luego hemos de tomar f[0, 2] = 0,75 y nalmente
f[0, 2, 3] = 0,75, obtenemos P(x) = 0,5 + 0,75(x 0) 0,75(x 0)(x 2).
Si empezamos con f[2] = 2 podemos seguir dos caminos: Tomar f[2, 0] =
0,75 y nalmente f[2, 0, 3] = 0,75, obteniendo la expresin del polinomio
P(x) = 2 + 0,75(x 2) 0,75(x 2)(x 0), o tomar f[2, 3] = 1,5 y por
ltimo f[2, 3, 0] = 0,75, obteniendo ahora expresin del polinomio P(x) =
2 1,5(x 2) 0,75(x 2)(x 3).
Por ltimo empezando por f[3] = 0,5 se toma luego f[3, 2] = 1,5 y
nalmente f[3, 2, 0] = 0,75, con lo que se obtiene la expresin P(x) =
0,5 1,5(x 3) 0,75(x 3)(x 2).
Conviene resaltar que lo que se obtiene son distintas expresiones del ni-
co polinomio de interpolacin. En efecto, desarrollando las expresiones an-
teriores todas ellas dan P(x) = 0,5 + 2,25x 0,75x
2
.
Para calcular P() se eligen las diferencias divididas en zig-zag de forma
que se empieza por el x
i
ms prximo a , el siguiente punto a incorporar es
el siguiente ms prximo a , y as sucesivamente. Esto minimiza el error en
el esquema de Horner.
Ejemplo 2.7 Calcular P(1,25) para los datos del ejemplo 2.1.
26
Como las abcisas soporte son 0, 2 y 3 conviene elegirlas en el orden 2, 0
y 3, por ser el orden de cercana a 1,25. Por tanto calculamos
P(1,25) = f[2] + f[2, 0](1,25 2) + f[2, 0, 3](1,25 2)(1,25,0)
= f[2] + (1,25 2)(f[2, 0] + f[2, 0, 3] 1,25)
= 2 + (1,25 2)(0,75 0,75 1,25) = 2,14063
Ejemplo 2.8 La tabla de las diferencias divididas correspondiente al ejem-
plo 2.2 es
0 1 2 3
x
0
= 0 f[0] = 0,5
f[0, 1] = 2
x
1
= 1 f[1] = 2,5 f[0, 1, 2] = 1,25
f[1, 2] = 0,5 f[0, 1, 2, 3] = 0,25
x
2
= 2 f[2] = 2 f[1, 2, 3] = 0,5
f[2, 3] = 1,5
x
3
= 3 f[3] = 0,5
Algunas formas de calcular el polinomio de interpolacin son:
P(x) = f[0] + f[0, 1](x 0) + f[0, 1, 2](x 0)(x 1)
+ f[0, 1, 2, 3](x 0)(x 1)(x 2)
= 0,5 + 2(x 0) 1,25(x 0)(x 1) + 0,25(x 0)(x 1)(x 2)
= 0,5 + 3,75x 2x
2
+ 0,25x
3
P(x) = f[2] + f[2, 1](x 2) + f[2, 1, 3](x 2)(x 1)
+ f[2, 1, 3, 0](x 2)(x 1)(x 3)
= 2 0,5(x 2) 0,5(x 2)(x 1) + 0,25(x 2)(x 1)(x 3)
= 0,5 + 3,75x 2x
2
+ 0,25x
3
Para calcular P(0,8), minimizando los errores de redondeo en los clculos,
eligiramos las abcisas soporte en el siguiente orden: 1, 0, 2 y 3, es decir se
empieza por la ms cercana a 0,8, y luego, de entre las que quedan por elegir,
siempre se toma la ms cercana a 0,8. De esta forma se obtiene
P(0,8) = f[1] + f[1, 0](0,8 1) + f[1, 0, 2](0,8 1)(0,8 0)
+ f[1, 0, 2, 3](0,8 1)(0,8 0)(0,8 2)
= 2,5 + 2(0,2) 1,25(0,2)(0,8) + 0,25(0,2)(0,8)(1,2)
27
que se calcula por el esquema de Horner
= 2,5 + (0,2) {2 + (0,8) [1,25 + 0,25(1,2)]}
= 2,348
2.2.4. Error en la interpolacin polinmica
Para acotar el error cometido en la interpolacin polinmica se dispone
del siguiente resultado:
Teorema 2.2 Si f tiene derivada de orden n+1, entonces para cada x existe
un en el menor intervalo que contiene a x y todas las abcisas soporte x
i
que cumple
f( x) P( x) =
w( x)f
(n+1)
()
(n + 1)!
, (2.8)
donde w(x) = (x x
0
)(x x
1
) (x x
n
).
El polinomio w(x) de grado n + 1 que aparece en la expresin del error
de la ecuacin (2.8) es un polinomio que se anula en las abcisas soporte pero
lejos de ellas puede tomar valores muy grandes. En general w crece muy
rpido fuera del intervalo mnimo que contiene a todas las abcisas soporte.
Por tanto, la extrapolacin puede contener errores muy grandes y, en general,
no es aconsejable.
2.2.5. Problemas con la interpolacin polinmica
Los polinomios de grado alto tienen muchos mximos y mnimos y cuando
x tiende a innito tienden a innito por lo que no interpolan bien funciones
que no tengan estas caractersticas, tal como sucede en el siguiente ejemplo.
Ejemplo 2.9 (Funcin de Runge) Runge observ en 1901 que al inter-
polar la funcin
y =
1
1 + 25x
2
en [1, 1] con polinomios y puntos igualmente espaciados los polinomios de
interpolacin que obtena en los extremos del intervalo divergan. Puede ver-
se este fenmeno en la gura 2.3, se observa que al aumentar el nmero
de puntos soporte, y por tanto el grado del polinomio, las oscilaciones en
los extremos del intervalo se hacen cada vez mayores. En cambio el error
disminuye en el centro del mismo.
28
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
0.4
0.2
0
0.2
0.4
0.6
0.8
1
Con 5 puntos soporte
F. Runge
Pol
Sop
(a) 5 puntos
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
0.2
0
0.2
0.4
0.6
0.8
1
1.2
Con 7 puntos soporte
F. Runge
Pol
Sop
(b) 7 puntos
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1.5
1
0.5
0
0.5
1
Con 9 puntos soporte
F. Runge
Pol
Sop
(c) 9 puntos
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
0.5
0
0.5
1
1.5
2
Con 11 puntos soporte
F. Runge
Pol
Sop
(d) 11 puntos
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
4
3.5
3
2.5
2
1.5
1
0.5
0
0.5
1
Con 13 puntos soporte
F. Runge
Pol
Sop
(e) 13 puntos
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0
1
2
3
4
5
6
7
8
Con 15 puntos soporte
F. Runge
Pol
Sop
(f) 15 puntos
Figura 2.3: Funcin de Runge y diferentes polinomios de interpolacin con
puntos soporte correspondientes a abcisas soporte igualmente espaciadas.
Obsrvense las grandes oscilaciones en los extremos.
29
Este problema puede resolverse eligiendo los puntos soporte de forma que
se minimice el error en todo el intervalo. Esta tcnica utiliza por tanto puntos
con diferentes distancias entre ellos y tiene el inconveniente de que no se puede
aplicar si no conocemos los valores reales en los puntos necesarios. La tcnica
que se estudia a continuacin tambin resuelve el problema observado con la
funcin de Runge.
2.3. Interpolacin por splines
Teniendo en cuenta los inconvenientes que presentan los poninomios de
grado alto, se llega de forma natural a la interpolacin segmentaria o inter-
polacin a trozos, que consiste en dividir el intervalo en varios subintervalos
y construir una funcin interpoladora distinta sobre cada intervalo. La inter-
polacin segmentaria lineal nos permite obtener un curva continua, pero sin
suavidad, es decir, sin derivabilidad en los nodos.
Las funciones polinmicas segmentarias cbicas proporcionan curvas in-
terpolantes que denirn una trayectoria suave, que se ajusten a los puntos
predenidos que no presentan las grandes oscilaciones de los polinomios de
grados elevados. Se aplican en mtodos numricos pero tambin en aplica-
ciones grcas.
Denicion 2.1 Dado el conjunto de nodos de la siguiente tabla de valores,
x
0
x
1
x
n
f
0
f
1
f
n
que suponemos ordenados, es decir,
x
0
x
1
x
n
,
llamamos spline de orden k asociado a los nodos anteriores a la funcin S(x)
denida como sigue:
S(x) = S
i
(x), x [x
i1
, x
i
], i = 1, . . . , n,
donde S
i
(x), i = 1, . . . , n son polinomios de grado k que satisfacen:
S
i
(x
i1
) = f
i1
,
S
i
(x
i
) = f
i
,
i = 1, . . . , n,
30
y adems,
_

_
S

i
(x
i
) = S

i+1
(x
i
),
.
.
.
S
k1)
i
(x
i
) = S
k1)
i+1
(x
i
),
i = 1, . . . , n 1.
A k se le llama grado del spline.
Los splines que ms se utilizan en la prctica son los cbicos, es decir, los
de grado 3. En este caso tendremos un conjunto de polinomios
S
i
(x) = a
i
x
3
+ b
i
x
2
+ c
i
x + d
1
, i = 1, . . . , n,
cumpliendo las condiciones anteriores, que para splines cbicos quedan de la
forma
S
i
(x
i1
) = f
i1
,
S
i
(x
i
) = f
i
,
i = 1, . . . , n,
S

i
(x
i
) = S

i+1
(x
i
),
S

i
(x
i
) = S

i+1
(x
i
),
i = 1, . . . , n 1.
Tenemos que determinar 4n coecientes, pero tenemos 2n + 2(n 1) =
4n 2 condiciones. Tendremos que imponer dos condiciones ms. Estas se
pueden elegir, por ejemplo
S

1
(x
0
) = A y S

n
(x
n
) = B, con A y B nmeros reales. (Cuando A =
B = 0 los splines se llaman naturales).
S
k)
1
(x
0
) = S
k)
n
(x
n
), k = 0, 1, 2, para splines peridicos (debe cumplirse
f
0
= f
n
).
S

(x
0
) = f

0
y S

(x
n
) = f

n
, con f

0
y f

n
nmeros prejados.
Imponer que la derivada tercera sea continua en x
1
y en x
n1
. Esta es
la condicin llamada not a knot (no-dudo). Es la usada por MATLAB.
Ejemplo 2.10 Calcular el spline natural correspondiente a los datos del
ejemplo 2.1 cuyos puntos soporte son
x
i
0 2 3
f
i
0,5 2 0,5
y calcular S(1).
Como tenemos 3 puntos de interpolacin, necesitamos 2 polinomios c-
bicos
S
1
(x) = a
1
x
3
+ b
1
x
2
+ c
1
x + d
1
, en [0, 2],
S
2
(x) = a
2
x
3
+ b
2
x
2
+ c
2
x + d
2
, en [2, 3].
Tenemos que determinar 8 incgnitas. Imponemos las condiciones
31
1. S
1
(x) tiene que pasar por (0, 0,5), es decir, S
1
(0) = 0,5, de donde
d
1
= 0,5
2. S
1
(2) = 2, de donde
8a
1
+ 4b
1
+ 2c
1
+ d
1
= 2
3. S
2
(2) = 2, de donde
8a
2
+ 4b
2
+ 2c
2
+ d
2
= 2
4. S
2
(3) = 0,5, de donde
27a
2
+ 9b
2
+ 3c
2
+ d
2
= 0,5
5. S

1
(2) = S

2
(2), de donde
12a
1
+ 4b
1
+ c
1
= 12a
2
+ 4b
2
+ c
2
6. S

1
(2) = S

2
(2), de donde
12a
1
+ 2b
1
= 12a
2
+ 2b
2
Hasta aqu tenemos 6 ecuaciones, las dos restantes dependen del tipo
de spline, como en este caso el spline es natural,
7. S

1
(0) = 0, de donde
2b
1
= 0
8. S

2
(3) = 0, de donde
18a
2
+ 2b
2
= 0
Tenemos un sistema de 8 ecuaciones con 8 incgnitas. Resolvindolo llegamos
a que el spline natural buscado es
S(x) =
_
S
1
(x) = 0,1875x
3
+ 1,5x + 0,5, si x [0, 2],
S
2
(x) = 0,375x
3
3,375x
2
+ 8,25x 4, si x [2, 3].
Para calcular S(1), como 1 [0, 2], utilizamos el primer polinomio y obtene-
mos como resultado S(1) = 1,8125. La grca del spline junto con los nodos
puede verse en la gura 2.4
32
0 0.5 1 1.5 2 2.5 3
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
2.2
2.4
Figura 2.4: Interpolacin por spline natural
En la prctica no se obtiene el sistema de ecuaciones lineales tal como he-
mos hecho en el ejemplo. En su lugar se escriben algunas condiciones de otra
forma, que no desarrollaremos, para obtener sistemas de ecuaciones lineales
tridiagonales, o casi tridiagonales lo que facilita su resolucin.
Por ltimo en la gura 2.5 puede verse con la funcin de Runge cmo la
interpolacin por splines no tiene los mismos problemas que la interpolacin
por el polinomio interpolador.
Hemos descrito los splines cbicos, pero obviamente se puede proceder
de forma anloga para otros grados del polinomio que se construye entre
dos puntos soporte consecutivos. Si por ejemplo son polinomios de grado 1
(rectas) se obtiene una funcin quebrada en la que cada segmento une dos
puntos soporte consecutivos y que es un tipo de interpolacin que se utiliza
desde hace tiempo para calcular valores de funciones tabuladas haciendo un
clculo muy sencillo que utiliza slo los dos valores ms cercanos disponibles
en la tabla.
33
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Funcin de Runge aproximada por splines
F. Runge
Soporte
Spline
Figura 2.5: Interpolacin de la funcin de Runge por spline con once puntos
soporte.
2.4. Ejercicios
1. Calcula el polinomio interpolador, P(x), para los siguientes datos
x
i
0 0,5 1 1,5 2
f
i
0,5 1,2 2 1,4 0,7
y calcula P(0,2) y P(2,5) utilizando los distintos mtodos que conoces.
Analiza los resultados obtenidos.
2. Calcula un spline natural, S(x), que interpole los nodos de la tabla del
ejercicio 1. Utilzalo para calcular S(0,2) y S(2,5). Analiza los resulta-
dos obtenidos y compara con los resultados del ejercicio 1.
3. Aproxima

3 usando la funcin f(x) = 3
x
y las abcisas x
0
= 1,
x
1
= 0, x
2
= 1, x
3
= 2, x
4
= 3 utilizando:
34
a) El mtodo de Neville.
b) El mtodo de Lagrange.
c) El mtodo de Newton.
d) Un spline natural.
e) Un spline S(x) tal que S

(x
0
) = f

0
, S

(x
4
) = f

4
.
f ) Un spline no-nudo.
Compara los resultados obtenidos.
4. Aproxima

3 usando la funcin f(x) =

x y las abcisas x
0
= 0,
x
1
= 1, x
2
= 2, x
3
= 4, x
4
= 9 utilizando:
a) El mtodo de Neville.
b) El mtodo de Lagrange.
c) El mtodo de Newton.
d) Un spline natural.
e) Un spline S(x) tal que S

(x
0
) = f

0
, S

(x
4
) = f

4
.
f ) Un spline no-nudo.
Compara con los resultados obtenidos en el ejercicio 3.
5. Calcula el polinomio interpolador de Newton para la siguiente funcin
tabulada
x 2 4 6 8
f(x) 5 12 26 45
Si a posteriori sabemos que f(10) = 70, determina el nuevo polinomo
interpolador de Newton. Calcula una aproximacin a f(4,5) utilizando
el polinomio interpolador.
35
Captulo 3
Mtodos numricos para
problemas de valor inicial
3.1. Introduccin
Los mtodos analticos de integracin de ecuaciones diferenciales slo son
tiles para resolver una pequea parte de las ecuaciones diferenciales que
aparecen en la prctica. Este hecho justica, junto al avance de la capaci-
dad de computacin, el inters prctico por los mtodos que se denominan
aproximados.
Los mtodos numricos son los mtodos aproximados de uso ms extendi-
do en la resolucin de problemas reales cientcos y tcnicos. Se caracterizan
porque proporcionan una solucin aproximada dada mediante una tabla de
valores, y tienen la gran ventaja de basarse en procedimientos generales que
no dependen del tipo de ecuacin a resolver. No obstante, obtener resultados
con una precisin aceptable con estos mtodos exige tener que hacer un gran
nmero de clculos, para lo cual es necesario el uso del ordenador. Dedica-
mos este captulo a exponer una introduccin a los mtodos numricos para la
resolucin de problemas de valor inicial asociados a una ecuacin diferencial.
Recordemos que un problema de valores iniciales consiste en
Dada una ecuacin diferencial obtener la funcin solucin y(t)
de la que se conoce su valor y el de sus derivadas en un punto
inicial t
0
.
En caso de resolver analticamente el problema, las condiciones iniciales
son las que permiten determinar las n constantes de la solucin general y, de
36
esta forma, llegar a la expresin analtica de la solucin y(t) del problema
de valores iniciales. En cambio, si resolvemos mediante un mtodo numrico
obtenemos, para cada punto t que se considere, un valor aproximado de la
solucin evaluada en dicho punto.
En este captulo, presentamos mtodos numricos para obtener un valor
aproximado de la solucin y(t) del problema de valor inicial
_
y

= f(t, y),
y(t
0
) = y
0
,
(3.1)
con la hiptesis de que la funcin f es tal que el problema tiene solucin
nica en un intervalo que contiene a t
0
.
En el caso de un problema de valor inicial asociado a una ecuacin diferen-
cial de orden n, consideraramos su equivalencia con un sistema de ecuaciones
diferenciales de primer orden y, a ste, le aplicaramos los mtodos numricos
aqu expuestos generalizndolos para funciones vectoriales.
3.2. Mtodo del desarrollo en serie de Taylor
Partimos de la ecuacin diferencial (3.1), con el objetivo de obtener el
valor de la funcin y en el punto b, conocido el valor de y en el punto t
0
.
Para ello, dividimos el intervalo [t
0
, b] en subintervalos iguales, tomando t
i
=
t
i1
+ h, i = 1, 2, . . . , n, h =
b t
0
n
. Por lo tanto, t
n
= b.
El mtodo del desarrollo en serie de Taylor es un mtodo paso a paso en
el sentido de que, partiendo de y
0
= y(t
0
), se avanza paso a paso para obtener
el valor de la solucin en distintos puntos. En el primer paso, se calcula un
valor aproximado de la solucin exacta en t
1
= t
0
+ h, que llamaremos y
1
.
En el segundo paso, se calcula un valor aproximado y
2
de la solucin exacta
en t
2
= t
0
+ 2h, etc. En cada paso, los clculos se llevan a cabo mediante la
misma frmula.
Suponiendo que la solucin, y = y(t), admite desarrollo en serie de Taylor
en un entorno del punto t = t
0
, la solucin de la ecuacin diferencial en t
1
se
puede escribir,
y(t
1
) = y(t
0
+ h) = y(t
0
) + y

(t
0
)h + y

(t
0
)
h
2
2!
+ + y
n)
(t
0
)
h
n
n!
+ ,
donde los coecientes pueden ser calculados a partir de la ecuacin diferencial.
37
Tendremos
y(t
0
) = y
0
,
y

(t
0
) = f(t
0
, y
0
),
y

(t
0
) =
_
f
t
+
f
y
d y
d t
_

(t
0
,y
0
)
= (f
t
+ f
y
f)|
(t
0
,y
0
)
,
y

(t
0
) = (f
t
+ f
y
f)

|
(t
0
,y
0
)
=
=
_

t
(f
t
+ f
y
f) +

y
(f
t
+ f
y
f)f
_

(t
0
,y
0
)
.
De esta forma, sucesivamente, pueden obtenerse las derivadas de y en (t
0
, y
0
).
Por lo tanto, si consideramos el desarrollo de Taylor hasta orden 3 en h,
obtenemos
y(t
1
) = y
0
+ f(t
0
, y
0
)h +
1
2!
h
2
(f
t
+ f
y
f)|
(t
0
,y
0
)
+
+
1
3!
h
3
_
f
tt
+ 2f
ty
f + f
y
f
t
+ f
yy
f
2
+ f
y
f
y
f
_

(t
0
,y
0
)
+ O(h
4
) .
donde denotamos por O(h
4
) a los siguientes trminos del desarrollo que se-
rn proporcionales a potencias de h iguales o superiores a 4. En este caso,
podemos aproximar y(t
1
) por y
1
y
1
= y
0
+ f(t
0
, y
0
)h +
1
2
h
2
(f
t
+ f
y
f)|
(t
0
,y
0
)
+
+
1
3!
h
3
_
f
tt
+ 2f
ty
f + f
y
f
t
+ f
yy
f
2
+ f
y
f
y
f
_

(t
0
,y
0
)
. (3.2)
Una vez obtenido y
1
, calculamos y
2
sustituyendo en la expresin (3.2), t
0
por t
1
e y
0
por el valor y
1
que hemos obtenido. El mtodo iterativo, consiste
en seguir este proceso obtenindose la n-sima aproximacin,
y
n
= y
n1
+ f(t
n1
, y
n1
)h +
1
2
h
2
(f
t
+ f
y
f)|
(t
n1
,y
n1
)
+
+
1
3!
h
3
_
f
tt
+ 2f
ty
f + f
y
f
t
+ f
yy
f
2
+ f
y
f
y
f
_

(t
n1
,y
n1
)
.
Ejemplo 3.1 Consideremos el problema de valor inicial
y

= y t
2
+ 1 , 0 t 2 , y(0) = 0,5 . (3.3)
Este problema tiene como solucin analtica
y(t) = 1
1
2
e
t
+2t + t
2
.
38
Construiremos los mtodos de Taylor de orden 1 y orden 3, para este proble-
ma.
El mtodo de Taylor de orden 1 es
y
i+1
= y
i
+ hy

(t
i
) = y
i
+ hf (t
i
, y
i
) .
Para el problema (3.3),
y
i+1
= (1 + h)y
i
ht
2
i
+ h .
El mtodo de Taylor de orden 3 es de la forma
y
i+1
= y
i
+ hy

(t
i
) +
1
2
h
2
y

(t
i
) +
1
6
h
3
y

(t
i
) .
Para el problema (3.3), se tiene
y

= y t
2
+ 1 ,
y

= y t
2
2t + 1
y

= y t
2
2t 1 ,
y, por tanto, el mtodo de Taylor de orden 3 es
y
i+1
= y
i
+h
_
y
i
t
2
i
+ 1
_
+
1
2
h
2
_
y
i
t
2
i
2t
i
+ 1
_
+
1
6
h
3
_
y
i
t
2
i
2t
i
1
_
.
Como puede observarse, el proceso a seguir en el mtodo del desarrollo
de Taylor es, en general, costoso desde el punto de vista de los clculos que
hay que realizar. Puede resultar interesante su aplicacin cuando la funcin
f(t, y) sea algebraica, en cuyo caso las derivadas sucesivas se calcularn f-
cilmente y se anularn a partir de cierto trmino. En resumen, este mtodo
permite aumentar indenidamente la precisin tomando muchos trminos
del desarrollo de Taylor, siempre a costa de aumentar tambin el esfuerzo
computacional.
3.3. Mtodo de Euler
El mtodo de Euler es el ms simple de los mtodos numricos de reso-
lucin de ecuaciones diferenciales. No es muy utilizado debido a que el error
39
x
y
y1
y0
x0
x1
h
y(x1)
y1=y0+hf(x0,y0)
Figura 3.1: Mtodo de Euler.
que se comete al aplicarlo, crece considerablemente con el nmero de itera-
ciones. El mtodo de Euler es un caso particular del mtodo del desarrollo
en serie de Taylor, donde nos quedamos en el primer orden de h,
y(t
0
+ h) y(t
0
) + hy

(t
0
).
A partir de la ecuacin diferencial y

(t
0
) = f(t
0
, y
0
), obtenemos
y
1
= y
0
+ hf(t
0
, y
0
) .
Anlogamente, utilizando y
1
como condicin inicial, tenemos en el segun-
do paso,
y
2
= y
1
+ hf(t
1
, y
1
),
y, en general,
y
0
= y (t
0
) ,
y
i+1
= y
i
+ hf (t
0
+ ih, y
i
) , i = 1, 2, . . .
Geomtricamente, este mtodo consiste en realizar una aproximacin de
la curva y(t) mediante un polgono cuyo primer lado es tangente a la curva
en t
0
(vase la Fig. 3.1).
40
El error que se comete en la primera iteracin es,

1
= | y(t
1
) y
1
|=| y(t
1
) y
0
hf(t
0
, y
0
) |=
= | y(t
0
) + hy

(t
0
) +
1
2
h
2
y

(t
0
) + y
0
hf(t
0
, y
0
) |=
= O(h
2
) .
A este error se le llama error local o error de truncamiento del mtodo.
Lgicamente, el error aumentar a medida que aumente el nmero de
iteraciones. El valor prctico de este mtodo es limitado aunque resulta til
para obtener al menos una primera aproximacin de la solucin, para un
valor de h sucientemente pequeo.
Ejemplo 3.2 Consideremos el problema de valor inicial y

= y t, con la
condicin y(0) = y
0
= 1,5, cuya solucin analtica es
y = 1 +
1
2
e
t
+t .
Vamos a calcular, mediante el mtodo de Euler, una aproximacin a y(1,5).
Tomamos h = 0,25 y realizamos los clculos, con un redondeo de cuatro
decimales, que guran en la siguiente tabla
i t
i
y
i
y (t
i
) |y (t
i
) y
i
|
0 0 1,5000 1,5000 0,0000
1 0,25 1,8750 1,8920 0,0170
2 0,50 2,2812 2,3244 0,0432
3 0,75 2,7265 2,8085 0,0820
4 1,00 3,2206 3,3591 0,1385
5 1,25 3,7758 3,9952 0,2194
6 1,50 4,4072 4,7408 0,3336
Al nal, se tiene que y(1,5) 4,4072 con un error de 0,3336. Como ya
hemos comentado, el error va aumentado a medida que aumenta el nmero
de iteraciones.
Para el mtodo de Euler, el siguiente teorema nos da una cota para el
error global que se comete.
Teorema 3.1 Consideremos y(t) la solucin del problema del valor inicial
y

= f(t, y) , a t b , y(a) = y
0
,
41
y llamemos y
0
, y
1
, . . . , y
n
las aproximaciones generadas con el mtodo de Eu-
ler con paso h. Supongamos que f es continua para t [a, b] e y ] , +[
y que existen constantes L y M tales que

f
y
(t, y)

L , |y

| M .
Entonces, para i = 0, 1, 2, . . . , n, se cumple
|y (t
i
) y
i
|
hM
2L
_
e
L(t
i
a)
1
_
.
Hemos de resaltar que el error local o de truncamiento del mtodo de
Euler es O(h
2
) mientras que el error global es O(h). Esta reduccin del error
local al error global en un grado de h es tpica de las tcnicas numricas para
problemas de valor inicial.
3.4. Mtodos de Runge-Kutta
Como ya hemos comentado, el mtodo del desarrollo en serie de Taylor es
computacionalmente costoso debido, sobre todo, a la complicacin creciente
de las derivadas de f. Los mtodos de Runge evitan este clculo mediante la
evaluacin de f en uno o varios puntos auxiliares, elegidos apropiadamente,
de forma que el desarrollo en serie que se obtiene se ajuste al desarrollo de
Taylor con una aproximacin mejor que la del mtodo de Euler.
Veamos cmo es posible desarrollar mtodos de Runge-Kutta de orden 2.
Utilizando el desarrollo de Taylor, tenemos
y (t
i+1
) = y (t
i
) + hy

(t
i
) +
h
2
2
y

(t
i
) +
h
3
3!
y

()
= y (t
i
) + hf (t
i
, y (t
i
)) +
h
2
2
f

(t
i
, y (t
i
)) +
h
3
3!
y

()
= y (t
i
) + hf (t
i
, y (t
i
))
+
h
2
2
_
f
t
(t
i
, y (t
i
)) +
f
y
(t
i
, y (t
i
)) f (t
i
, y (t
i
))
_
+
h
3
3!
y

() . (3.4)
Por otra parte, se puede buscar un mtodo de la forma
y (t
i+1
) = y (t
i
) + ha
1
f (t
i
+ , y (t
i
) + ) ,
42
que tenga el mismo error de truncamiento que el mtodo de Taylor (3.4).
Como
a
1
f (t
i
+ , y (t
i
) + ) a
1
f (t
i
, y (t
i
))+a
1

f
t
(t
i
, y (t
i
))+a
1

f
y
(t
i
, y (t
i
)) ,
para tener el mismo error de truncamiento se ha de cumplir
1 = a
1
,
h
2
= a
1
,
h
2
f (t
i
, y (t
i
)) = a
1
,
o sea,
a
1
= 1 , =
h
2
, =
h
2
f (t
i
, y (t
i
)) .
Obtenemos de esta forma el mtodo del punto medio
y
0
= y (t
0
) ,
y
i+1
= y
i
+ hf
_
t
i
+
h
2
, y
i
+
h
2
f (t
i
, y
i
)
_
,
que tiene un error de truncamiento O(h
3
) y un error global O(h
2
).
Otra posible eleccin del mtodo numrico es
y
i+1
= y
i
+ h(a
1
f (t
i
, y
i
) + a
2
f (t
i
+ , y (t
i
) + )) .
El parmetro adicional que se introduce permite la posibilidad de construir
muchos mtodos de Runge-Kutta. Para que el error de truncamiento sea
O(h
3
) se obtienen las siguientes relaciones,
a
1
+ a
2
= 1,
h
2
= a
2
,
hf (t
i
, y
i
)
2
= a
2
.
Tomando a
1
= a
2
=
1
2
, = h, = hf (t
i
, y
i
), se obtiene el mtodo de
Euler modicado
y
0
= y (t
0
) ,
y
i+1
= y
i
+
h
2
(f (t
i
, y
i
) + f (t
i
+ h, y
i
+ hf (t
i
, y
i
))) ,
que tambin tiene un error de truncamiento O(h
3
) y un error global O(h
2
).
Tomando a
1
=
1
4
, a
2
=
3
4
y =
2
3
h y =
2
3
hf (t
i
, y
i
), se obtiene el mtodo
de Heun
y
0
= y (t
0
) ,
y
i+1
= y
i
+
h
4
_
f (t
i
, y
i
) + 3f
_
t
i
+
2
3
h, y
i
+
2
3
hf (t
i
, y
i
)
__
,
43
que tiene un error de truncamiento O(h
3
) y un error global O(h
2
).
Se pueden obtener mtodos de Runge-Kutta de orden superior de una
forma anloga a la desarrollada para los mtodos de orden 2. Uno de los m-
todos de Runge-Kutta de orden 4 ms utilizados hace uso de las cantidades,
k
1i
= hf (t
i
, y
i
) ,
k
2i
= hf (t
i
+ h/2, y
i
+ k
1i
/2) ,
k
3i
= hf (t
i
+ h/2, y
i
+ k
2i
/2) ,
k
4i
= hf (t
i
+ h, y
i
+ k
3i
) ,
y se basa en la sucesin recurrente construida a partir de la relacin,
y(t
0
) = y
0
,
y
i+1
= y
i
+
1
6
(k
1i
+ 2k
2i
+ 2k
3i
+ k
4i
) ,
Puede demostrarse, mediante el mismo razonamiento que el seguido para
los algoritmos anteriores, que el error de truncamiento es O(h
5
) y el error
global del mtodo es O(h
4
).
3.5. Mtodos multipaso
Los mtodos de Euler y de Runge-Kutta que se han expuesto son mtodos
de un paso. Esto es, para calcular la aproximacin y
i+1
de y (t
i+1
), hacen uso
slamente de la aproximacin y
i
. Se puede mejorar el funcionamiento de los
mtodos si al calcular la aproximacin y
i+1
, se involucran otras aproximacio-
nes, y
i
, y
i1
, . . . , y
ik
, calculadas previamente. Los mtodos que hacen uso de
estas aproximaciones se llaman mtodos multipaso.
Partimos del problema de valor inicial
d y
d t
= f(t, y) , t
0
t t
n
. (3.5)
Integrando en el intervalo [t
i
, t
i+1
], tenemos
y (t
i+1
) y (t
i
) =
_
t
i+1
t
i
f (t, y(t)) dt . (3.6)
Supongamos que conocemos las aproximaciones a la solucin del problema
(3.5), y
jk
, y
jk+1
, . . . , y
j
correspondientes a los tiempos t
jk
, t
jk+1
, . . . , t
j
,
44
y construimos el polinomio interpolador de Lagrange L
k
(t) que pasa por los
puntos (t
jk
, f (t
jk
, y
jk
)), (t
jk+1
, f (t
jk+1
, y
jk+1
)), . . ., (t
j
, f (t
j
, y
j
)),
L
k
(t) =
k

l=0
P
k,jl
(t)f (t
jl
, y
jl
) .
A continuacin, se sustituye el problema (3.6) por la aproximacin
y
i+1
= y
i
+
_
t
i+1
t
i
L
k
(t) dt = y
i
+
k

l=0
f (t
jl
, y
jl
)
_
t
i+1
t
i
P
k,jl
(t) dt .
Llamando

k,l
=
_
t
i+1
t
i
P
k,jl
(t) dt ,
se obtienen los mtodos multipaso o mtodos de Adams
y
i+1
= y
i
+
k

l=0

k,l
f (t
jl
, y
jl
) . (3.7)
Ejemplo 3.3 Supongamos que se conocen las aproximaciones y
i
, y
i1
de un
problema de la forma (3.5). Si construimos el polinomio interpolador que
pasa por (t
i1
, f (t
i1
, y
i1
)), y (t
i
, f (t
i
, y
i
)),
L
1
(t) =
t t
i
t
i1
t
i
f (t
i1
, y
i1
) +
t t
i1
t
i
t
i1
f (t
i
, y
i
) ,
queda el mtodo numrico
y
i+1
= y
i
+
f (t
i1
, y
i1
)
t
i1
t
i
_
t
i+1
t
i
(t t
i
) dt +
f (t
i
, y
i
)
t
i
t
i1
_
t
i+1
t
i
(t t
i1
) dt
= y
i
+
f (t
i1
, y
i1
)
2 (t
i1
t
i
)
(t
i+1
t
i
)
2
+
f (t
i
, y
i
)
2 (t
i
t
i1
)
_
(t
i+1
t
i1
)
2
(t
i
t
i1
)
2
_
.
Si los instantes t
j
estn igualmente espaciados, con un paso temporal h,
se tiene el mtodo,
y
i+1
= y
i
+
h
2
(3f (t
i
, y
i
) f (t
i1
, y
i1
)) .
45
Se distinguirn dos tipos de mtodos, los mtodos explcitos y los mtodos
implcitos.
Los mtodos explcitos son aquellos que para el clculo de y
i+1
slo hacen
uso de f (t
i
, y
i
) as como de la funcin f valorada en la solucin correspon-
diente a instantes anteriores. Los mtodos multipaso explcitos se llaman
tambin mtodos de Adams-Bashforth. Algunos de estos mtodos son:
Mtodo de Adams-Bashforth de tres pasos
y
0
=
0
, y
1
=
1
, y
2
=
2
,
y
i+1
= y
i
+
h
12
(23f (t
i
, y
i
) 16f (t
i1
, y
i1
) + 5f (t
i2
, y
i2
)) ,
que tiene un error local O(h
4
).
Mtodo de Adams-Bashforth de cuatro pasos
y
0
=
0
, y
1
=
1
, y
2
=
2
, y
3
=
3
,
y
i+1
= y
i
+
h
24
(55f (t
i
, y
i
) 59f (t
i1
, y
i1
) + 37f (t
i2
, y
i2
)
9f (t
i3
, y
i3
)) ,
que tiene un error local O(h
5
).
Los mtodos implcitos para el clculo de y
i+1
hacen uso de f (t
i+1
, y
i+1
).
Veamos un ejemplo.
Ejemplo 3.4 Supongamos que se conocen las aproximaciones y
i
, y
i+1
de un
problema de la forma (3.5). Si construimos el polinomio interpolador que
pasa por (t
i
, f (t
i
, y
i
)), y (t
i+1
, f (t
i+1
, y
i+1
)),
L
1
(t) =
t t
i+1
t
i
t
i+1
f (t
i
, y
i
) +
t t
i
t
i+1
t
i
f (t
i+1
, y
i+1
) ,
queda el mtodo numrico
y
i+1
= y
i
+
t
i+1
t
i
2
(f (t
i
, y
i
) + f (t
i+1
, y
i+1
)) .
A los mtodos multipaso implcitos se les llama mtodos de Adams-
Moulton. Algunos de estos mtodos son los siguientes:
46
Mtodo de Adams-Moulton de tres pasos
y
0
=
0
, y
1
=
1
, y
2
=
2
,
y
i+1
= y
i
+
h
24
(9f (t
i+1
, y
i+1
) + 19f (t
i
, y
i
) 5f (t
i1
, y
i1
) + f (t
i2
, y
i2
)) ,
que tiene un error local O(h
5
).
Mtodo de Adams-Moulton de cuatro pasos
y
0
=
0
, y
1
=
1
, y
2
=
2
, y
3
=
3
,
y
i+1
= y
i
+
h
720
(251f (t
i+1
, y
i+1
) + 646f (t
i
, y
i
) 246f (t
i1
, y
i1
)
+106f (t
i2
, y
i2
) 19f (t
i3
, y
i3
)) ,
que tiene un error local O(h
6
).
En la prctica, los mtodos multipaso implcitos no se usan en solitario,
ms bien se utilizan para mejorar las aproximaciones obtenidas por los m-
todos explcitos. La combinacin de una tcnica explcita con una implcita
se llama mtodo de prediccin y correccin o mtodo predictor-corrector.
3.6. Ecuaciones rgidas
Los mtodos numricos para la aproximacin de la solucin de problemas
de valores iniciales tienen frmulas de error que incluyen una derivada de
orden superior de la solucin de la ecuacin diferencial. Si la derivada de
la solucin se puede acotar por una constante, entonces el error del mtodo
numrico se puede mantener bajo control. Hay ciertos problemas en los que
el valor de la derivada se hace grande y el error del mtodo puede dominar
los clculos a medida que crece el nmero de iteraciones. A este tipo de
problemas se les llama problemas rgidos.
Ejemplo 3.5 Consideremos el problema de valores iniciales
u

1
= 9u
1
+ 24u
2
+ 5 cos(t)
1
3
sen(t) , u
1
(0) =
4
3
,
u

2
= 24u
1
52u
2
9 cos(t) +
1
3
sen(t) , u
2
(0) =
2
3
.
47
La solucin analtica del problema es
u
1
(t) = 2e
3t
e
39t
+
1
3
cos(t) ,
u
2
(t) = e
3t
+ 2e
39t

1
3
cos(t) ,
Si se usa un mtodo de Runge-Kutta de 4 pasos para calcular la solucin
del problema, obtenemos los resultados para u
1
(t) que se proporcionan en la
siguiente tabla
t u
1
(t) u
1i
(h = 0,05) u
1i
(h = 0,1)
0,1 1,793061 1,712219 2,645169
0,2 1,423901 1,414070 18,45158
0,3 1,131575 1,130523 87,47221
0,4 0,909409 0,909276 934,0722
0,5 0,738788 0,738751 1760,016
3.6.1. Estabilidad lineal
En el ejemplo anterior hemos visto que un mtodo numrico puede tener
un comportamiento divergente u oscilante cuando el nmero de iteraciones
tiende a innito. Por ello, va a ser interesante tratar de caracterizar en qu
condiciones un mtodo dado se hace inestable.
Supongamos que se est interesado en utilizar un mtodo numrico para
estudiar la ecuacin
d y
d t
= y , y (t
0
) = y
0
,
donde es una constante negativa. La solucin analtica del problema es
y = y
0
e
t
,
que satisface y 0 cuando t . Si utilizamos el mtodo de Euler
y
i+1
= y
i
+ hy
i
,
se tiene la ecuacin en diferencias
y
i+1
(1 + h)y
i
= 0 . (3.8)
Si probamos soluciones de la forma y
i
= r
i
, tenemos
r
i+1
(1 + h)r
i
= 0 ,
48
que da lugar a la ecuacin caracterstica
r (1 + h) = 0 .
La solucin de la ecuacin (3.8) es
y
i
= (1 + h)
i
y
0
.
Para que el mtodo numrico sea estable se ha de satisfacer
|1 + h| < 1 ,
o sea,
h <
2
||
.
Si ahora repetimos el anlisis utilizando el mtodo de Euler hacia atrs
y
i+1
= y
i
+ hy
i+1
,
se tiene la ecuacin en diferencias
(1 h)y
i+1
y
i
= 0 . (3.9)
La ecuacin caracterstica es
(1 h)r 1 = 0 ,
y la solucin de la ecuacin (3.9) es
y
i
=
_
1
1 h
_
i
y
0
.
Para que el mtodo numrico sea estable, se ha de cumplir

1
1 h

< 1 |1 +||h| > 1 ,


lo cual se satisface para cualquier valor de h.
Este tipo de anlisis se puede repetir para los mtodos de Runge-Kutta y
para los mtodos multipaso. As, los mtodos de Runge-Kutta y los mtodos
mutipaso explcitos tienen problemas para aproximar ecuaciones diferenciales
rgidas para ciertos valores de h. En la prctica para este tipo de ecuaciones
se utilizan los mtodos multipaso implcitos. La ecuacin en diferencias que
se obtiene con estos mtodos para y
i+1
se puede resolver de forma sencilla
para problemas lineales. En las ecuaciones diferenciales no lineales, para la
obtencin de y
i+1
se utilizan tcnicas numricas que permiten la resolucin de
ecuaciones algebraicas no lineales, como el mtodo del punto jo o el mtodo
de Newton.
49
3.6.2. Mtodos implcitos hacia atrs
Dada una ecuacin diferencial ordinaria de primer orden, de la forma
d y
d t
= f(t, y(t)) ,
un mtodo en diferencias hacia atrs (Backward) general de m pasos para
la resolucin de esta ecuacin, consiste en una ecuacin en diferencias de la
forma
y
i+1
+
1
y
i
+
2
y
i1
+ +
m
y
i+1m
= h
0
f (t
i+1
, y
i+1
) , (3.10)
donde
0
> 0, y
1
, . . . ,
m
se eligen de forma que se minimice el error de
truncamiento. En la Tabla 3.1 se muestran posibles elecciones de los par-
metros del mtodo en diferencias hacia atrs para distintos valores de m.
Cuadro 3.1: Coecientes del los mtodos hacia atrs
m
0

1

2

3

4
1 1 - 1
2
2
3

4
3
1
3
3
6
11

18
11
9
11

2
11
4
12
25

48
25
36
25

16
25
3
25
Con esta eleccin de los parmetros, los mtodos Backward obtenidos
son estables. Los mtodos hacia atrs son mtodos implcitos, y su utiliza-
cin para la integracin de un sistema de ecuaciones diferenciales implica la
necesidad de resolver un sistema de ecuaciones lineales en cada paso de in-
tegracin, pero es imposible construir un mtodo explcito que funcione bien
para el tratamiento de problemas con rigidez.
3.7. Ejercicios
1. Mediante el mtodo de Euler:
a) Hallar y(0,4) si
y

=
y x
y + x
,
para la condicin inicial y(0) = 1, y el paso h = 0,1 .
50
b) Hallar y(0,4) si y

= x +y, para la condicin inicial y(0) = 1, y el


paso h = 0,1 .
2. Un proyectil de masa m = 0,11 kg que ha sido disparado verticalmente
hacia arriba con una velocidad inicial de v(0) = 8 m/s se ve frenado por
la accin de la fuerza de la gravedad F
g
= mg y la resistencia del aire
F
r
= kv |v|, donde g = 9,8 m/s
2
, y k = 0,002 kg/m. La ecuacin
diferencial del movimiento es
mv

= mg kv |v| .
Utilizando el mtodo de Euler, determina la velocidad del cuerpo a
los 0,1, 0,2, . . . , 1,0 s. Determina, con la precisin de una dcima de
segundo el instante en el que el cuerpo se detiene.
3. Mediante los mtodos de Runge y de Runge-Kutta de dos pasos, hallar
el valor aproximado y(0,6), de la funcin y denida mediante la ecuacin
diferencial y

= x
2
+y
2
, con el valor inicial y(0) = 0 y el paso h = 0,2 .
Solucin: Runge: y(0,4) 0,072, Runge-Kutta 2 pasos y(0,4) 0,076.
4. Mediante el mtodo de Runge-Kutta 4 pasos:
a) Hallar y(2) si x
2
y

xy = 1 para la condicin inicial y(1) = 0, y el


paso h = 0,2. Obtener la solucin analtica exacta de la ecuacin
diferencial y comparar los resultados.
Solucin: y(2) 0,752. La solucin exacta se obtiene a partir de
la funcin y(x) =
x
2
1
2x
.
b) Hallar y(1) si 4y

= y
2
+ 4x
2
para la condicin inicial y(0) = 1,
y el paso h = 0,1.
Solucin: y(1) 0,495.
5. Aprovechando las tres primeras iteraciones realizadas, mediante Runge-
Kutta 4 pasos, obtener las mismas aproximaciones buscadas en los apar-
tados (a) y (b) del problema anterior, aplicando el mtodo de Adams
m = 3. Comparar los resultados.
51
Captulo 4
Mtodos Numricos para
problemas de contorno
En este captulo mostraremos distintos mtodos numricos para la apro-
ximacin de problemas de contorno. Mientras que en los problemas de valores
iniciales las condiciones que determinan la solucin del problema se imponen
en un mismo punto (condiciones iniciales), en los problemas de contorno las
condiciones se imponen en puntos separados.
Por ejemplo, para una ecuacin diferencial ordinaria de segundo orden,
un problema de contorno es un problema de la forma
y

= f (x, y, y

) , a x b ,
con las condiciones
y(a) = , y(b) = .
Para obtener soluciones aproximadas de este tipo de problemas veremos
esencialmente dos enfoques, uno basado en aproximar las derivadas de las
funciones mediante diferencias nitas y, otro enfoque, basado en una refor-
mulacin integral del problema.
4.1. Diferencias nitas
Supongamos que se quiere obtener una solucin aproximada de un pro-
blema de la forma
y

= p(x)y

+ q(x)y + r(x) , a x b , y(a) = , y(b) = .


52
El primer paso consistir en dividir el intervalo [a, b] en N+1 subintervalos
del mismo tamao cuyos extremos son los nodos
x
i
= a + ix , i = 0, 1, . . . , N + 1 ,
siendo x = (b a)/(N + 1).
En los nodos interiores se ha de cumplir
y

(x
i
) = p (x
i
) y

(x
i
) + q (x
i
) y (x
i
) + r (x
i
) , (4.1)
con i = 1, 2, . . . , N.
Se han de obtener aproximaciones de los valores y

(x
i
) e y

(x
i
). Para ello,
se hace uso del desarrollo de Taylor
y (x
i+1
) = y (x
i
+ x) = y (x
i
)+xy

(x
i
)+
x
2
2
y

(x
i
)+
x
3
6
y

(x
i
)+O
_
x
4
_
.
Adems
y (x
i1
) = y (x
i
x) = y (x
i
)xy

(x
i
)+
x
2
2
y

(x
i
)
x
3
6
y

(x
i
)+O
_
x
4
_
.
De estas ecuaciones se puede despejar
y

(x
i
) =
1
x
2
(y (x
i1
) 2y (x
i
) + y (x
i+1
)) + O
_
x
2
_
, (4.2)
y
y

(x
i
) =
1
2x
(y (x
i+1
) y (x
i1
)) + O
_
x
2
_
. (4.3)
Sustituyento las aproximaciones (4.3) y (4.2) en (4.1) obtenemos en los
nodos i = 1, . . . , N, las ecuaciones
y
i1
2y
i
+ y
i+1
x
2
= p (x
i
)
y
i+1
y
i1
2x
+ q (x
i
) y
i
+ r (x
i
) . (4.4)
Este sistema de ecuaciones se completa con las condiciones de contorno
y
0
= , y
N+1
= . (4.5)
Las ecuaciones (4.4) se pueden expresar en forma matricial de la forma
Ay = b ,
53
donde A es la matriz tridiagonal
A =
_

_
2 + x
2
q (x
1
) 1 +
x
2
p (x
1
) 0 0
1
x
2
p (x
2
) 2 + x
2
q (x
2
) 1 +
x
2
p (x
2
) 0
0
.
.
.
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 +
x
2
p (x
N1
)
0 1
x
2
p (x
N
) 2 + x
2
q (x
N
)
_

_
,
y los vectores
y =
_

_
y
1
y
2
.
.
.
y
N1
y
N
_

_
, b =
_

_
x
2
r (x
1
) +
_
1 +
x
2
p (x
1
)
_

x
2
r (x
2
)
.
.
.
x
2
r (x
N1
)
x
2
r (x
N
) +
_
1
x
2
p (x
N
)
_

_
.
4.2. Diferencias nitas para problemas elpti-
cos
Como ejemplo de problema elptico vamos a considerar el problema de
contorno asociado a la ecuacin de Poisson

2
u
x
2
+

2
u
y
2
= f , (x, y) [0, l
1
] [0, l
2
] , (4.6)
u(x, y) = 0 , para x = 0; x = l
1
; y = 0; y = l
2
. (4.7)
El primer paso que realizaremos consistir en discretizar el rectngulo
[0, l
1
] [0, l
2
] mediante un conjunto de nodos igualmente espaciados, como se
muestra en la Figura 4.1
x
i
= ix , i = 0, 1, 2, . . . , N + 1 ,
y
j
= jy , j = 0, 1, 2, . . . , M + 1 .
Utilizando una aproximacin similar a la de (4.2), para las derivadas
segundas, se tiene que

2
u
x
2
(u
i
, u
j
)
u
i1j
2u
ij
+ u
i+1j
x
2
,

2
u
y
2
(u
i
, u
j
)
u
ij1
2u
ij
+ u
ij+1
y
2
,
54
x 0=0
x 1 x x x x x
2 3 4 i i+1
y 0=0
y
1
y
2
y
3
y
j
y
j+1
n+1
x
y
m+1
=l
2
=l
1
Figura 4.1: Mallado para un problema 2D rectangular.
donde u
ij
= u(x
i
, y
j
). De este modo, se tiene que la ecuacin (4.6) se puede
aproximar de la forma
1
x
2
(u
i1j
2u
ij
+ u
i+1j
) +
1
y
2
(u
ij1
2u
ij
+ u
ij+1
) = f
ij
. (4.8)
Para poder escribir las ecuaciones resultantes para i = 1, . . . , N, j =
1, . . . , M, se han de ordenar los nodos del mallado de algn modo. Una
posibilidad es utilizar el orden dado por
l = i + N(j 1) .
Cuando se escriben las ecuaciones para i = 1, . . . , N, j = 1, . . . , M, y se
tienen en cuenta las condiciones de contorno (4.7), se obtiene un sistema de
ecuaciones de la forma
Au = f ,
donde A tiene una estructura en banda similar a la de la Figura 4.2.
4.3. Diferencias nitas para problemas parab-
licos
Como ejemplo de problema de contorno parablico consideraremos la
ecuacin del calor o ecuacin de la difusin dependiente del tiempo que con-
55
0 50 100 150 200 250 300 350
0
50
100
150
200
250
300
350
nz = 1729
Figura 4.2: Matriz asociada a la ecuacin de Poisson.
sideraremos tiene la forma
u
t
=

2
u
x
2
. (4.9)
Supondremos que se satisfacen unas condiciones de contorno en los extremos
de dominio y que la distribucin espacial de la u en el instante inicial es
conocida.
El primer paso para obtener una aproximacin numrica para resolver
esta ecuacin es discretizar el tiempo y el espacio en intervalos igualmente
espaciados, t = nt, n = 0, 1, 2, . . ., y x = x
0
+ ix, i = 0, 1, . . . , N
x
+ 1.
Se toma una aproximacin para la derivada temporal de la forma
u
t

u(x, t + t) u(x, t)
t
+ O(t) .
Para la derivada espacial se toma

2
u
x
2

u(x x, t) 2u(x, t) + u(x + x, t)
x
2
+ O
_
x
2
_
.
Se suele utilizar la notacin u(nt, x
0
+ ix) = u
n
i
, y se escribe la aproxi-
macin de la ecuacin (4.9) como
u
n+1
i
u
n
i
t
=
u
n
i1
2u
n
i
+ u
n
i+1
x
2
,
56
o sea,
u
n+1
i
= u
n
i
+ r
_
u
n
i1
2u
n
i
+ u
n
i+1
_
, r =
t
x
2
.
El mtodo obtenido es un mtodo explcito, ya que los valores de u
n+1
i
se
pueden calcular directamente sabiendo los valores de u
n
i
.
Para garantizar la estabilidad del esquema explcito, se puede ver que es
necesario que se cumpla la condicin
0 <
t
x
2
< 0,5 ,
que se conoce como la condicin de Courant, y que limita la longitud del
paso temporal que es necesario elegir una vez se ha elegido un paso espacial.
Para evitar problemas de estabilidad, se puede evaluar la derivada segun-
da espacial en el instante (n + 1)t, en vez de hacerlo en el instante nt,
obteniendo de este modo la aproximacin
u
n+1
i
u
n
i
t
=
u
n+1
i1
2u
n+1
i
+ u
n+1
i+1
x
2
,
o sea,
ru
n+1
i1
+ (1 + 2r)u
n+1
i
ru
n+1
i+1
= u
n
i
,
que es un mtodo implcito, ya que si hacemos variar i = 1, . . . , N
x
, para
cada paso de tiempo, se ha de resolver un sistema de ecuaciones de la forma
_

_
(1 + 2r) r
r (1 + 2r) r

r (1 + 2r) r
r (1 + 2r)
_

_
_

_
u
n+1
1
.
.
.
u
n+1
N
x
_

_
=
_

_
u
n
1
+ ru
n+1
0
.
.
.
u
n
N
x
+ ru
n+1
N
x
+1
_

_
.
Otro mtodo que se puede obtener que no tiene problemas de estabilidad
y es ms preciso que el mtodo implcito, es el mtodo de Crank-Nicolson,
que viene dado por la ecuacin
u
n+1
i
u
n
i
t
=

2
_
u
n
i1
2u
n
i
+ u
n
i+1
x
2
+
u
n+1
i1
2u
n+1
i
+ u
n+1
i+1
x
2
_
.
57
4.4. Diferencias nitas para problemas hiper-
blicos
Como ejemplo de un problema de contorno hiperblico consideraremos la
ecuacin de ondas, o sea, un problema de la forma
c
2

2
u
x
2
=

2
u
t
2
, 0 x l, t 0 , (4.10)
con las condiciones de contorno
u(0, t) = u(l, t) = 0 ,
y las condiciones iniciales
u(x, 0) = f(x),
u
t
(x, 0) = g(x), 0 x l .
Si el mallado espacial viene dado por los nodos 0 = x
0
, x
1
, . . . , x
N
x
+1
= l,
podemos utilizar las aproximaciones

2
u
x
2
(x
i
, t
n
)
u
n
i1
2u
n
i
+ u
n
i+1
x
2
,
y

2
u
t
2
(x
i
, t
n
)
u
n1
i
2u
n
i
+ u
n+1
i
t
2
,
se llega a una aproximacin de le ecuacin (4.10) de la forma
c
2
u
n
i1
2u
n
i
+ u
n
i+1
x
2
=
u
n1
i
2u
n
i
+ u
n+1
i
t
2
,
que se puede reescribir como
u
n+1
i
= 2u
n
i
_
1
c
2
t
2
x
2
_
+
_
u
n
i1
+ u
n
i+1
_
_
c
2
t
2
x
2
_
u
n1
i
,
para i = 1, . . . , N
x
.
Los valores para n = 0 se obtienen de la condicin inicial, pero tambin
son necesarios los valores para n = 1. Una posibilidad consiste en usar la
condicin
u
t
(x, 0) = g(x), 0 x l ,
58
sustituyendo
u
t
(x, 0)
u
1
i
u
0
i
t
= g (x
i
) ,
o sea,
u
1
i
= u
0
i
+ tg (x
i
) , i = 1, . . . , N .
Una aproximacin de mayor orden se puede obtener si se tiene en cuenta
que
u(x
i
, t
1
) = u(x
i
, 0) + t
u
t
(x
i
, 0) +
(t)
2
2

2
u
t
2
(x
i
, 0) + O
_
t
3
_
.
Si existe f

, podemos usar la ecuacin de ondas y escribir

2
u
t
2
(x
i
, 0) = c
2

2
u
x
2
(x
i
, 0) = c
2
f

(x
i
) ,
con lo que se tiene
u
1
i
= u
0
i
+ tg (x
i
) +
c
2
(t)
2
2
f

(x
i
) .
4.5. Ecuacin de conveccin-difusin
Supongamos ahora, que se quiere resolver un problema estacionario de la
forma
au

+ bu

= 0 , 0 < x < l ,
u(0) = 0 , u(l) = 1 .
Para obtener la solucin analtica de este problema introducimos u

= y
con lo que queda la ecuacin
y

=
b
a
y ,
con lo que
y = K exp
_
b
a
x
_
,
y, por tanto,
u = K
1
exp
_
b
a
x
_
+ K
2
.
59
Imponiendo las condiciones de contorno se tiene
u(x) =
1 e
Rlx
1 e
R
, (4.11)
donde R es el nmero de Pclet, denido como
R =
bl
a
.
Para obtener una aproximacin por diferencias nitas, primero obtenemos
una aproximacin O(x
2
) de u

(x),
u

(x)
u(x + x) u(x x)
2x
+ O
_
x
2
_
. (4.12)
Utilizando (4.12) y una aproximacin del mismo orden para la derivada
segunda, se tiene la relacin
b
u
i+1
u
i1
2x
a
u
i+1
2u
i
+ u
i1
x
2
= 0 , (4.13)
que, deniendo
c =
Rx
2l
,
se reescribe como
(1 c)u
i+1
+ 2u
i
(1 + c)u
i1
= 0 . (4.14)
sta es una ecuacin en diferencias que se suele resolver probando una
solucin de la forma u
i
= r
i
,
(1 c)r
i+1
+ 2r
i
(1 + c)r
i1
= 0 ,
esto es,
r
i1
_
(1 c)r
2
+ 2r (1 c)
_
= 0 ,
luego r tendr que cumplir que
(1 c)r
2
2r + (1 + c) = 0 .
Las soluciones de esta ecuacin son
r
1
= 1 , r
2
=
1 + c
1 c
.
60
La solucin general de la ecuacin en diferencias (4.14) ser de la forma
u
i
= +
_
1 + c
1 c
_
i
,
como u
0
= 0, = y como u
N+1
= 1, se cumplir
=
1
1 r
N+1
2
,
as, la solucin es de la forma
u
i
=
1 r
i
2
1 r
N+1
2
.
Cuando c > 1,
_
x >
2l
R
_
entonces r
2
< 0, y la solucin u
i
oscila. Esto con-
trasta con el comportamiento de la solucin analtica (4.11), que es creciente.
Para resolver este problema hay que utilizar esquemas de primer orden,
que tengan en cuenta el signo de la velocidad b. Si b > 0, la derivada primera
se aproxima como
u

i

u
i
u
i1
x
,
obteniendo una ecuacin de la forma
b
u
i
u
i1
x
a
u
i+1
2u
i
+ u
i1
x
2
= 0 . (4.15)
Si b < 0, la derivada primera se aproxima como
u

i

u
i+1
u
i
x
,
obteniendo una ecuacin de la forma
b
u
i+1
u
i
x
a
u
i+1
2u
i
+ u
i1
x
2
= 0 . (4.16)
Estas dos posibilidades se escriben de una forma compacta como
b
_
1
2
_
1
b
|b|
_
1
x
(u
i+1
u
i
) +
1
2
_
1 +
b
|b|
_
1
x
(u
i
u
i1
)
_
a
1
x
2
(u
i1
2u
i
+ u
i+1
) = 0 .
Este esquema se conoce como un esquema up-wind de primer orden para la
ecuacin de conveccin-difusin.
61
4.6. Tcnicas variacionales
Hemos visto que el mtodo de las diferenecias nitas consiste, esencial-
mente, en sustituir el valor de las derivadas de la funcin en un punto por un
cociente incremental obteniendo de este modo una ecuacin en diferencias,
cuya solucin nos da la solucin aproximada del problema.
Ahora expondremos el mtodo de Rayleigh-Ritz, que es una tcnica va-
riacional que trata el problema desde otro punto de vista. En primer lugar,
se reformula el problema de contorno, como el problema de encontrar, den-
tro de un conjunto de funciones sucientemente derivables que verican las
condiciones de contorno, la funcin que minimiza cierta integral. La solucin
de este nuevo problema nos dar una aproximacin al problema original.
Para exponer cmo funciona el mtodo de Rayleigh-Ritz, consideremos
el problema de contorno asociado a la deformacin de una viga, que es de la
forma

d
dx
_
p(x)
dy
dx
_
+ q(x)y = f(x) , 0 x 1 , (4.17)
con las condiciones de contorno y(0) = y(1) = 0.
Se puede ver que la solucin de la ecuacin (4.17) es la funcin que mi-
nimiza una cierta integral entre todas las funciones del conjunto C
2
0
[0, 1],
denido por
C
2
0
[0, 1] =
_
u C
2
[0, 1]/u(0) = u(1) = 0
_
.
As, una funcin y C
2
0
[0, 1] es la solucin del problema de la viga (4.17)
si, y slo si, y es la nica funcin que minimiza la integral
I(u) =
_
1
0
_
p(x) (u

(x))
2
+ q(x) (u(x))
2
2f(x)u(x)
_
dx . (4.18)
Para resolver el problema de encontrar una funcin y que minimice la
integral (4.18), se eligen ciertas funciones bsicas,
1
,
2
, . . . ,
n
, que sean
linealmente independientes y que veriquen

i
(0) =
i
(1) = 0 , i = 1, 2, . . . , n .
Suponemos que
u =
n

i=1
c
i

i
(x) ,
62
y tratamos de obtener las constantes c
1
, c
2
, . . . , c
n
, que hacen mnima la in-
tegral
I
_
n

i=1
c
i

i
(x)
_
=
_
1
0
_
_
p(x)
_
n

i=1
c
i

i
(x)
_
2
+ q(x)
_
n

i=1
c
i

i
(x)
_
2
2f(x)
n

i=1
c
i

i
(x)
_
_
dx .
Para que se alcance un mnimo se han de satisfacer las ecuaciones normales
I
c
j
= 0 , j = 1, . . . n .
Derivando, se obtienen las ecuaciones
n

i=1
__
1
0
_
p(x)

i
(x)

j
(x) + q(x)
i
(x)
j
(x)
_
dx
_
c
i

_
1
0
f(x)
j
(x) dx = 0 ,
para j = 1, 2, . . . , n. Estas ecuaciones dan lugar a un sistema de ecuaciones
lineales
Ac = b ,
donde A es una matriz simtrica cuyos elementos son de la forma
a
ij
=
_
1
0
_
p(x)

i
(x)

j
(x) + q(x)
i
(x)
j
(x)
_
dx ,
y las coordenadas del vector b son
b
i
=
_
1
0
f(x)
i
(x) dx .
La solucin de este sistema nos da los coecientes c
i
que permiten reconstruir
la solucin aproximada.
Para obtener una solucin aproximada hace falta elegir unas funciones
base
i
determinadas. Una posibilidad es tomar como funciones bsicas poli-
nomios lineales a trozos. Para construir estas funciones comenzamos tomando
una particion del intervalo [0, 1] cuyos nodos x
0
, x
1
, . . . , x
n
, satisfacen
0 = x
0
x
1
x
n+1
= 1 .
63
Tomando x
i
= x
i+1
x
i
, se denen las funciones bsicas

i
(x) =
_

_
0 si 0 x x
i1
,
1
x
i1
(x x
i1
) si x
i1
x x
i
,
1
x
i
(x
i+1
x) si x
i
x x
i+1
,
0 si x
i+1
x 1,
para i = 1, 2, . . . , n. Derivando, se tiene

i
(x) =
_

_
0 si 0 < x < x
i1
,
1
x
i1
si x
i1
< x < x
i
,

1
x
i
si x
i
< x < x
i+1
,
0 si x
i+1
< x < 1,
para i = 1, 2, . . . , n. Como
i
y

i
son no nulas en (x
i1
, x
i+1
), los elementos
de la matriz A no nulos son
a
ii
=
_
1
0
_
p(x) (

i
(x))
2
+ q(x) ((x)
i
)
2
_
dx
=
_
x
i
x
i1
_
1
x
i1
_
p(x) dx +
_
x
i+1
x
i
_
1
x
i
_
2
p(x) dx
+
_
x
i
x
i1
_
1
x
i1
_
2
(x x
i1
)
2
q(x) dx +
_
x
i+1
x
i
_
1
x
i
_
2
(x
i+1
x)
2
q(x) dx ,
para i = 1, 2, . . . , n.
a
ii+1
=
_
1
0
_
p(x)
_

i
(x)

i+1
_
+ q(x) (
i
(x)
i+1
(x))
_
dx
=
_
x
i+1
x
i

_
1
x
i
_
2
p(x) dx +
_
x
i+1
x
i
_
1
x
i
_
2
(x
i+1
x) (x x
i
) q(x) dx ,
para i = 1, 2, . . . , n 1; y
a
ii1
=
_
1
0
_
p(x)
_

i
(x)

i1
_
+ q(x) (
i
(x)
i1
(x))
_
dx
=
_
x
i
x
i1

_
1
x
i1
_
2
p(x) dx +
_
x
i
x
i1
_
1
x
i1
_
2
(x
i
x) (x x
i1
) q(x) dx ,
para i = 2, . . . , n. Los elementos del vector b son,
b
i
=
_
1
0
f(x)
i
(x) dx
=
_
x
i
x
i1
1
x
i1
(x x
i1
) f(x) dx +
_
x
i+1
x
i
1
x
i
(x
i+1
x) f(x) dx ,
64
Para implementar el mtodo se deben evaluar las integrales
Q
1i
=
_
1
x
i
__
x
i+1
x
i
(x
i+1
x) (x x
i
) q(x) dx , i = 1, 2, . . . n 1,
Q
2i
=
_
1
x
i1
__
x
i
x
i1
(x x
i1
)
2
q(x) dx , i = 1, 2, . . . n,
Q
3i
=
_
1
x
i
__
x
i+1
x
i
(x
i+1
x)
2
q(x) dx , i = 1, 2, . . . n,
Q
4i
=
_
1
x
i1
__
x
i+1
x
i
p(x) dx , i = 1, 2, . . . n + 1,
Q
5i
=
_
1
x
i1
__
x
i
x
i1
(x x
i1
) f(x) dx , i = 1, 2, . . . n,
Q
6i
=
_
1
x
i
__
x
i+1
x
i
(x
i+1
x) f(x) dx , i = 1, 2, . . . n.
Una vez calculadas las integrales se tiene que
a
ii
= Q
4i
+ Q
4i+1
+ Q
2i
+ Q
3i
,
a
ii+1
= Q
4i
+ Q
1i
,
a
ii1
= Q
4i
+ Q
1i1
y
b
i
= Q
5i
+ Q
6i
.
4.7. Introduccin a los elementos nitos
El mtodo de los elementos nitos es similar al mtodo de Rayleigh-
Ritz. Para mostrar cmo funciona este mtodo consideremos el problema
bidimensional

x
_
p(x, y)
u
x
_
+

y
_
q(x, y)
u
y
_
+ r(x, y)u = f(x, y) , (4.19)
con (x, y) D, siendo D una regin plana cuya frontera es S = S
1
S
2
.
Sobre S
1
se impone una condicin de contorno de la forma
u(x, y) = g(x, y) , (x, y) S
1
.
Sobre S
2
se impone una condicin de contorno de la forma
p(x, y)
u
x
n
1
+ q(x, y)
u
y
n
2
+ g
1
(x, y)u = g
2
(x, y) , (x, y) S
2
,
65
donde el vector n
1
= (n
1
, n
2
) es un vector que en cada punto es normal a la
curva S
2
.
Supongamos que p, q, r y f son funciones continuas en D S, que p
y q admiten derivadas parciales continuas y que g
1
y g
2
son continuas en
S
2
. Supongamos adems que p(x, y) > 0, q(x, y) > 0, r(x, y) 0 y que
g
1
(x, y) 0. Entonces la solucin del problema (4.19) es la nica funcin que
minimiza la integral
I(w) =
__
D
_
1
2
_
p(x, y)
_
w
x
_
2
+ q(x, y)
_
w
y
_
2
r(x, y)w
2
_
+ f(x, y)w
_
dx dy
+
_
S
2
_
g
2
(x, y)w +
1
2
g
1
(x, y)w
2
_
dS , (4.20)
sobre todas las funciones w = w(x, y) que satisfacen w(x, y) = g(x, y) para
(x, y) S
1
.
Para obtener el mnimo de (4.20), el primer paso que se sigue es dividir la
regin D en un nmero nito de secciones o elementos regulares, que pueden
ser rectngulos o tringulos (vase la gura 4.3)
D
S
Figura 4.3: Mallado de la regin D.
Para las funciones base que se utilizan para aproximar la funcin que
minimiza (4.20) se suelen utilizar polinomios a trozos.
Supondremos que la regin D se ha dividido en elementos triangulares,
cuyos vrtices se llaman nodos. El mtodo busca una aproximacin de la
forma
(x, y) =
m

i=1

i
(x, y) ,
66
donde
i
son polinomios lineales a trozos y
i
son constantes. Algunas de
las constantes,
n+1
,
n+2
, . . . ,
m
se usan para garantizar que se cumpla la
condicin de contorno
(x, y) = g(x, y) , (x, y) S
1
,
mientras que las otras constantes
1
,
2
, . . . ,
n
se utilizan para minimizar
la integral
I
_
m

i=1

i
(x, y)
_
=
__
D
_
_
1
2
_
_
p(x, y)
_
m

i=1

i
x
_
2
+ q(x, y)
_
m

i=1

i
y
_
2
r(x, y)
_
m

i=1

i
_
2
_
_
+ f(x, y)
m

i=1

i
_
_
dx dy
+
_
S
2
_
_
g
2
(x, y)
m

i=1

i
+
1
2
g
1
(x, y)
_
m

i=1

i
_
2
_
_
dS .
Para obtener el mnimo se plantean las ecuaciones normales
I

j
= 0 , j = 1, 2, . . . , n .
Estas ecuaciones de expresan como el sistema de ecuaciones lineales
Ac = b , (4.21)
donde c = (
1
,
2
, . . . ,
n
)
T
, A es una matriz cuyos elementos son
a
ij
=
__
D
_
p(x, y)

i
x

j
x
+ q(x, y)

i
y

j
y
r(x, y)
i

j
) dx dy +
_
S
2
g
1
(x, y)
i

j
dS ,
y el vector b tiene los elementos
b
i
=
__
D
f(x, y)
i
dx dy +
_
S
2
g
2
(x, y)
i
dS
m

k=n+1
a
ik

k
.
67
La eleccin de las funciones bsicas es importante para obtener una matriz
con buenas propiedades a la hora de resolver el sistema (4.21). Veremos una
posibilidad basada el polinomios lineales a trozos denidos sobre tringulos.
Comenzamos dividiendo la regin D en tringulos T
i
, y se escoge una
ordenacin de los tringulos de la malla que se genera y otra ordenacin
para los vrtices o nodos, E
1
, E
2
, . . . , E
m
. Un ejemplo tpico se muestra en la
gura 4.4.
E
3
E
7
E
5
E
1
E
4
E
6
E
2
T
1
T
2
T
5
T
6
T
3
T
4
Figura 4.4: Ordenacin del mallado.
Si E
1
, E
2
, . . . , E
m
son los nodos de la malla, a cada nodo E
k
se le asocia
una funcin
k
, que es lineal en cada tringulo y vale 1 en E
k
y 0 en los
dems nodos.
Para construir estas funciones
k
, se procede como sigue. Se ja un trin-
gulo T
i
y se elige una ordenacin para sus vrtices, como se muestra en la
gura 4.5. y se construyen los polinomios lineales
Figura 4.5: Ordenacin de los vrtices en un tringulo.
68
N
(i)
1
(x, y) = a
(i)
1
x + b
(i)
1
y + c
(i)
1
,
N
(i)
2
(x, y) = a
(i)
2
x + b
(i)
2
y + c
(i)
2
,
N
(i)
3
(x, y) = a
(i)
3
x + b
(i)
3
y + c
(i)
3
,
de forma que satisfaga
_
_
x
1
y
1
1
x
2
y
2
1
x
3
y
3
1
_
_
_

_
a
(i)
1
b
(i)
1
c
(i)
1
_

_
=
_
_
1
0
0
_
_
,
_
_
x
1
y
1
1
x
2
y
2
1
x
3
y
3
1
_
_
_

_
a
(i)
2
b
(i)
2
c
(i)
2
_

_
=
_
_
0
1
0
_
_
,
y
_
_
x
1
y
1
1
x
2
y
2
1
x
3
y
3
1
_
_
_

_
a
(i)
3
b
(i)
3
c
(i)
3
_

_
=
_
_
0
0
1
_
_
.
A continuacin, se ve qu nodos estn en la frontera S
1
. Si estos nodos
son, por ejemplo, E
n+1
, . . . , E
m
, se determinan los valores de
n+1
, . . . ,
m
,
de forma que en estos nodos se satisfaga la condicin de contorno
(x, y) = g(x, y) .
Una vez se han determinado estas constantes, hay que evaluar las inate-
grales dobles y las integrales curvilneas.
Las inategrales dobles de los elementos de matriz a
ij
se descomponen
a
ij
=
__
D
G(
i
,
j
) dx dy =

lI
__
T
l
G(
i
,
j
) dx dy ,
donde I es el conjunto de tringulos donde
i
y
j
toman valores no nulos.
Para evaluar las integrales dobles sobre un tringulo se suele usar una
frmula de cuadratura que aproxima el valor de estas integrales. Una posi-
bilidad es la siguiente. Sean (x
4
, y
4
), (x
5
, y
5
), (x
6
, y
6
) los puntos medios del
69
tringulo T
i
y (x
7
, y
7
) el baricentro, o sea,
x
4
=
1
2
(x
1
+ x
2
) , y
4
=
1
2
(y
1
+ y
2
) ,
x
5
=
1
2
(x
1
+ x
3
) , y
5
=
1
2
(y
1
+ y
3
) ,
x
6
=
1
2
(x
2
+ x
3
) , y
6
=
1
2
(y
2
+ y
3
) ,
x
7
=
1
2
(x
1
+ x
2
+ x
3
) , y
7
=
1
2
(y
1
+ y
2
+ y
3
) .
Entonces se puede aproximar
__
T
F(x, y) dx dy
1
2
||
_
1
20
F (x
1
, y
1
) + F (x
2
, y
2
) + F (x
3
, y
3
)
2
15
(F (x
4
, y
4
) + F (x
5
, y
5
) + F (x
6
, y
6
)) +
9
20
_
,
donde || es el rea del tringulo, que se peude calcular como
|| =

det
_
_
1 x
1
y
1
1 x
2
y
2
1 x
3
y
3
_
_

.
Por ltimo, se han de calcular las integrales curvilneas sobre los segmen-
tos que unen los nodos situados en S
2
. Para ello, por ejemplo, se usa una
parametrizacin del segmento l
1
, que une (x
1
, y
1
) con (x
2
, y
2
), de la forma
x = x(t), y = y(t) con x (t
1
) = x
1
, y (t
1
) = y
1
, x (t
2
) = x
2
e y (t
2
) = y
2
, y se
usa la expresin
_
l
1
H(x, y) dS =
_
t
2
t
1
H (x(t), y(t))
_
(x

(t))
2
+ (y

(t))
2
, dt .
Con estos elementos ya es posible calcular los elementos de matriz a
ij
y
los elementos b
i
del trmino independiente del sistema (4.21), cuya solucin
permite aproximar la solucin del problema inicial.
Hay otras posibilidades para la construccin de las funciones
k
, que
dan lugar a distintos mtodos de elementos nitos para resolver el problema
(4.19).
70

También podría gustarte