Вы находитесь на странице: 1из 140

Universidad de Mlaga

Escuela Tcnica Superior de Arquitectura


Fundamentos Matemticos en la Arquitectura II
Jos M. Gallardo
1

Arquitectura
3
ndice
1. Ecuaciones diferenciales de primer orden 5
1.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Ecuaciones de variables separables . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3. Ecuaciones lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4. Ecuaciones exactas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5. Problemas de valor inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.6. Aplicacin: calentamiento de edicios . . . . . . . . . . . . . . . . . . . . . . . . . 19
2. Ecuaciones diferenciales de orden superior y sistemas 25
2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2. Ecuaciones lineales de segundo orden . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3. Ecuaciones lineales homogneas con coecientes constantes . . . . . . . . . . . . 28
2.4. Mtodo de variacin de las constantes . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5. Problemas de valores iniciales y de contorno . . . . . . . . . . . . . . . . . . . . . 34
2.6. Ecuaciones lineales de orden superior . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.7. Sistemas lineales de primer orden . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.8. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.8.1. Movimiento armnico amortiguado . . . . . . . . . . . . . . . . . . . . . . 53
2.8.2. Deexin y pandeo de vigas . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.8.3. Calentamiento de edicios . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3. Mtodos numricos para problemas de valor inicial 65
3.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2. El mtodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.3. Mtodos de orden superior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.4. Algunas consideraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.5. Aplicacin: deexin de vigas en voladizo . . . . . . . . . . . . . . . . . . . . . . 84
4. Mtodos numricos para problemas de contorno 89
4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.2. Mtodo de diferencias nitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3. Aproximacin variacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.4. Mtodo de elementos nitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.5. Algunos comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.6. Aplicacin: deexin de vigas empotradas . . . . . . . . . . . . . . . . . . . . . . 107
5. Probabilidad y Estadstica 114
5.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.2. Probabilidad bsica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.3. Distribuciones de probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.4. Elementos de Estadstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.5. Curva de ajuste, regresin y correlacin . . . . . . . . . . . . . . . . . . . . . . . . 134
4
6. Bibliografa 140
1 Ecuaciones diferenciales de primer orden 5
1. Ecuaciones diferenciales de primer orden
1.1. Introduccin
Una ecuacin diferencial ordinaria de primer orden es una expresin que relaciona una variable
independiente x con una variable dependiente y(x) y su primera derivada y

(x):
F(x, y(x), y

(x)) = 0, x [a, b].


Por ejemplo, son ecuaciones diferenciales ordinarias de primer orden las siguientes:
y

(x) = 0,
dy
dx
= y, y + (y

)
1/3
+ 25x = sen(x).
Para representar la derivada de y respecto de x usaremos indistintamente las notaciones y

,
y

(x) o
dy
dx
. Salvo que sea necesario por claridad, en general no expresaremos la dependencia
de la variable y respecto de x:
F(x, y, y

) = 0, x [a, b].
Una solucin de una ecuacin diferencial de primer orden es una funcin y: [a, b] R que
verica la ecuacin en cada punto x [a, b]. Para que esta denicin tenga sentido, es preciso
que la funcin y(x) sea derivable en el intervalo [a, b] y que dicha derivada sea una funcin
continua: se dice entonces que y(x) es de clase C
1
([a, b]).
Ejemplo 1.1. La funcin y: R R dada por y(x) = e
x
es una solucin de la ecuacin
diferencial y

= y, ya que es derivable con continuidad en R y


y

(x) = e
x
= y(x).
La solucin general de una ecuacin diferencial de primer orden es una familia de funciones
y y(x, C) dependiente de un parmetro (o constante arbitraria) C que nos proporciona todas
las posibles soluciones de la ecuacin diferencial.
Ejemplo 1.2. La solucin general de la ecuacin diferencial y

= y es
y = Ce
x
,
siendo C R una constante arbitraria. En efecto, cualquier funcin de la forma anterior es
solucin de la ecuacin:
y

(x) = Ce
x
= y(x).
Ms adelante veremos que todas las posibles soluciones de la ecuacin tienen la forma ante-
rior.
Resolver una ecuacin diferencial signica obtener todas sus soluciones, esto es, hay que
determinar su solucin general. La inmensa mayora de ecuaciones diferenciales no pueden
resolverse mediante mtodos analticos, es decir, no es posible obtener una expresin exacta
de la solucin y y(x, C). En este tema estudiaremos diversos tipos clsicos de ecuaciones
que s pueden resolverse de forma explcita.
6
Una ecuacin diferencial de primer orden est escrita en forma normal (tambin se dice que
est resuelta respecto de la derivada) si la derivada y

aparece despejada:
y

= f (x, y).
Toda ecuacin en forma normal tambin puede escribirse en forma diferencial:
M(x, y) dx + N(x, y) dy = 0.
En efecto:
y

= f (x, y)
dy
dx
= f (x, y) f (x, y)dx dy = 0;
basta pues tomar M(x, y) = f (x, y) y N(x, y) = 1.
En las secciones siguientes estudiaremos mtodos de resolucin para tres tipos fundamen-
tales de ecuaciones diferenciales de primer orden:
Ecuaciones de variables separables: y

=
f (x)
g(y)
.
Ecuaciones lineales: y

= a(x)y + b(x).
Ecuaciones exactas: M(x, y) dx + N(x, y) dy = 0 con
M
y
=
N
x
.
1.2. Ecuaciones de variables separables
Diremos que una ecuacin diferencial de primer orden es de variables separables si puede
escribirse en la forma
y

=
f (x)
g(y)
siendo f (x) y g(y) funciones de una sola variable.
Las ecuaciones de variables separables se resuelven agrupando en un miembro de la ecua-
cin los trminos que dependen de x, y en el otro aquellos que dependen de y; a continuacin,
se integran ambos miembros para obtener la solucin general de la ecuacin. De este modo,
podemos escribir formalmente:
dy
dx
=
f (x)
g(y)
g(y) dy = f (x) dx
_
g(y) dy =
_
f (x) dx.
Si G(y) y F(x) son primitivas de g(y) y f (x) respectivamente, obtenemos que
G(y) = H(x) +C,
donde C es la constante de integracin: recordemos que dos primitivas de una misma funcin
se diferencian en una constante. La expresin obtenida es la solucin general de la ecuacin
diferencial. Puede suceder que en dicha expresin no podamos despejar la variable y; en tal
caso se dice que la solucin est dada en forma implcita.
1.2 Ecuaciones de variables separables 7
Ejemplo 1.3. Consideremos la ecuacin diferencial y

= 2xy, que es de variables separables.


Para resolverla, separamos las variables e integramos:
dy
dx
= 2xy
dy
y
= 2x dx
_
dy
y
=
_
2x dx log(y) = x
2
+ c,
siendo c una constante de integracin. Despejemos la variable y:
y = e
x
2
+c
= e
x
2
e
c
.
Por ltimo, renombrando la constante e
c
como una constante arbitraria C, obtenemos la solu-
cin general de la ecuacin:
y = Ce
x
2
.
El siguiente cdigo permite resolver la ecuacin del ejemplo usando Sage:
sage: # Ejemplo 1.3
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x) == 2*x*y
sage: desolve(ec , y)
c*e^(x^2)
Ejemplo 1.4. La ecuacin y

= x/y es de variables separables, por tanto:


dy
dx
=
x
y
y dy = x dx
_
y dy =
_
x dx
y
2
2
=
x
2
2
+ c x
2
+ y
2
= 2c.
Esta solucin puede reescribirse como
x
2
+ y
2
= C,
donde C = 2c representa una constante arbitraria. Hemos obtenido pues la solucin general
de la ecuacin en forma implcita: x
2
+y
2
= C. Observemos que al ser x
2
+y
2
0, la constante
C no puede ser negativa.
Es interesante observar que, a partir de la solucin general, se obtienen dos ramas de
soluciones (gura 1.1):
y =
_
C x
2
, y =
_
C x
2
,
siendo en ambos casos el dominio de denicin I = (

C,

C), ya que y(x) no es una


funcin derivable en x = 1.
El correspondiente cdigo Sage para resolver la ecuacin es:
sage: # Ejemplo 1.4
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x) == -x/y
sage: desolve(ec , y)
-1/2*y(x)^2 == 1/2*x^2 + c
Como vemos, la solucin viene dada en forma implcita. Si queremos despejar la solucin y,
primero guardamos el resultado anterior en una variable, que llamaremos sol:
8
x
1
1
0
-1
-1
y=1x
2
y
x
1
1
0
-1
-1
y=1x
2
y
Figura 1.1: Las dos ramas de solucin para C = 1, denidas en I = (1, 1).
sage: sol = desolve(ec, y); sol
-1/2*y(x)^2 == 1/2*x^2 + c
A continuacin, usamos el comando solve para despejar y:
sage: solve(sol , y)
[y(x) == -sqrt(-x^2 - 2*c), y(x) == sqrt(-x^2 - 2*c)]
Ejemplo 1.5. Consideremos la ecuacin en forma diferencial
xy dx + e
x
2
(y
2
1) dy = 0.
Podemos separar las variables como sigue:
1 y
2
y
dy = xe
x
2
dx.
Integrando, obtenemos la solucin general:
_
1 y
2
y
dy =
_
xe
x
2
dx log(y)
y
2
2
=
e
x
2
2
+C.
De nuevo Sage nos proporciona la solucin correcta:
sage: # Ejemplo 1.5
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x) == x*exp(x^2)*y/(1-y^2)
sage: desolve(ec , y)
-1/2*y(x)^2 + log(y(x)) == c + 1/2*e^(x^2)
En este caso no podemos despejar la variable y, por lo que debemos conformarnos con la
solucin general en forma implcita.
1.2 Ecuaciones de variables separables 9
Ejemplo 1.6. Por supuesto, no todas las ecuaciones diferenciales de primer orden son de
variables separables. Como muestra, un botn:
y

= x
2
+ y
2
.
A continuacin vamos a considerar el caso particular de las ecuaciones homogneas que, aun
no siendo estrictamente de variables separables, pueden reducirse a una de estas mediante un
cambio de variable.
Diremos que una ecuacin diferencial de primer orden y

= f (x, y) es homognea si la
funcin f (x, y) verica la siguiente propiedad:
f (x, y) = f (x, y) para cada > 0.
En tal caso, mediante el cambio de variable
z =
y
x
podemos transformarla en una ecuacin de variables separables. Para comprobarlo, tengamos
en cuenta que y = xz y, por tanto, y

= z + xz

; sustituyendo en la ecuacin, resulta:


z + xz

= f (x, xz) z + xz

= f (1, z) z

=
f (1, z) z
x
,
siendo esta ultima ecuacin de variables separables.
Ejemplo 1.7. La ecuacin
y

=
y +
_
x
2
y
2
x
es homognea. En efecto, si denimos
f (x, y) =
y +
_
x
2
y
2
x
entonces, para cada > 0,
f (x, y) =
y +
_
(x)
2
(y)
2
x
=
y +
_

2
(x
2
y
2
)
x
=
y +
_
x
2
y
2
x
= f (x, y).
Para resolver la ecuacin, hacemos el cambio z = y/x. El segundo miembro de la ecuacin
quedara as:
y +
_
x
2
y
2
x
=
xz +
_
x
2
(xz)
2
x
=
xz +
_
x
2
(1 z
2
)
x
= z +
_
1 z
2
.
Sustituyendo en la ecuacin diferencial, resulta

z + xz

z +
_
1 z
2

dz
dx
=

1 z
2
x
.
10
La ecuacin obtenida es de variables separables, por lo que podemos resolverla mediante
integracin:
dz
dx
=

1 z
2
x

_
dz

1 z
2
=
_
dx
x
arc sen(z) = log(x) +C z = sen(log(x) +C).
(ntese que se ha supuesto x > 0 para que log(x) tenga sentido). Por ltimo, deshacemos el
cambio z = y/x para obtener la solucin general:
y = x sen(log(x) +C).
El cdigo Sage para resolver la ecuacin diferencial es:
sage: # Ejemplo 1.7
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x) == (y+sqrt(x^2-y^2))/x
sage: desolve(ec , y)
x == c*e^(x*arcsin(y(x)/x)/sqrt(x^2))
En este caso, la solucin obtenida viene dada en forma implcita:
x = c e
x arcsen
_
y
x
_
/

x
2
Suponiendo que x > 0, la expresin anterior puede simplicarse:
x = c e
arcsen
_
y
x
_
arcsen
_
y
x
_
= log
_
x
c
_
y = x sen(log(x) +C),
donde C = log(c). Si queremos que Sage imponga de antemano la condicin x > 0, podemos
usar el comando assume:
sage: # Ejemplo 1.7
sage: var(x)
sage: assume(x>0) # suponemos que x>0
sage: y = function(y, x)
sage: ec = diff(y, x) == (y+sqrt(x^2-y^2))/x
sage: desolve(ec , y)
c*x == e^( arcsin(y(x)/x))
En el clculo de la solucin hemos supuesto que x > 0. Qu ocurre en caso contrario?
En primer lugar, notemos que el caso x = 0 no tiene cabida, ya que la funcin que dene el
segundo miembro de la ecuacin diferencial no est denida en x = 0. Supongamos pues que
x < 0; en tal caso, cambiamos de signo ambos miembros de la ecuacin y tenemos en cuenta
que x > 0:
dz
dx
=

1 z
2
x

_
dz

1 z
2
=
_
dx
x
arc sen(z) = log(x) +C.
Cambiando de signo y renombrando la constante de integracin, obtenemos:
z = sen(log(x) +C) y = x sen(log(x) +C).
1.3 Ecuaciones lineales 11
Si no queremos preocuparnos del signo de x, es una prctica habitual denir
_
dx
x
= log |x|.
De esta manera, podemos considerar la siguiente expresin de la solucin general:
y = x sen(log |x| +C),
que es vlida independientemente del signo de x.
1.3. Ecuaciones lineales
Una ecuacin diferencial de primer orden es lineal si puede escribirse en la forma
y

= a(x)y + b(x)
para ciertas funciones a(x) y b(x). Cuando b(x) 0 la ecuacin es de variables separables y
se denomina homognea; en caso contrario, la ecuacin se dice completa.
El proceso de resolucin de una ecuacin lineal consta de dos etapas:
Clculo de la solucin general y
H
(x, C) de la ecuacin homognea asociada: y

= a(x)y.
Determinacin de una solucin particular y
P
(x) de la ecuacin completa.
Veamos en detalle dicho proceso. En primer lugar, resolvemos la ecuacin homognea
asociada, que es de variables separables:
dy
dx
= a(x)y
_
dy
y
=
_
a(x) dx log(y) = A(x) + c,
siendo A(x) una primitiva de a(x); despejando la variable y obtenemos la solucin general de
la ecuacin homognea:
y
H
(x, C) = Ce
A(x)
,
(ntese que la constante C sustituye a e
c
en este ltimo paso).
Para determinar una solucin particular de la ecuacin completa utilizaremos el mtodo de
variacin de la constante. Dicho mtodo se basa en construir una solucin y
P
(x) con la misma
estructura que y
H
(x, C), donde se sustituye la constante arbitraria C por una funcin C(x):
y
P
(x) = C(x)e
A(x)
.
A continuacin, se determina C(x) imponiendo que y
P
(x) sea solucin de la ecuacin com-
pleta:
y

P
= a(x)y
P
+ b(x) C

(x)e
A(x)
+ A

(x)C(x)e
A(x)
= a(x)C(x)e
A(x)
+ b(x);
teniendo en cuenta que A

(x) = a(x), resulta:


C

(x) = b(x)e
A(x)
C(x) =
_
b(x)e
A(x)
dx
12
(ntese que este ltimo paso no hay que aadir una constante de integracin, ya que slo
necesitamos una solucin particular). Finalmente, la solucin particular buscada es
y
P
=
_
_
b(x)e
A(x)
dx
_
e
A(x)
.
Una vez calculadas y
H
(x, C) e y
P
(x), la solucin general de la ecuacin completa es
y y(x, C) = y
H
(x, C) + y
P
(x).
Observacin. En efecto, teniendo en cuenta que y
H
e y
P
verican, respectivamente, las igual-
dades y

H
= a(x)y
H
e y

P
= a(x)y
P
+ b(x), tenemos que
y

= y

H
+ y

P
= a(x)y
H
+ a(x)y
P
+ b(x) = a(x)(y
H
+ y
P
) + b(x) = a(x)y + b(x),
lo que signica que y = y
H
+ y
P
es solucin de la ecuacin completa; adems, al ser y
H
una
familia uniparamtrica de soluciones, y tambin lo es. Para probar que se trata de la solucin
general, veamos que cualquier solucin y de la ecuacin completa es de la forma y
H
+ y
P
,
para una cierta solucin y
H
de la ecuacin homognea. Si y es cualquier solucin de la forma
y
H
+ y
P
, se tiene que
y

= a(x) y + b(x)
y

= a(x)y + b(x)
_
y

= a(x) y a(x)y ( y y)

= a(x)( y y).
Esto muestra que y y es una solucin de la ecuacin homognea, que llamaremos y
H
. Por
tanto,
y y = y
H
y = y + y
H
= (y
H
+ y
P
) + y
H
= (y
H
+ y
H
) + y
P
,
donde y
H
+ y
H
es solucin de la ecuacin homognea (esto se comprueba fcilmente). Hemos
demostrado as que y es de la forma requerida.
Recapitulando, para calcular la solucin general de una ecuacin lineal basta con calcular
la solucin general de la ecuacin homognea asociada (que siempre es de variables separa-
bles) y sumarle a sta una solucin cualquiera de la ecuacin completa.
Ejemplo 1.8. Consideremos la ecuacin lineal
y

=
y
x
+ log(x),
donde a(x) = 1/x y b(x) = log(x). Primero, calculamos la solucin general de la ecuacin
homognea asociada:
dy
dx
=
y
x

_
dy
y
=
_
dx
x
log(y) = log(x) + c y
H
(x, C) = Cx.
A continuacin, buscamos una solucin particular de la forma
y
P
= C(x)x,
1.3 Ecuaciones lineales 13
donde ahora C(x) representa una funcin a determinar; para ello, sustituimos y
P
en la ecua-
cin completa:
y

P
=
y
P
x
+log(x) C

(x)x +

C(x) =
&
&
&
&
C(x)x
x
+log(x) C

(x) =
log(x)
x
C(x) =
1
2
log
2
(x).
Sustituyendo en y
P
= C(x)x se determina una solucin particular de la ecuacin completa:
y
P
=
x
2
log
2
(x).
Finalmente, la solucin general de la ecuacin completa ser
y = Cx +
x
2
log
2
(x).
Sage calcula de forma directa la solucin general de la ecuacin:
sage: # Ejemplo 1.8
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x) == y/x + log(x)
sage: desolve(ec , y)
1/2*( log(x)^2 + 2*c)*x
Ejemplo 1.9. Resolvamos la ecuacin lineal
y

= y + cos(x),
en la que a(x) = 1 y b(x) = cos(x). En primer lugar estudiamos la ecuacin homognea
asociada:
dy
dx
= y
_
dy
y
=
_
dx log(y) = x + c y = Ce
x
.
A continuacin, buscamos una solucin particular de la forma
y
P
= C(x)e
x
.
Como y

P
= C

(x)e
x
+C(x)e
x
, sustituyendo en la ecuacin completa obtenemos
y

P
= y
P
+ cos(x) C

(x)e
x
+
$
$
$
$
C(x)e
x
=
$
$
$
$
C(x)e
x
+ cos(x) C

(x) = e
x
cos(x).
Integrando por partes, resulta
C(x) =
sen(x) cos(x)
2
e
x
.
Por tanto, una solucin particular es
y
P
= C(x)e
x
=
sen(x) cos(x)
2
e
x
e
x
=
sen(x) cos(x)
2
.
Finalmente, la solucin general de la ecuacin ser
y = Ce
x
+
sen(x) cos(x)
2
.
Aqu est el cdigo Sage para resolver la ecuacin:
14
sage: # Ejemplo 1.9
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x) == y + cos(x)
sage: desolve(ec , y)
1/2*(( sin(x) - cos(x))*e^(-x) + 2*c)*e^x
Si queremos una expresin ms simplicada del resultado, podemos utilizar el comando
expand en la ltima lnea del cdigo:
sage: expand(desolve(ec, y))
c*e^x + 1/2* sin(x) - 1/2* cos(x)
1.4. Ecuaciones exactas
Una ecuacin en forma diferencial
M(x, y) dx + N(x, y) dy = 0
es exacta si se verica la condicin
M
y
=
N
x
.
En tal caso, la solucin general de la ecuacin viene dada por la expresin
E(x, y) = C,
donde E(x, y) es una solucin del sistema
_

_
E
x
= M(x, y),
E
y
= N(x, y).
La funcin E(x, y) se denomina potencial asociado al campo vectorial M(x, y)

i + N(x, y)

j.
Observacin. La terminologa usada en esta seccin proviene de la Fsica. En efecto, el campo
vectorial

F(x, y) = M(x, y)

i + N(x, y)

j es conservativo si se verica que


M
y
=
N
x
, lo que
coincide con la condicin de exactitud. Todo campo conservativo deriva de un potencial, esto
es, existe una funcin potencial E(x, y) tal que

F puede expresarse como el gradiente de E:

F(x, y) =

E(x, y) M(x, y)

i + N(x, y)

j =
E
x

i +
E
y

j.
Igualando componentes, se deducen las ecuaciones para determinar el potencial:
E
x
= M(x, y),
E
y
= N(x, y).
1.4 Ecuaciones exactas 15
Observacin. Supongamos que y(x) verica que E(x, y(x)) = C. Derivando respecto a x, y
aplicando la regla de la cadena, se obtiene:
d
dx
E(x, y(x)) = 0
E
x
(x, y(x)) +
E
y
(x, y(x))
dy
dx
= 0.
Usando las igualdades
E
x
= M y
E
y
= N, resulta:
M(x, y(x)) + N(x, y(x))
dy
dx
= 0 M(x, y(x)) dx + N(x, y(x)) dy = 0.
Esto prueba que y(x) es solucin de la ecuacin diferencial. Bajo ciertas hiptesis de regulari-
dad, puede demostrarse la existencia de una funcin potencial E(x, y).
Ejemplo 1.10. Resolvamos la ecuacin diferencial
2xy dx + (x
2
1) dy = 0.
En este caso, M(x, y) = 2xy y N(x, y) = x
2
1. Derivando, obtenemos
M
y
=

y
(2xy) = 2x y
N
x
=

y
(x
2
1) = 2x,
lo que demuestra que la ecuacin es exacta.
Para calcular un potencial, hemos de resolver el sistema
_

_
E
x
= 2xy M(x, y),
E
y
= x
2
1 N(x, y).
Integrando respecto de x en la primera ecuacin, resulta:
E(x, y) =
_
E
x
dx =
_
2xy dx = y
_
2x dx = x
2
y + g(y).
Observemos que al integrar la funcin de dos variables E(x, y) respecto de la variable x, la
constante de integracin que aparece no es realmente una constante, sino una funcin de la
variable y; en efecto, para cualquier funcin g(y) se verica que

x
(x
2
y + g(y)) =

x
(x
2
y) +

x
g(y) = 2xy + 0 = 2xy.
A continuacin, derivamos la expresin obtenida para E(x, y) respecto de la variable y:
E
y
=

y
(x
2
y + g(y)) = x
2
+ g

(y),
y sustituimos en la segunda ecuacin del sistema:

x
2
+ g

(y) =

x
2
1 g

(y) = 1 g(y) =
_
(1)dy = y.
16
Por tanto, una funcin potencial viene dada por
E(x, y) = x
2
y y = (x
2
1) y.
La solucin general de la ecuacin diferencial ser entonces
E(x, y) = C (x
2
1) y = C y =
C
x
2
1
.
En el desarrollo anterior, para calcular el potencial E(x, y) hemos partido de la primera
ecuacin. Vamos a ver qu sucede si comenzamos integrando en la segunda ecuacin:
E(x, y) =
_
E
y
dy =
_
(x
2
1) dy = (x
2
1)
_
dy = (x
2
1)y + h(x).
Derivando respecto de x y sustituyendo en la primera ecuacin, resulta:
&
&
2xy + h

(x) =
&
&
2xy h

(x) = 0 h(x) = c,
donde c puede ser cualquier constante; tomemos c = 0, y as h(x) = 0. El potencial es entonces
E(x, y) = (x
2
1) y y la solucin general (x
2
1) y = C. Obtenemos pues el mismo resultado
que en la primera parte del ejemplo, como era de esperar.
Podemos resolver la ecuacin usando Sage si la escribimos en forma normal:
sage: # Ejemplo 1.10
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x) == -2*x*y/(x^2-1)
sage: desolve(ec , y)
c/(x^2 - 1)
Ejemplo 1.11. Sea la ecuacin diferencial
(sen(xy) + xy cos(xy)) dx + x
2
cos(xy) dy = 0.
Llamemos M(x, y) = sen(xy) + xy cos(xy) y N(x, y) = x
2
cos(xy)dy, y notemos que
M
y
= x cos(xy) x
2
y sen(xy) + x cos(xy)
N
x
= 2x cos(xy) + x
2
y sen(xy)
_

M
y
=
N
x
,
lo que prueba que la ecuacin es exacta.
Para calcular el potencial E(x, y) consideramos el sistema de ecuaciones
_

_
E
x
= sen(xy) + xy cos(xy) M(x, y),
E
y
= x
2
cos(xy) N(x, y).
1.4 Ecuaciones exactas 17
En este caso es ms sencillo integrar primero la segunda ecuacin:
E(x, y) =
_
E
y
dy =
_
x
2
cos(xy) dy = x
2
_
cos(xy) dy = x sen(xy) + g(x).
Derivando respecto de x, resulta:
E
x
= sen(xy) + xy cos(xy) + g

(x).
Ahora sustituimos la expresin anterior en la primera ecuacin:
$
$
$
$
sen(xy) +
$
$
$
$
$$
xy cos(xy) + g

(x) =
$
$
$
$
sen(xy) +
$
$
$
$
$$
xy cos(xy) g

(x) = 0 g(x) = c,
siendo c una constante arbitraria. Tomando c = 0, obtenemos g(x) = 0. As pues, un potencial
es
E(x, y) = x sen(xy),
y la solucin general de la ecuacin diferencial, en forma implcita, viene dada por
x sen(xy) = C.
Tambin Sage es capaz de resolver esta ecuacin, si previamente la hemos escrito en forma
normal:
sage: # Ejemplo 1.11
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x) == -(sin(x*y)+x*y*cos(x*y))/(x^2* cos(x*y))
sage: desolve(ec , y)
x*sin(x*y(x)) == c
En caso de que Sage no pueda obtener una solucin de forma directa, cabe la posibilidad
de realizar todo el proceso de resolucin. Vamos a ilustrarlo con la ecuacin del ejemplo.
En primer lugar, denimos las funciones M(x, y) y N(x, y), y comprobamos la condicin
de exactitud:
sage: # Ejemplo 1.11
sage: var(x, y)
sage: # definimos M y N
sage: M = sin(x*y)+x*y*cos(x*y)
sage: N = x^2* cos(x*y)
sage: # comprobamos la exactitud
sage: diff(M, y)-diff(N, x)
0
A continuacin resolvemos la ecuacin
E
x
= M(x, y) mediante integracin:
sage: # hacemos la integral de M respecto de x
sage: # para calcular el potencial E
sage: E = integral(M, x); expand(E)
x*sin(x*y)
Como Sage ha calculado slo la primitiva ms simple, aadimos una funcin dependiente de
la variable y:
18
sage: # sumamos una "constante" dependiente de y
sage: g = function(g, y)
sage: EE = E + g; expand(EE)
x*sin(x*y) + g(y)
A continuacin, derivamos la expresin obtenida respecto de y e igualamos a N(x, y):
sage: # derivamos respecto de y e igualamos a N
sage: ec = diff(EE, y) == N; expand(ec)
x^2*cos(x*y) + D[0](g)(y) == x^2*cos(x*y)
Calculamos g(y) despejando e integrando:
sage: # despejamos g (y)
sage: dg = solve(ec, diff(g,y)); dg
[D[0](g)(y) == 0]
sage: # integramos g (y) respecto de y
sage: g = integrate(dg[0]. rhs(), y); g
0
(ntese que dg representa una ecuacin; para considerar su segundo miembro, que es el valor
obtenido para g(y), usamos la notacin dg[0].rhs()
1
). Por ltimo, denimos el potencial
E(x, y):
sage: # definimos el potencial
sage: E = E + g; expand(E)
x*sin(x*y)
1.5. Problemas de valor inicial
Hemos visto que la solucin general de una ecuacin diferencial de primer orden, que
supondremos escrita en forma normal:
y

= f (x, y),
depende de una constante arbitraria C, esto es, y y(x, C). En particular, la ecuacin diferen-
cial posee un nmero innito de soluciones, aunque todas ellas se diferencian nicamente en
el valor de la constante C.
Supongamos que estamos interesados en elegir, de entre todas las posibles soluciones,
aquella que en el punto a toma un cierto valor y
0
. En tal caso, estamos ante un problema de
valor inicial o problema de Cauchy:
_
y

= f (x, y), x [a, b],


y(a) = y
0
.
1
Podemos dar una explicacin un poco ms tcnica de la notacin. El valor dg representa una lista o conjunto de
ecuaciones que, en este ejemplo, consta de un nico elemento, ya que slo estamos considerando una ecuacin. Los
elementos de una lista se enumeran comenzando con el ndice 0, por eso dg[0] hace referencia al primer elemento
de la lista. En lenguaje informtico, dg[0] es un objeto, esto es, una estructura con determinados contenidos y
aplicaciones (o mtodos) asociadas a ella. Para acceder a los contenidos de un objeto se usa un punto (.) detrs
del nombre del objeto. De esta forma, dg[0].rhs denota un mtodo que devuelve el miembro de la derecha (rhs:
right hand side, en ingls) de la ecuacin representada por dg[0]; los parntesis vacos hacen que se ejecute dicho
mtodo sin ningn argumento extra. En general, si queremos ver los mtodos asociados a un objeto en Sage, basta
con escribir el nombre del objeto seguido de un punto y pulsar la tecla de tabulacin.
1.6 Aplicacin: calentamiento de edicios 19
La condicin y(a) = y
0
se denomina condicin inicial. Bajo hiptesis adecuadas de regularidad
sobre la funcin f (x, y), puede demostrarse que el problema de valor inicial posee una nica
solucin. El valor correspondiente de la constante C se determina imponiendo la condicin
inicial en la solucin general; dicho de otro modo, hay que resolver la ecuacin y(a, C) = y
0
.
Ejemplo 1.12. Consideremos el problema de valor inicial
_
y

= 2xy,
y(0) = 1.
La solucin general de la ecuacin y

= 2xy es, segn vimos en el ejemplo 1.3,


y(x, C) y = Ce
x
2
.
Imponiendo la condicin inicial, resulta:
y(0) = 1 Ce
0
2
= 1 C = 1.
Por tanto, la nica solucin del problema de valor inicial es
y = e
x
2
.
El siguiente cdigo resuelve el problema de valor inicial en Sage:
sage: # Ejemplo 1.12
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x) == 2*x*y
sage: sol = desolve(ec, y, ics=[0, 1]) # ics=[a, y(a)]
sage: sol
e^(x^2)
Es posible representar grcamente esta solucin de forma muy simple. Si, por ejemplo, que-
remos dibujarla en el intervalo [0, 1], hacemos:
sage: plot(sol , [0, 1])
para obtener el resultado de la gura 1.2.
1.6. Aplicacin: calentamiento de edicios
Vamos a estudiar un modelo que describe la evolucin de la temperatura en el interior
de un edicio. Para ello, denotemos por T(t) dicha temperatura en el instante de tiempo t.
Supondremos que las variaciones de temperatura dependen de tres factores: la temperatura
exterior, el calor generado en el interior del edicio y el efecto del sistema de calefaccin o de
aire acondicionado. De forma ms especca:
El calor producido por las personas, luces, maquinaria, etc. en el interior del edicio
causan un incremento de la temperatura que denotaremos por H(t), siendo esta funcin
no negativa.
20
Figura 1.2: Solucin del ejemplo 1.12 en el intervalo [0, 1].
Las variaciones de temperatura producidas por el sistema de calefaccin/refrigeracin
se representan mediante una funcin U(t), que ser positiva para la calefaccin y nega-
tiva para el aire acondicionado.
Por ltimo, hay que considerar el efecto de la temperatura exterior T
e
(t) sobre el edicio.
Factores experimentales muestran que este efecto puede modelizarse usando la ley del
enfriamiento de Newton, que establece que el ritmo de cambio de la temperatura T(t) es
proporcional a la diferencia entre la temperatura exterior T
e
(t) y la interior T(t).
Expresando en trminos matemticos los puntos anteriores, podemos considerar la si-
guiente ecuacin diferencial de primer orden:
dT
dt
= k(T
e
(t) T(t)) + H(t) +U(t).
El ritmo de cambio de la temperatura T(t) se expresa mediante su derivada respecto del tiem-
po,
dT
dt
. La constante de proporcionalidad k se supone positiva y depende de las propiedades
fsicas del edicio: nmero de puertas y ventanas, tipo de aislamiento, etc.
Observacin. Respecto a las unidades de medida, supondremos que la temperatura viene
dada en grados Celsius (

C) y el tiempo en horas (h); en consecuencia, la variacin de tempe-


ratura
dT
dt
se mide en

C/h. La constante k tiene como unidad h
1
. En general, las funciones
H(t) y U(t) se expresan en trminos de energa por unidad de tiempo, kcal/h. Si embargo,
multiplicando ambas cantidades por la capacidad calorca del edicio (cuyas unidades son

C/kcal), podemos suponer que tanto H(t) como U(t) vienen dadas en

C/h.
Observacin. Supongamos que H(t) 0 y U(t) 0, por lo que la ecuacin se reduce a
dT
dt
= k(T
e
(t) T(t))
1.6 Aplicacin: calentamiento de edicios 21
(esta es la expresin de la ley de Newton). Cuando la temperatura exterior es mayor que
la interior, T
e
(t) T(t) > 0, se tiene que T

(t) > 0, lo que signica que T(t) es una funcin


creciente: la temperatura del edicio se incrementa. Si, por el contrario, la temperatura exterior
es menor que la interior, T
e
(t) T(t) < 0, entonces T

(t) < 0, por lo que la temperatura del


edicio disminuye.
Observacin. El valor K = 1/k se denomina constante de tiempo del edicio, y representa el
tiempo que se necesita para que la temperatura del edicio cambia de forma sustancial. Un
valor tpico podra estar entre dos y cuatro horas, aunque puede ser mucho menor si se abren
las ventanas o se utilizan ventiladores; por el contrario, la constante de tiempo puede ser
mucho mayor si el edicio est bien aislado.
Si reescribimos la ecuacin de la siguiente forma:
dT
dt
= kT(t) + kT
e
(t) + H(t) +U(t),
queda claro que es de tipo lineal, por lo que podemos resolverla usando el mtodo de variacin
de la constante. En primer lugar, determinamos la solucin general de la ecuacin homognea
asociada:
dT
dt
= kT
_
dT
T
=
_
k dt log(T) = kt + c T
H
(t, C) = Ce
kt
,
donde hemos sustituido e
c
por una constante arbitraria C. A continuacin, buscamos una
solucin particular de la forma T
P
(t) = C(t)e
kt
; sustituyendo en la ecuacin, resulta:
C

(t)e
kt

$
$
$
$
$
kC(t)e
kt
=
$
$
$
$
$
kC(t)e
kt
+ kT
e
(t) + H(t) +U(t)
C

(t) = e
kt
(kT
e
(t) + H(t) +U(t)) C(t) =
_
e
kt
(kT
e
(t) + H(t) +U(t)) dt,
de donde
T
P
(t) = e
kt
_
e
kt
(kT
e
(t) + H(t) +U(t)) dt.
Por ltimo, la solucin general de la ecuacin completa ser
T(t, C) T(t) = e
kt
_
_
e
kt
(kT
e
(t) + H(t) +U(t)) dt +C
_
.
Para completar el modelo, es necesario conocer la temperatura inicial del edicio, esto es,
hay que considerar una condicin inicial de la forma
T(0) = T
0
,
donde T
0
es la temperatura del edicio en el instante inicial t = 0. Imponiendo esta condicin
inicial en la solucin general, es posible determinar el valor de la constante de integracin C.
Ejemplo 1.13. Consideremos un edicio en el que el ritmo de calor adicional H(t)

48

C/h
es constante y no se usa calefaccin ni aire acondicionado: U(t) 0. Supongamos que la
temperatura exterior vara segn la funcin
T
e
(t) = 23 7 cos
_

12
t
_
,
22
Figura 1.3: Temperatura interior: T(t). Temperatura exterior: T
e
(t).
esto es, se supone que la temperatura exterior cambia de forma sinusoidal en un perodo
de 24 horas, con su mnimo en t = 0 (medianoche) y su mximo en t = 12 (medioda).
Supongamos asimismo que k =

12
h
1
, por lo que la constante de temperatura del edicio,
1/k, es aproximadamente de cuatro horas. La situacin descrita podra corresponder a la
primavera, cuando no usamos ni la calefaccin ni el aire acondicionado y las variaciones de
temperatura son suaves.
En este caso, la temperatura interior del edicio viene dada por la siguiente funcin:
T(t) = e
kt
_
_
e
kt
(kT
e
(t) + H
0
) dt +C
_
= e
kt
_
7k
_
e
kt
cos
_

12
t
_
dt + (23k + H
0
)
_
e
kt
dt +C
_
.
Integrando por partes el primer sumando y sustituyendo los valores de k y H
0
, obtenemos:
T(t) =
93
4

7
2
_
cos
_

12
t
_
+ sen
_

12
t
__
+Ce

12
t
.
Supongamos ahora que la temperatura inicial (esto es, a medianoche) en el interior del
edicio es de 20

C. Imponiendo esta condicin sobre T(t), podemos calcular el valor de la
constante de integracin C:
T(0) = 20
93
4

7
2
+C = 20 C =
1
4
.
La solucin del problema de valor inicial es, nalmente,
T(t) =
93
4

7
2
_
cos
_

12
t
_
+ sen
_

12
t
__
+
1
4
e

12
t
.
En la gura 1.3 se muestran las evoluciones de las temperaturas interior y exterior del edicio
durante un perodo de 24 horas.
Damos a continuacin un cdigo Sage para resolver el problema y representar grcamen-
te tanto la solucin T(t) como la evolucin de la temperatura exterior T
e
(t).
1.6 Aplicacin: calentamiento de edicios 23
sage: var(t)
sage: k = pi/12
sage: Te = 23-7*cos(pi*t/12)
sage: H = pi/48
sage: U = 0
sage: T = function(T, t)
sage: ec = diff(T, t) == k*(Te -T) + H + U
sage: sol = desolve(ec, T, ics=[0, 20])
sage: expand(sol)
1/4*e^( -1/12*pi*t) - 7/2* sin (1/12* pi*t) - 7/2* cos (1/12* pi*t) + 93/4
sage: # Dibujamos
sage: fig1 = plot(sol , t, 0, 24, color=blue,
legend_label=Temp. interna ) # figura para T
sage: fig2 = plot(Te, t, 0, 24, color=red,
legend_label=Temp. externa ) # figura para Te
sage: fig = fig1 + fig2 # unimos ambas figuras
sage: fig.show() # mostramos el resultado
El parmetro legend_label dentro de la instruccin plot se ha utilizado para etiquetar las
grcas. El resultado obtenido puede verse en la gura 1.3.
Supongamos que queremos determinar la temperatura mxima que se alcanza en el inte-
rior del edicio durante un periodo de 24 horas. Para ello, podemos usar el siguiente comando:
sage: sol.find_maximum_on_interval (0, 24)
(28.204675639897779 , 14.996195034422906)
El primer nmero corresponde al valor mximo de la temperatura y el segundo al instante en
que ste se alcanza. De forma anloga, para determinar la temperatura mnima, hacemos
sage: sol.find_minimum_on_interval (0, 24)
(18.412953900017136 , 3.086010596200699)
Como vemos, los resultados son consistentes con la representacin grca de la solucin.
24
2 Ecuaciones diferenciales de orden superior y sistemas 25
2. Ecuaciones diferenciales de orden superior y sistemas
2.1. Introduccin
Una ecuacin diferencial ordinaria de orden n es una ecuacin que relaciona una variable
independiente x con una variable dependiente y y(x) y sus derivadas hasta el orden n. Su
forma general es la siguiente:
F(x, y, y

, y

, . . . , y
(n)
) = 0, x [a, b].
La ecuacin est escrita en forma normal si la derivada de orden n aparece despejada:
y
(n)
= f (x, y, y

, . . . , y
(n1)
), x [a, b].
Una solucin de la ecuacin diferencial es una funcin y: [a, b] R que satisface la ecua-
cin en cada punto x [a, b]. Dicha funcin ha de ser regular, en el sentido de ser derivable
tantas veces como indique el orden de la ecuacin, siendo continuas todas las derivadas; en
tal caso se dice que y(x) es una funcin de clase C
n
([a, b]).
Ejemplo 2.1. La funcin y: R R denida como y(x) = sen(2x) es solucin de la ecuacin
diferencial de orden dos (o segundo orden)
y

= 4y.
En primer lugar, notemos que la funcin y(x) es de clase dos, ya que tanto y

(x) = 2 cos(2x)
como y

(x) = 4 sen(2x) son funciones continuas. Adems, se verica la ecuacin para cada
punto x R:
y

(x) = 4 sen(2x) = 4y(x).


Es inmediato hacer la comprobacin anterior usando Sage:
sage: # Ejemplo 2.1
sage: var(x)
sage: y = sin (2*x)
sage: diff(y, x, 2) + 4*y
0
La solucin general de una ecuacin diferencial de orden n es una familia de funciones que
determinan todas las posibles soluciones de la ecuacin. Dicha solucin general depende de n
parmetros o constantes arbitrarias: y y(x, C
1
, C
2
, . . . , C
n
).
Ejemplo 2.2. La solucin general de la ecuacin diferencial y

= 4y es
y = C
1
sen(2x) +C
2
cos(2x),
siendo C
1
y C
2
constantes arbitrarias. Es fcil comprobar que todas las funciones de esta
forma verican la ecuacin diferencial; ms adelante veremos que estas son todas las posibles
soluciones.
Veamos cmo usar Sage para hacer la comprobacin:
26
sage: # Ejemplo 2.2
sage: var(x, C1 , C2)
sage: y = C1*sin (2*x) + C2*cos (2*x)
sage: diff(y, x, 2) + 4*y
0
Tambin podemos resolver la ecuacin directamente:
sage: # Ejemplo 2.2
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x, 2) == -4*y
sage: desolve(ec , y)
k1*sin (2*x) + k2*cos (2*x)
Dada una ecuacin diferencial de orden n (que supondremos escrita en forma normal), po-
demos complementarla con n condiciones iniciales que establecen los valores que deben tomar
la solucin y sus derivadas en un cierto punto. Estamos entonces ante lo que se denomina un
problema de valores iniciales o problema de Cauchy. Su forma es la siguiente:
_

_
y
(n)
= f (x, y, y

, . . . , y
(n1)
), x [a, b],
y(a) = y
0
,
y

(a) = y
1
,
.
.
.
y
(n1)
(a) = y
n1
,
donde y
0
, y
1
, . . . , y
n1
son datos del problema. Ntese que un problema de valores iniciales
posee, en general, solucin nica. Para determinarla, primero se obtiene la solucin general
de la ecuacin, que depender de n constantes arbitrarias, y luego se determina el valor de las
constantes utilizando las condiciones iniciales.
Ejemplo 2.3. Consideremos el problema de valores iniciales
_

_
y

= 4y,
y(0) = 1,
y

(0) = 0.
Como vimos en el ejemplo anterior, la solucin general de la ecuacin y

= 4y es
y = C
1
sen(2x) +C
2
cos(2x).
Determinemos C
1
y C
2
usando las condiciones iniciales. Por un lado, usando la primera con-
dicin inicial tenemos que
y(0) = 1 C
1
sen0 +C
2
cos 0 = 1 C
2
= 1.
Como y

(x) = 2C
1
cos(2x) 2C
2
sen(2x), de la segunda condicin deducimos que
y

(0) = 0 2C
1
$
$
$X
1
cos 0 2C
2
$
$
$X
0
sen0 = 0 C
1
= 0.
2.2 Ecuaciones lineales de segundo orden 27
Por tanto, la nica solucin del problema del problema de valores iniciales es
y = cos(2x).
El cdigo Sage correspondiente es el siguiente:
sage: # Ejemplo 2.3
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x, 2) == -4*y
sage: desolve(ec , y, ics=[0, 1, 0]) # ics=[a, y0 , y0 ]
cos (2*x)
El anlisis de las ecuaciones diferenciales generales de orden n requiere el uso de herra-
mientas matemticas avanzadas que estn ms all del alcance de este trabajo. Centraremos
por ello nuestro estudio en un tipo particular de ecuaciones de segundo orden, las de tipo
lineal, que aparecen con bastante frecuencia en las aplicaciones.
2.2. Ecuaciones lineales de segundo orden
Una ecuacin diferencial de segundo orden es lineal si puede escribirse de la siguiente
forma:
y

+ p(x)y

+ q(x)y = r(x),
donde p(x), q(x) y r(x) son funciones conocidas de la variable x.
Dentro de las ecuaciones lineales de segundo orden, distinguimos varios tipos:
Si r(x) 0, la ecuacin se denomina homognea: y

+ p(x)y

+ q(x)y = 0.
Si r(x) 0, se dice que la ecuacin es completa.
Si los coecientes p(x) y q(x) son constantes, la ecuacin es de coecientes constantes:
y

+ py

+ qy = r(x), donde p, q R. Obsrvese que el trmino independiente r(x) no


tiene por qu ser constante.
La solucin general de una ecuacin diferencial lineal de segundo orden depende de dos
constantes arbitrarias:
y y(x, C
1
, C
2
).
De modo anlogo a las ecuaciones lineales de primer orden, dicha solucin general tiene la
siguiente estructura:
y(x, C
1
, C
2
) = y
H
(x, C
1
, C
2
) + y
P
(x),
donde y
H
(x, C
1
, C
2
) es la solucin general de la ecuacin homognea asociada e y
P
(x) es una
solucin particular de la ecuacin completa.
Puede demostrarse que la estructura de la solucin general de la ecuacin homognea es
la siguiente:
y
H
(x, C
1
, C
2
) = C
1
y
1
(x) +C
2
y
2
(x),
28
donde y
1
e y
2
son soluciones particulares de la ecuacin homognea que verican la siguiente
propiedad:

y
1
(x) y
2
(x)
y

1
(x) y

2
(x)

= 0, x R.
El determinante anterior se denomina wronskiano, y se denota por W(y
1
, y
2
). Si se verica la
condicin anterior, diremos que las soluciones y
1
e y
2
son linealmente independientes, o que
forman un sistema fundamental de soluciones.
Ejemplo 2.4. Consideremos la ecuacin homognea y

+ 4y = 0. Es inmediato comprobar
que tanto y
1
(x) = sen(2x) como y
2
(x) = cos(2x) son soluciones de la ecuacin. Adems, son
linealmente independientes:
W(y
1
, y
2
) =

sen(2x) cos(2x)
2 cos(2x) 2 sen(2x)

= 2(
$
$
$
$
$
$
$
$
$
$$X
1
sen
2
(2x) + cos
2
(2x)) = 2 = 0, x R.
En consecuencia, la solucin general de la ecuacin homognea es
y = C
1
cos(2x) +C
2
sen(2x).
En resumen, para determinar la solucin general de una ecuacin lineal completa, es ne-
cesario calcular:
dos soluciones particulares de la ecuacin homognea asociada, que sean linealmente
independientes : y
1
(x), y
2
(x);
una solucin particular de la ecuacin completa: y
P
(x).
La solucin general de la ecuacin completa ser entonces
y = C
1
y
1
(x) +C
2
y
2
(x) + y
P
(x), C
1
, C
2
R.
La verdadera dicultad est en la determinacin de dichas soluciones particulares, que slo
podr realizarse en determinados casos. En particular, en las siguientes secciones analizaremos
el caso de las ecuaciones lineales con coecientes constantes.
2.3. Ecuaciones lineales homogneas con coecientes constantes
En esta seccin vamos a analizar la forma de la solucin general de una ecuacin lineal
homognea con coecientes constantes:
y

+ py

+ qy = 0,
donde p, q R.
Se dene el polinomio caracterstico de la ecuacin como
P() =
2
+ p + q,
y la ecuacin caracterstica asociada como P() = 0, esto es:

2
+ p + q = 0.
Al ser el polinomio caracterstico de segundo grado, hay tres posibilidades en lo que respecta
a la naturaleza de sus races. Concretamente, P() puede tener:
2.3 Ecuaciones lineales homogneas con coecientes constantes 29
I. Dos races reales distintas:
1
=
2
.
II. Una raz real doble:
1
=
2
.
III. Races complejas conjugadas: = a bi, donde i es la unidad imaginaria y b = 0.
En cada caso, la solucin general de la ecuacin homognea puede calcularse de forma directa.
Analicemos a continuacin cada uno de los casos.
I. Races reales distintas:
1
=
2
. Un sistema fundamental de soluciones viene dado por las
funciones
y
1
(x) = e

1
x
, y
2
(x) = e

2
x
.
En efecto, para i = 1, 2 se verica
y

i
+ py

i
+ qy
i
=
2
i
e

i
x
+ p
i
e

i
x
+ qe

i
x
= (
2
i
+ p
i
+ q)e

i
x
= P(
i
)e

i
x
= 0,
ya que P(
i
) = 0 por ser
i
raz del polinomio caracterstico; esto prueba que cada y
i
es
solucin de la ecuacin homognea. Adems, teniendo en cuenta que
1
=
2
,
W(y
1
, y
2
) =

1
x
e

2
x

1
e

1
x

2
e

2
x

= (
2

1
)e
(
1
+
2
)x
= 0, x R.
En consecuencia, la solucin general de la ecuacin homognea es
y = C
1
e

1
x
+C
2
e

2
x
.
Ejemplo 2.5. Consideremos la ecuacin homognea
y

5y

+ 6y = 0.
Su polinomio caracterstico es P() =
2
5 + 6. Calculemos sus races:
P() = 0
2
5 + 6 = 0 =
5

5
2
4 6
2
=
5 1
2

_

1
= 3,

2
= 2.
Al ser las races reales y distintas, la solucin general de la ecuacin es
y = C
1
e
3x
+C
2
e
2x
.
Sage nos da el siguiente resultado:
sage: # Ejemplo 2.5
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x, 2) - 5*diff(y, x) + 6*y == 0
sage: desolve(ec , y)
k1*e^(3*x) + k2*e^(2*x)
30
II. Raz real doble: . Las funciones
y
1
(x) = e
x
, y
2
(x) = xe
x
constituyen un sistema fundamental de soluciones. Es inmediato comprobar que ambas fun-
ciones son soluciones de la ecuacin; adems,
W(y
1
, y
2
) =

e
x
xe
x
e
x
(1 + x)e
x

= (1 + x)e
2x
xe
x
= e
2x
= 0, x R.
Por tanto, la solucin general de la ecuacin homognea es
y = C
1
e
x
+C
2
xe
x
= (C
1
+C
2
x) e
x
.
Ejemplo 2.6. Resolvamos la ecuacin
y

2y

+ y = 0.
El polinomio caracterstico es P() =
2
2 + 1, que tiene una raz real doble: = 1. Por
tanto, la solucin general de la ecuacin es
y = (C
1
+C
2
x) e
x
.
He aqu el cdigo Sage correspondiente:
sage: # Ejemplo 2.6
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x, 2) - 2*diff(y, x) + y == 0
sage: desolve(ec , y)
(k2*x + k1)*e^x
III. Races complejas conjugadas: a bi, b = 0. En este caso, un sistema fundamental de solu-
ciones lo constituyen las funciones
y
1
(x) = e
ax
cos(bx), y
2
(x) = e
ax
sen(bx).
Es inmediato vericar que ambas funciones son soluciones de la ecuacin. Como adems
W(y
1
, y
2
) =

e
ax
cos(bx) e
ax
sen(bx)
e
ax
(a cos(bx) b sen(bx)) e
ax
(a sen(bx) + b cos(bx))

= be
2ax
(
$
$
$
$
$
$
$
$
$
$$X
1
sen
2
(bx) + cos
2
(bx)) = be
2ax
= 0, x R,
deducimos que la solucin general de la ecuacin viene dada por
y = e
ax
(C
1
cos(bx) +C
2
sen(bx)).
2.4 Mtodo de variacin de las constantes 31
Ejemplo 2.7. Consideremos la ecuacin
y

+ 2y

+ 5y = 0.
La ecuacin caracterstica asociada es
2
+ 2 + 5 = 0, cuyas races son 1 2i. Por tanto, la
solucin general de la ecuacin ser
y = e
x
(C
1
cos(2x) +C
2
sen(2x)).
El cdigo Sage para resolver la ecuacin es:
sage: # Ejemplo 2.7
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x, 2) + 2*diff(y, x) + 5*y == 0
sage: desolve(ec , y)
(k1*sin (2*x) + k2*cos(2*x))*e^(-x)
Hemos visto que es posible determina la solucin general de la ecuacin lineal homognea
en el caso de coecientes constantes. En la siguiente seccin estudiaremos un mtodo para
calcular una solucin particular de la ecuacin completa.
2.4. Mtodo de variacin de las constantes
Consideremos la ecuacin lineal con coecientes constantes dada por
y

+ py

+ qy = r(x),
donde p, q R y r(x) es una funcin conocida, cuya solucin general tiene la siguiente
estructura:
y y(x, C
1
, C
2
) = y
H
(x, C
1
, C
2
) + y
P
(x).
La solucin general de la ecuacin homognea asociada, y
H
(x, C
1
, C
2
), puede determinarse en
funcin de las races del polinomio caracterstico asociado, como vimos en la seccin anterior.
A continuacin vamos a ver cmo construir una solucin particular, y
P
(x), usando para ello
el mtodo de variacin de las constantes.
Observacin. Otro mtodo habitual para determinar una solucin particular es el conocido
como mtodo de coecientes indeterminados.
Sabemos que la solucin general de la ecuacin homognea asociada es de la forma
y
H
(x, C
1
, C
2
) = C
1
y
1
(x) +C
2
y
2
(x),
donde {y
1
, y
2
} es un sistema fundamental de soluciones y C
1
, C
2
R. La idea del mtodo
de variacin de las constantes consiste en construir una solucin particular de la ecuacin
completa que tenga la forma
y
P
(x) = C
1
(x)y
1
(x) +C
2
(x)y
2
(x),
32
siendo C
1
(x) y C
2
(x) funciones a determinar. Ntese que la misma idea se aplic cuando
estudiamos las ecuaciones lineales de primer orden.
Las funciones C
1
(x) y C
2
(x) se calculan sustituyendo y
P
en la ecuacin completa. Comen-
cemos calculando la primera derivada de y
P
:
y

P
(x) = C
1
(x)y

1
(x) +C
2
(x)y

2
(x) +C

1
(x)y
1
(x) +C

2
(x)y
2
(x).
En este punto, haremos la siguiente suposicin:
C

1
(x)y
1
(x) +C

2
(x)y
2
(x) = 0,
que ser fundamental en los clculos posteriores. Podemos escribir entonces
y

P
(x) = C
1
(x)y

1
(x) +C
2
(x)y

2
(x).
Derivando de nuevo, obtenemos
y

P
(x) = C
1
(x)y

1
(x) +C
2
(x)y

2
(x) +C

1
(x)y

1
(x) +C

2
(x)y

2
(x).
Sustituyendo ahora y
P
en la ecuacin y agrupando convenientemente los trminos, resulta:
C
1
(x)(y

1
(x) + py

1
(x) + qy
1
(x))+C
2
(x)(y

2
(x) + py

2
(x) + qy
2
(x))
+C

1
(x)y

1
(x) +C

2
(x)y

2
(x) = r(x).
Teniendo en cuenta que y
1
e y
2
son soluciones de la ecuacin homognea, la expresin anterior
queda de la siguiente forma:
C

1
(x)y

1
(x) +C

2
(x)y

2
(x) = r(x).
Resumiendo, hemos llegado al sistema de ecuaciones
_
_
_
C

1
(x)y
1
(x) +C

2
(x)y
2
(x) = 0,
C

1
(x)y

1
(x) +C

2
(x)y

2
(x) = r(x),
cuyas incgnitas son C

1
(x) y C

2
(x). Este sistema es compatible determinado, ya que el deter-
minante de la matriz de coecientes coincide con el wronskiano W(y
1
, y
2
), que no se anula en
ningn punto x R por ser {y
1
, y
2
} un sistema fundamental de soluciones. En consecuencia,
el sistema admite una nica solucin que puede calcularse mediante la regla de Cramer:
C

1
(x) =

0 y
2
(x)
r(x) y

2
(x)

y
1
(x) y
2
(x)
y

1
(x) y

2
(x)

=
y
2
(x)r(x)
W(y
1
, y
2
)
, C

2
(x) =

y
1
(x) 0
y

1
(x) r(x)

y
1
(x) y
2
(x)
y

1
(x) y

2
(x)

=
y
1
(x)r(x)
W(y
1
, y
2
)
.
Por ltimo, integramos las expresiones obtenidas en el paso anterior:
C
1
(x) =
_
y
2
(x)r(x)
W(y
1
, y
2
)
dx, C
2
(x) =
_
y
1
(x)r(x)
W(y
1
, y
2
)
dx.
Una vez calculadas C
1
(x) y C
2
(x), podemos construir la solucin particular y
P
.
2.4 Mtodo de variacin de las constantes 33
Observacin. La posibilidad de aplicar el mtodo de variacin de las constantes depender
de la dicultad que tenga el clculo de las integrales anteriores.
Ejemplo 2.8. Consideremos la ecuacin diferencial
y

4y = e
x
.
En primer lugar, notemos que la ecuacin caracterstica es
2
4 = 0, que tiene a
1
= 2
y
2
= 2 como races. Por tanto, la solucin general de la ecuacin homognea asociada,
y

4y = 0, ser
y
H
(x, C
1
, C
2
) = C
1
e
2x
+C
2
e
2x
,
siendo C
1
y C
2
constantes arbitrarias.
A continuacin, y siguiendo el mtodo de variacin de las constantes, construimos una
solucin particular de la ecuacin completa de la forma
y
P
(x) = C
1
(x)y
1
(x) +C
2
(x)y
2
(x),
donde y
1
(x) = e
2x
e y
2
(x) = e
2x
. Las funciones {y
1
, y
2
} forman un sistema fundamental de
soluciones de la ecuacin homognea, cuyo wronskiano es
W(y
1
, y
2
) =

e
2x
e
2x
2e
2x
2e
2x

= 4.
Las funciones C
1
(x) y C
2
(x) se determinan calculando las siguientes integrales:
C
1
(x) =
_
y
2
(x)r(x)
W(y
1
, y
2
)
dx =
_
e
2x
e
x
4
dx =
1
4
_
e
x
dx =
1
4
e
x
,
C
2
(x) =
_
y
1
(x)r(x)
W(y
1
, y
2
)
dx =
_
e
2x
e
x
4
dx =
1
4
_
e
3x
dx =
1
12
e
3x
.
La solucin particular buscada es, por tanto,
y
P
(x) =
1
4
e
x
e
2x

1
12
e
3x
e
2x
=
1
3
e
x
.
Finalmente, la solucin general de la ecuacin completa ser
y(x) = C
1
e
2x
+C
2
e
2x

1
3
e
x
.
Veamos como resolver el ejemplo con Sage:
sage: # Ejemplo 2.8
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x, 2) - 4*y == exp(x)
sage: desolve(ec , y)
k1*e^(2*x) + k2*e^(-2*x) - 1/3*e^x
34
Ejemplo 2.9. Resolvamos la ecuacin
y

+ y =
1
sen(x)
.
La ecuacin caracterstica es
2
+ 1 = 0, cuyas races son = i. De este modo, la solucin
de la ecuacin homognea asociada ser
y
H
(x, C
1
, C
2
) = C
1
sen(x) +C
2
cos(x),
donde C
1
, C
2
R. El wronskiano del sistema fundamental formado por y
1
(x) = sen(x) e
y
2
(x) = cos(x) es
W(y
1
, y
2
) =

sen(x) cos(x)
cos(x) sen(x)

= (
$
$
$
$
$
$
$
$
$$X
1
sen
2
(x) + cos
2
(x)) = 1.
Buscamos ahora una solucin particular de la ecuacin completa de la forma
y
P
(x) = C
1
(x) sen(x) +C
2
(x) cos(x),
donde
C
1
(x) =
_
y
2
(x)r(x)
W(y
1
, y
2
)
dx =
_
cos(x)
sen(x)
dx = log(sen(x)),
C
2
(x) =
_
y
1
(x)r(x)
W(y
1
, y
2
)
dx =
_
(1)dx = x.
En consecuencia,
y
P
(x) = log(sen(x)) sen(x) x cos(x).
Por ltimo, la solucin general de la ecuacin completa viene dada por
y(x) = C
1
sen(x) +C
2
cos(x) + log(sen(x)) sen(x) x cos(x).
Ser capaz Sage de obtener la solucin de la ecuacin en este caso? Claro que s:
sage: # Ejemplo 2.9
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x, 2) + y == 1/sin(x)
sage: desolve(ec , y)
k1*sin(x) + k2*cos(x) - x*cos(x) + log(sin(x))*sin(x)
2.5. Problemas de valores iniciales y de contorno
Un problema de valores iniciales o de Cauchy para una ecuacin lineal de segundo orden
adopta la siguiente forma:
_

_
y

+ p(x)y

+ q(x)y = r(x), x [a, b],


y(a) = y
0
,
y

(a) = y
1
,
2.5 Problemas de valores iniciales y de contorno 35
siendo y
0
, y
1
R datos del problema. En un problema de valores iniciales se especica cunto
han de valer la solucin y su primera derivada en el extremo inferior del intervalo donde se va
a resolver el problema. En general, dicho problema poseer solucin nica, que se determina
imponiendo las condiciones iniciales sobre la solucin general de la ecuacin.
Ejemplo 2.10. Consideremos el problema de valores iniciales
_

_
y

6y

+ 9y = 0,
y(0) = 1,
y

(0) = 0.
La ecuacin diferencial es de coecientes constantes y homognea. Su ecuacin caracterstica
es
2
6 + 9 = 0, que tiene una raz doble = 3; en consecuencia, la solucin general est
dada por:
y = (C
1
+C
2
x)e
3x
.
Imponiendo las condiciones iniciales, podemos determinar las constantes C
1
y C
2
:
_
_
_
y(0) = 1 (C
1
+C
2
0)e
30
= 1 C
1
= 1,
y

(0) = 0 (3C
1
+C
2
+ 3C
2
0)e
30
= 0 3

1
C
1
+C
2
= 0 C
2
= 3.
Por tanto, la nica solucin del problema de valores iniciales es
y = (1 3x)e
3x
.
Usemos Sage para resolver el problema y dibujar la solucin en el intervalo [0, 1]:
sage: # Ejemplo 2.10
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x, 2) - 6*diff(y, x) + 9*y == 0
sage: sol = desolve(ec, y, ics=[0, 1, 0]) # ics=[a, y0, y1]
sage: sol
-(3*x - 1)*e^(3*x)
sage: plot(sol , [0, 1])
El resultado obtenido puede verse en la gura 2.1.
Un problema de contorno o de valores en la frontera para una ecuacin lineal de segundo orden
tiene la siguiente forma:
_

_
y

+ p(x)y

+ q(x)y = r(x), x [a, b],


y(a) = ,
y(b) = ,
siendo , R datos del problema. Las condiciones y(a) = e y(b) = se denominan
condiciones de contorno. Notemos que en un problema de contorno se denen los valores que
ha de tomar la solucin de la ecuacin diferencial en ambos extremos del intervalo donde se
quiere resolver.
36
Figura 2.1: Solucin del ejemplo 2.10 en el intervalo [0, 1].
Ejemplo 2.11. Resolvamos el problema de contorno
_

_
y

+
1
4
y = 0, x [0, ],
y(0) = 1,
y() = 1.
La ecuacin caracterstica de la ecuacin diferencial es
2
+
1
4
= 0, que tiene races =
1
2
i;
la solucin general tiene entonces la siguiente expresin:
y = C
1
cos
_
x
2
_
+C
2
sen
_
x
2
_
.
Para determinar las constantes C
1
y C
2
imponemos las condiciones de contorno:
_
_
_
y(0) = 1 C
1
$
$
$X
1
cos 0 +C
2
$
$
$X
0
sen0 = 1 C
1
= 1,
y() = 1 C
1

B
0
cos

2
+C
2

B
1
sen

2
= 1 C
2
= 1.
Por tanto, la solucin del problema de valores iniciales es
y = cos
_
x
2
_
sen
_
x
2
_
.
El resultado puede obtenerse con el siguiente cdigo Sage:
sage: # Ejemplo 2.11
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x, 2) + (1/4)*y == 0
sage: desolve(ec , y, ics=[0, 1, pi, -1]) # ics=[a, alfa , b, beta]
-sin (1/2*x) + cos (1/2*x)
Observacin. Un problema de contorno puede tener innitas soluciones, una nica solucin,
o ninguna solucin.
2.6 Ecuaciones lineales de orden superior 37
2.6. Ecuaciones lineales de orden superior
El estudio de las ecuaciones diferenciales de orden mayor que dos sigue pautas similares al
anlisis realizado para ecuaciones de segundo orden. Al igual que en este caso, restringiremos
nuestro estudio a las ecuaciones lineales, es decir, a ecuaciones de la forma
y
(n)
+ a
n1
(x)y
(n1)
+ + a
2
(x)y

(x) + a
1
(x)y

+ a
0
(x)y = r(x),
donde n 3 y a
n1
(x), . . . , a
0
(x) y r(x) son funciones arbitrarias. La solucin general de una
ecuacin lineal es de la forma
y = y
H
+ y
P
,
donde y
H
es la solucin general de la ecuacin homognea asociada:
y
(n)
+ a
n1
(x)y
(n1)
+ + a
2
(x)y

+ a
1
(x)y

+ a
0
(x)y = 0,
mientras que y
P
es una solucin particular de la ecuacin completa. La solucin general de-
pender de n constantes arbitrarias. Para plantear un problema de valores iniciales, son nece-
sarias n condiciones iniciales:
_

_
y(x
0
) = y
0
,
y

(x
0
) = y
1
,
y

(x
0
) = y
2
,
.
.
.
y
(n1)
(x
0
) = y
n1
.
La solucin de un problema de valores iniciales es nica: el valor de las constantes que apare-
cen en la solucin general se determina de forma nica a partir de las condiciones iniciales.
Diremos que un conjunto {y
1
, . . . , y
n
} de soluciones de la ecuacin homognea es un sis-
tema fundamental si su wronskiano no se anula en ningn punto:
W(y
1
, . . . , y
n
) =

y
1
(x) y
2
(x) y
n
(x)
y

1
(x) y

2
(x) y

n
(x)
y

1
(x) y

2
(x) y

n
(x)
.
.
.
.
.
.
.
.
.
.
.
.
y
(n1)
1
y
(n1)
2
y
(n1)
n

= 0, x R.
Dado un sistema fundamental {y
1
, . . . , y
n
}, la solucin general de la ecuacin lineal homog-
nea es de la forma
y
H
(x) = C
1
y
1
(x) +C
2
y
2
(x) + +C
n
y
n
(x),
siendo C
1
, . . . , C
n
constantes reales arbitrarias.
Nos centraremos a partir de ahora en las ecuaciones lineales de coecientes constantes, es
decir,
y
(n)
+ a
n1
y
(n1)
+ + a
2
y

+ a
1
y

+ a
0
y = r(x),
siendo a
n1
, . . . , a
0
constantes reales. El polinomio caracterstico asociado es
P() =
n
+ a
n1

n1
+ + a
2

2
+ a
1
+ a
0
.
38
A menos que n 4, no se dispone de frmulas explcitas para el clculo de las races de P().
En general, se puede intentar aplicar algn mtodo algebraico para el clculo de races como,
por ejemplo, el mtodo de Rufni.
Para determinar la solucin general de la ecuacin homognea
y
(n)
+ a
n1
y
(n1)
+ + a
2
y

+ a
1
y

+ a
0
y = 0,
a cada raz del polinomio caracterstico le asociaremos una o varias soluciones particulares,
atendiendo a la naturaleza de dicha raz:
I. Si es una raz real simple, entonces una solucin es e
x
.
II. Si es un raz real de multiplicidad m 2, podemos considerar m soluciones distintas:
e
x
, xe
x
, x
2
e
x
, . . . , x
m1
e
x
.
III. Si = a bi son races complejas simples, le asociamos dos soluciones: e
ax
cos(bx) y
e
ax
sen(bx).
IV. Si = a bi son races complejas de multiplicidad m 2, tenemos 2m soluciones:
e
ax
cos(bx), xe
ax
cos(bx), x
2
e
ax
cos(bx), . . . , x
m1
e
ax
cos(bx),
e
ax
sen(bx), xe
ax
sen(bx), x
2
e
ax
sen(bx), . . . , x
m1
e
ax
sen(bx).
Puede probarse que las n soluciones particulares {y
1
, . . . , y
n
} as obtenidas forman un sistema
fundamental de soluciones. Por tanto, la solucin general de la ecuacin homognea ser
y
H
(x) = C
1
y
1
(x) +C
2
y
2
(x) + +C
n
y
n
(x).
Ejemplo 2.12. Resolvamos la ecuacin homognea
y
(6)
+ 8y
(4)
+ 16y

= 0.
El polinomio caracterstico asociado es P() =
6
+ 8
4
+ 16
2
. Calculemos sus races:

6
+ 8
4
+ 16
2
= 0
2
(
4
+ 8
2
+ 16) = 0
_
= 0 (raz real doble),

4
+ 8
2
+ 16 = 0.
Para resolver la ecuacin
4
+ 8
2
+ 16 = 0 hacemos el cambio =
2
:

4
+ 8
2
+ 16 = 0
2
+ 8 + 16 = 0 = 4 (doble).
Por tanto, =

4 = 2i, siendo estas races complejas dobles.


A la raz doble = 0 le corresponden las soluciones e
0x
= 1 y xe
0x
= x, mientras que a
las races dobles 2i les asociamos las soluciones e
0x
cos(2x) = cos(2x), x cos(2x), sen(2x) y
x sen(2x). En consecuencia, la solucin general de la ecuacin ser
8y(x) = C
1
+C
2
x +C
3
cos(2x) +C
4
x cos(2x) +C
5
sen(2x) +C
6
x sen(2x).
En este caso, Sage no es capaz de resolver de forma directa la ecuacin:
2.6 Ecuaciones lineales de orden superior 39
sage: # Ejemplo 2.12
sage: var(x)
sage: y = function(y, x)
sage: ec = diff(y, x, 6) + 8*diff(y, x, 4) + 16* diff(y, x, 2) == 0
sage: desolve(ec , y)
Traceback (most recent call last):
...
NotImplementedError: Maxima was unable to solve this ODE.
De hecho, el comando desolve slo puede resolver ecuaciones de primer y segundo orden.
Ms adelante, cuando estudiemos sistemas de ecuaciones, veremos como solventar este pro-
blema.
Ejemplo 2.13. Vamos a resolver el siguiente problema de valores iniciales:
_

_
y

6y

+ 11y

6y = 0,
y(0) = 1,
y

(0) = 0,
y

(0) = 0.
El polinomio caracterstico asociado a la ecuacin es P() =
3
6
2
+ 11 6. Sus races
pueden obtenerse fcilmente usando el mtodo de Rufni:
1
= 1,
2
= 2 y
3
= 3. Las
soluciones asociadas a cada raz son: e
x
, e
2x
y e
3x
. Por tanto, la solucin general de la ecuacin
es
y(x) = C
1
e
x
+C
2
e
2x
+C
3
e
3x
.
Impongamos ahora las condiciones iniciales:
y(0) = 1 C
1
+C
2
+C
3
= 1
y

(0) = 0 C
1
+ 2C
2
+ 3C
3
= 0
y

(0) = 0 C
1
+ 4C
2
+ 9C
3
= 0
_
_
_
C
1
= 0, C
2
= 3, C
3
= 2.
En consecuencia, la solucin del problema de Cauchy es
y(x) = 3e
2x
2e
3x
.
Consideremos ahora la ecuacin lineal de coecientes constantes no homognea
y
(n)
+ a
n1
y
(n1)
+ + a
2
y

+ a
1
y

+ a
0
y = r(x),
cuya solucin general se construye como suma de la solucin general y
H
de la ecuacin ho-
mognea asociada y de una solucin particular y
P
de la ecuacin completa. Para determinar
una solucin particular aplicaremos el mtodo de variacin de las constantes.
Si {y
1
, . . . , y
n
} es un sistema fundamental de soluciones de la ecuacin homognea, bus-
camos un conjunto de funciones {C
1
(x), . . . , C
n
(x)} que sea solucin del siguiente sistema:
_

_
y
1
(x)C

1
(x) + y
2
(x)C

2
(x) + + y
n
(x)C

n
(x) = 0,
y

1
(x)C

1
(x) + y

2
(x)C

2
(x) + + y

n
(x)C

n
(x) = 0,
y

1
(x)C

1
(x) + y

2
(x)C

2
(x) + + y

n
(x)C

n
(x) = 0,
.
.
.
y
(n1)
1
(x)C

1
(x) + y
(n1)
2
(x)C

2
(x) + + y
(n1)
n
(x)C

n
(x) = r(x),
40
para cada x R. Se trata de un sistema lineal de n ecuaciones y n incgnitas (a saber,
C

1
(x), . . . , C

n
(x)) que es compatible determinado, ya que el determinante de la matriz de
coecientes coincide con el wronskiano del sistema fundamental, que no se anula en ningn
punto. En consecuencia, podemos resolverlo (mediante la regla de Cramer, por ejemplo) para
determinar C

1
(x), . . . , C

n
(x). A continuacin se calculan C
1
(x), . . . , C
n
(x) mediante integra-
cin, y por ltimo se construye la solucin particular:
y
P
(x) = C
1
(x)y
1
(x) +C
2
(x)y
2
(x) + +C
n
(x)y
n
(x).
Ejemplo 2.14. Consideremos la ecuacin diferencial
y

6y

+ 11y

6y = xe
x
.
El polinomio caracterstico es P() =
3
6
2
+ 11 6, cuyas races son 1, 2 y 3. De este
modo, la solucin general de la ecuacin homognea es
y
H
(x) = C
1
e
x
+C
2
e
2x
+C
3
e
3x
.
En particular, un sistema fundamental de soluciones de la ecuacin homognea est formado
por las funciones y
1
(x) = e
x
, y
2
(x) = e
2x
e y
3
(x) = e
3x
.
Consideremos ahora el sistema
_

_
y
1
(x)C

1
(x) + y
2
(x)C

2
(x) + y
3
(x)C

3
(x) = 0,
y

1
(x)C

1
(x) + y

2
(x)C

2
(x) + y

3
(x)C

3
(x) = 0,
y

1
(x)C

1
(x) + y

2
(x)C

2
(x) + y

3
(x)C

3
(x) = r(x),
que queda como
_

_
e
x
C

1
(x) + e
2x
C

2
(x) + e
3x
C

3
(x) = 0,
e
x
C

1
(x) + 2e
2x
C

2
(x) + 3e
3x
C

3
(x) = 0,
e
x
C

1
(x) + 4e
2x
C

2
(x) + 9e
3x
C

3
(x) = xe
x
.
Podemos simplicar las ecuaciones:
_

_
C

1
(x) + e
x
C

2
(x) + e
2x
C

3
(x) = 0,
C

1
(x) + 2e
x
C

2
(x) + 3e
2x
C

3
(x) = 0,
C

1
(x) + 4e
x
C

2
(x) + 9e
2x
C

3
(x) = xe
2x
.
El determinante de la matriz de coecientes es

1 e
x
e
2x
1 2e
x
3e
2x
1 4e
x
9e
2x

= 2e
3x
.
2.7 Sistemas lineales de primer orden 41
Aplicando la regla de Cramer, obtenemos
C

1
(x) =
1
2e
3x

0 e
x
e
2x
0 2e
x
3e
2x
xe
2x
4e
x
9e
2x

=
x
2
e
2x
,
C

2
(x) =
1
2e
3x

1 0 e
2x
1 0 3e
2x
1 xe
2x
9e
2x

= xe
3x
,
C

3
(x) =
1
2e
3x

1 e
x
0
1 2e
x
0
1 4e
x
xe
2x

=
x
2
e
4x
.
Integrando, resulta
C
1
(x) =
1
2
_
xe
2x
dx =
1
4
e
2x
_
x +
1
2
_
,
C
2
(x) =
_
xe
3x
dx =
1
3
e
3x
_
x +
1
3
_
,
C
3
(x) =
1
2
_
xe
4x
dx =
1
8
e
4x
_
x +
1
4
_
.
Por ltimo, construimos la solucin particular:
y
P
(x) = C
1
(x)y
1
(x) +C
2
(x)y
2
(x) +C
3
(x)y
3
(x) = e
x
_
1
24
x +
13
288
_
.
Finalmente, la solucin general de la ecuacin y

+ 6y

+ 11y

+ 6y = xe
x
ser
y(x) = C
1
e
x
+C
2
e
2x
+C
3
e
3x
e
x
_
1
24
x +
13
288
_
.
2.7. Sistemas lineales de primer orden
Un sistema de ecuaciones diferenciales de orden n est formado por n ecuaciones diferenciales
de primer orden en forma normal, esto es,
_

_
y

1
= f
1
(x, y
1
, . . . , y
n
),
y

2
= f
2
(x, y
1
, . . . , y
n
),
.
.
.
y

n
= f
n
(x, y
1
, . . . , y
n
),
donde x [a, b] es la variable independiente e y
1
, . . . , y
n
, son las variables dependientes.
Una solucin del sistema est formada por n funciones y
1
(x), . . . , y
n
(x), derivables con
continuidad, que satisfacen todas las ecuaciones en cada punto x [a, b].
Ejemplo 2.15. Es inmediato comprobar que una solucin del sistema
_
y

1
= y
2
,
y

2
= y
1
.
est formada por las funciones y
1
(x) = cos(x) e y
2
(x) = sen(x).
42
La solucin general del sistema consta de n funciones dependientes de n constantes arbitra-
rias, que proporcionan todas las posibles soluciones del sistema:
_

_
y
1
(x, C
1
, C
2
, . . . , C
n
),
y
2
(x, C
1
, C
2
, . . . , C
n
),
.
.
.
y
n
(x, C
1
, C
2
, . . . , C
n
).
Ejemplo 2.16. La solucin general del sistema
_
y

1
= y
2
,
y

2
= y
1
,
est formada por las funciones
_
y
1
(x, C
1
, C
2
) = C
1
cos(x) +C
2
sen(x),
y
2
(x, C
1
, C
2
) = C
1
sen(x) C
2
cos(x).
Ms adelante veremos cmo obtener este resultado.
La solucin del sistema puede determinarse en Sage usando el comando desolve_system:
sage: # Ejemplo 2.16
sage: var(x)
sage: y1 = function(y1, x)
sage: y2 = function(y2, x)
sage: ec1 = diff(y1, x) == -y2
sage: ec2 = diff(y2, x) == y1
sage: desolve_system ([ec1 , ec2], [y1 , y2])
[y1(x) == -sin(x)*y2(0) + cos(x)*y1(0),
y2(x) == sin(x)*y1(0) + cos(x)*y2(0)]
En este caso, y1(0) representa la constante arbitraria C
1
, mientras que y2(0) equivale a C
2
.
El porqu de esta notacin quedar claro en el siguiente ejemplo.
Un problema de valores iniciales para un sistema de ecuaciones diferenciales se construye
aadiendo n condiciones iniciales de la forma
_

_
y
1
(x
0
) = y
1
,
y
2
(x
0
) = y
2
,
.
.
.
y
n
(x
0
) = y
n
,
con y
1
, y
2
, . . . , y
n
R.
Ejemplo 2.17. El problema de valores iniciales denido por el sistema
_
y

1
= y
2
,
y

2
= y
1
,
2.7 Sistemas lineales de primer orden 43
y las condiciones iniciales
_
y
1
(0) = 1,
y
2
(0) = 0,
tiene una nica solucin formada por las funciones y
1
(x) = cos(x) e y
2
(x) = sen(x).
En efecto, a partir de la solucin general del sistema (ejemplo 2.16), podemos determinar
de forma nica los valores de las constantes C
1
y C
2
imponiendo las condiciones iniciales:
_
y
1
(0) = 1 C
1
$
$
$X
1
cos 0 +C
2
$
$
$X
0
sin0 = 1 C
1
= 1,
y
2
(0) = 0 C
1
$
$
$X
0
sen0 C
2
$
$
$X
1
cos 0 = 0 C
2
= 0.
De esta forma, la solucin del problema de valores iniciales ser:
_
y
1
(x) = C
1
cos(x) +C
2
sen(x) = cos(x),
y
2
(x) = C
1
sen(x) C
2
cos(x) = sen(x).
Las condiciones iniciales se especican en Sage mediante el parmetro ics:
sage: # Ejemplo 2.17
sage: var(x)
sage: y1 = function(y1, x)
sage: y2 = function(y2, x)
sage: ec1 = diff(y1, x) == -y2
sage: ec2 = diff(y2, x) == y1
sage: desolve_system ([ec1 , ec2], [y1 , y2], ics=[0, 1, 0])
[y1(x) == cos(x), y2(x) == sin(x)]
Si queremos representar grcamente las componentes de la solucin en el intervalo
[0, 2], aadimos las siguientes lneas de cdigo:
sage: sol = desolve_system ([ec1 , ec2], [y1, y2], ics=[0, 1, 0])
sage: fig1 = plot(sol [0]. rhs(), [0, 2*pi], color=blue,
legend_label=cos(x))
sage: fig2 = plot(sol [1]. rhs(), [0, 2*pi], color=green ,
legend_label=sen(x))
sage: fig = fig1 + fig2
sage: fig.show()
El resultado obtenido puede verse en la gura 2.2.
Observacin. En el ejemplo anterior se han representado de forma independiente las grcas
de las componentes de la solucin y
1
(x) e y
2
(x). Tambin es posible interpretar dichas fun-
ciones como las componentes de una curva plana, que recibe el nombre de rbita o trayectoria.
Concretamente, (cos(x), sen(x)) sera una parametrizacin de la rbita asociada al punto (1, 0)
determinado por las condiciones iniciales.
Un tipo importante de sistemas lo constituyen los sistemas lineales homogneos con coecientes
constantes, que son de la forma
_

_
y

1
= a
11
y
1
+ a
12
y
2
+ + a
1n
y

n
,
y

2
= a
21
y
1
+ a
22
y
2
+ + a
2n
y

n
,
.
.
.
y

n
= a
n1
y
1
+ a
n2
y
2
+ + a
nn
y

n
,
44
Figura 2.2: Solucin del ejemplo 2.17 en el intervalo [0, 2].
con a
ij
R. Este tipo de sistemas puede escribirse en forma matricial:
Y

= AY,
donde
Y =
_
_
_
_
_
y
1
y
2
.
.
.
y
n
_
_
_
_
_
, Y

=
_
_
_
_
_
y

1
y

2
.
.
.
y

n
_
_
_
_
_
, A =
_
_
_
_
_
a
11
a
12
a
1n
a
21
a
22
a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
a
nn
_
_
_
_
_
.
El estudio de sistemas no lineales est fuera del alcance del presente trabajo, ya que ne-
cesita del uso de herramientas avanzadas del Anlisis Matemtico. Por ello, restringiremos
nuestro estudio a sistemas de ecuaciones lineales de coecientes constantes. Adems, por
simplicidad, nos centraremos en sistemas de orden dos.
En el caso particular de sistemas de dos ecuaciones (n = 2) es usual denotar la variable
independiente por t (en lugar de x) y las variables dependientes por x e y (en lugar de y
1
e
y
2
). Asimismo, para sistemas con tres ecuaciones (n = 3) se suelen usar las variables x, y y z
en lugar de y
1
, y
2
e y
3
. A partir de ahora seguiremos este criterio.
Vamos a considerar pues sistemas de la forma
_
x

= ax + by,
y

= cx + dy,
donde los coecientes a, b, c y d son nmeros reales. El sistema anterior puede escribirse
tambin en forma matricial como
X

= AX,
donde
X(t) =
_
x(t)
y(t)
_
, X

(t) =
_
x

(t)
y

(t)
_
y A =
_
a b
c d
_
.
2.7 Sistemas lineales de primer orden 45
Diremos que un valor C es un autovalor de la matriz A si existe un vector no nulo
v R
2
tal que
Av = v.
Un vector v con esta propiedad es un autovector asociado al autovalor .
Observacin. Un autovector nunca es nico. De hecho, si v es un autovector de A entonces
v tambin lo es, para cualquier R, = 0.
La relacin Av = v puede escribirse tambin como
(A I)v = 0,
siendo I la matriz identidad. Se obtiene as un sistema lineal homogneo cuyas incgnitas
son las componentes del vector v. Dicho sistema tendr solucin no nula nicamente si es
compatible indeterminado, es decir, si
det(A I) = 0.
Esta es la denominada ecuacin caracterstica de la matriz A, cuyas soluciones proporcionan
los autovalores de A.
Observacin. Es fcil ver que los autovalores de la matriz A coinciden con las races del
polinomio caracterstico P() denido como
P() =
2
tr(A) + det(A),
donde tr(A) y det(A) son, respectivamente, la traza y el determinante de la matriz A:
tr(A) = a + d, det(A) = ad bc.
Ejemplo 2.18. Dada la matriz
A =
_
1 1
2 1
_
,
calculemos sus autovalores resolviendo la ecuacin caracterstica asociada:

1 1
2 1

= 0
2
3 = 0 =

3.
Para calcular un autovector v =
_

_
asociado a , hemos de resolver el sistema asociado:
(A I)v = 0
_
1 1
2 1
__

_
= 0
_
(1 ) + = 0,
2 (1 + ) = 0.
Despejando en la primera ecuacin y sustituyendo en la segunda, obtenemos la siguiente
relacin:
(
2
3) = 0.
46
Cuando =

3, esta ecuacin admite cualquier valor de como solucin (como era de


esperar). Tomando por ejemplo = 1, resulta que =

3 1. Por tanto, autovectores


asociados a los autovalores
1
=

3 y
2
=

3 son, respectivamente,
v
1
=
_
1

3 1
_
, v
2
=
_
1

3 1
_
.
Para calcular los autovalores de una matriz A en Sage, primero denimos dicha matriz
usando el comando matrix y luego accedemos a su mtodo eigenvalues:
sage: # Ejemplo 2.18
sage: A = matrix ([[1, 1], [2, -1]])
sage: A.eigenvalues ()
[ -1.732050807568878? , 1.732050807568878?]
(ntese que

3 = 1,732050807568878 . . . ). Para determinar los autovectores asociados, escribi-
mos:
sage: A.eigenvectors_right ()
[( -1.732050807568878? , [(1, -2.732050807568878?)] , 1),
(1.732050807568878? , [(1, 0.732050807568878?)] , 1)]
El resultado es una lista con dos elementos, escritos entre parntesis y separados por una
coma. En cada uno de estos elementos, el primer valor es un autovalor, el segundo es un
autovector asociado, y el tercero representa la multiplicidad algebraica del autovalor.
Observemos que la ecuacin caracterstica es una ecuacin polinomial de segundo grado,
por lo que pueden presentarse tres posibilidades. A continuacin escribimos la forma de la
solucin general del sistema en cada uno de los casos.
I. Autovalores reales distintos:
1
=
2
. La solucin general del sistema es
_
x(t) =
1
C
1
e

1
t
+
2
C
2
e

2
t
,
y(t) =
1
C
1
e

1
t
+
2
C
2
e

2
t
,
siendo C
1
y C
2
constantes arbitrarias y (
i
,
i
)
t
un autovector asociado a
i
, para i = 1, 2.
Ejemplo 2.19. Consideremos el sistema
_
x

= x + y,
y

= 4x 2y,
cuya matriz de coecientes es
A =
_
1 1
4 2
_
.
Resolvamos la ecuacin caracterstica para determinar los autovalores de A:

2
+ 6 = 0
_

1
= 2,

2
= 3.
2.7 Sistemas lineales de primer orden 47
Para calcular un autovector asociado a un autovalor , resolvemos la siguiente ecuacin:
_
1 1
4 2
__

_
=
_
0
0
_

_
(1 ) + = 0,
4 (2 + ) = 0.
Despejando en la primera ecuacin y sustituyendo en la segunda, obtenemos:
(
2
+ 6) = 0.
Para = 2 o = 3 el primer factor es nulo, por lo que podemos tomar un valor arbitrario
no nulo de , por ejemplo, = 1; el valor correspondiente de se determina a partir de la
primera ecuacin. De esta forma, se obtienen los siguientes autovectores:
v
1
=
_
1
1
_
, v
2
=
_
1
4
_
.
Veamos qu resultado produce Sage:
sage: # Ejemplo 2.19
sage: A = matrix ([[1, 1], [4, -2]])
sage: A.eigenvectors_right ()
[(2, [(1, 1)], 1), (-3, [(1, -4)], 1)]
Finalmente, las funciones
_
x(t) = C
1
e
2t
+C
2
e
3t
,
y(t) = C
1
e
2t
4C
2
e
3t
,
forman la solucin general del sistema.
Directamente, en Sage:
sage: # Ejemplo 2.19
sage: var(t)
sage: x = function(x, t)
sage: y = function(y, t)
sage: ec1 = diff(x, t) == x + y
sage: ec2 = diff(y, t) == 4*x - 2*y
sage: desolve_system ([ec1 , ec2], [x, y])
[x(t) == 1/5*(x(0) - y(0))*e^(-3*t) + 1/5*(4*x(0) + y(0))*e^(2*t),
y(t) == -4/5*(x(0) - y(0))*e^(-3*t) + 1/5*(4*x(0) + y(0))*e^(2*t)]
Observemos, de nuevo, que las constantes arbitrarias C
1
y C
2
vienen dadas en funcin de los
valores iniciales x(0) e y(0).
II. Autovalor real doble: . La solucin general del sistema es, en este caso,
_
x(t) = C
1
e
t
+C
2
(M
1
+ M
2
t)e
t
,
y(t) = C
1
e
t
+C
2
(N
1
+ N
2
t)e
t
,
siendo C
1
y C
2
constantes arbitrarias, (, ) un autovector asociado a , y M
1
, M
2
, N
1
y N
2
valores a determinar por sustitucin en (S).
48
Ejemplo 2.20. Consideremos el sistema
_
x

= 3x 4y,
y

= x y,
y calculemos sus autovalores a partir de la ecuacin caracterstica:

2
2 + 1 = 0 = 1 (raz doble).
Determinemos un autovector asociado a = 1:
_
3 4
1 1
__

_
=
_
0
0
_

_
2 4
1 2
__

_
=
_
0
0
_

_
2 4 = 0,
2 = 0.
Ambas ecuaciones son equivalentes: = 2; podemos pues tomar = 2 y = 1.
Usando Sage, obtenemos:
sage: # Ejemplo 2.20
sage: A = matrix ([[3, -4], [1, -1]])
sage: A.eigenvectors_right ()
[(1, [(1, 1/2)], 2)]
Es decir, se tiene un autovalor = 1 con multiplicidad dos y autovector asociado (1, 1/2)
t
,
que es proporcional al obtenido anteriormente.
La solucin general del sistema ser de la forma
_
x(t) = 2C
1
e
t
+C
2
(M
1
+ M
2
t)e
t
,
y(t) = C
1
e
t
+C
2
(N
1
+ N
2
t)e
t
.
Los coecientes M
1
, M
2
, N
1
y N
2
se determinan a partir de las ecuaciones del sistema. Susti-
tuyendo en la primera ecuacin y agrupando convenientemente, resulta
(M
1
+ M
2
) + M
2
t = (3M
1
4N
1
) + (3M
2
4N
2
)t.
Igualando los coecientes del mismo orden, obtenemos
_
M
1
+ M
2
= 3M
1
4N
1
2M
1
M
2
= 4N
1
,
M
2
= 3M
2
4N
2
M
2
= 2N
2
.
De igual forma, a partir de la segunda ecuacin tenemos
N
1
+ N
2
+ N
2
t = M
1
N
1
+ (M
2
N
2
)t
_
2N
1
+ N
2
= M
1
,
M
2
= 2N
2
.
Observemos que las cuatro relaciones obtenidas pueden reducirse a dos:
_
2N
1
+ N
2
= M
1
,
M
2
= 2N
2
.
2.7 Sistemas lineales de primer orden 49
Tomando, por ejemplo, M
1
= 1 y N
2
= 1, deducimos que M
2
= 2 y N
1
= 0.
Finalmente, las funciones
_
x(t) = 2C
1
e
t
+C
2
(1 + 2t)e
t
,
y(t) = C
1
e
t
+C
2
te
t
,
denen la solucin general del sistema.
Veamos qu opina Sage:
sage: # Ejemplo 2.20
sage: var(t)
sage: x = function(x, t)
sage: y = function(y, t)
sage: ec1 = diff(x, t) == 3*x - 4*y
sage: ec2 = diff(y, t) == x - y
sage: desolve_system ([ec1 , ec2], [x, y])
[x(t) == 2*t*e^t*x(0) - 4*t*e^t*y(0) + e^t*x(0),
y(t) == t*e^t*x(0) - 2*t*e^t*y(0) + e^t*y(0)]
Teniendo en cuenta que C
1
= y(0) y C
2
= x(0) + 2y(0), vemos que la solucin obtenida es la
misma.
III. Autovalores complejos: = a bi, b > 0. La solucin general del sistema tiene la siguiente
forma:
_
x(t) = e
at
_
C
1
(
1
cos(bt)
2
sen(bt)) +C
2
(
1
sen(bt) +
2
cos(bt))
_
,
y(t) = e
at
_
C
1
(
1
cos(bt)
2
sen(bt)) +C
2
(
1
sen(bt) +
2
cos(bt))
_
,
siendo C
1
y C
2
constantes arbitrarias y (
1
+
2
i,
1
+
2
i) un autovector complejo asociado a
= a + bi.
Ejemplo 2.21. Consideremos el sistema
_
x

= x 2y,
y

= 4x + 5y,
cuyos autovalores son de la forma = 3 2i. Para buscar un autovector asociado a 3 + 2i,
consideramos la ecuacin matricial
_
1 (3 + 2i) 2
4 5 (3 + 2i)
__

1
+
2
i

1
+
2
i
_
=
_
0
0
_
,
que, en componentes, es equivalente al sistema
_
(
2

1

1
) (
1
+
2
+
2
)i = 0,
(2
1
+
1
+
2
) + (2
2

1
+
2
)i = 0.
Igualando las partes reales e imaginarias a cero, obtenemos las ecuaciones
_

1

1
= 0,

1
+
2
+
2
= 0,
2
1
+
1
+
2
= 0,
2
2

1
+
2
= 0,
50
que pueden reducirse a dos:
_

1
+
2
+
2
= 0,
2
1
+
1
+
2
= 0.
Tomando
1
= 1 y
1
= 1, deducimos que
2
= 2 y
2
= 3.
En Sage se obtiene el siguiente resultado:
sage: # Ejemplo 2.21
sage: A = matrix ([[1, -2], [4, 5]])
sage: A.eigenvectors_right ()
[(3 - 2*I, [(1, -1 + 1*I)], 1), (3 + 2*I, [(1, -1 - 1*I)], 1)]
En resumen, las funciones
_
x(t) = e
3t
_
C
1
(cos(2t) 2 sen(2t)) +C
2
(sen(2t) + 2 cos(2t))
_
,
y(t) = e
3t
_
C
1
(cos(2t) + 3 sen(2t)) +C
2
(sen(2t) 3 cos(2t))
_
,
son las componentes de la solucin general del sistema.
Calculemos la solucin usando Sage directamente:
sage: # Ejemplo 2.21
sage: var(t)
sage: x = function(x, t)
sage: y = function(y, t)
sage: ec1 = diff(x, t) == x - 2*y
sage: ec2 = diff(y, t) == 4*x + 5*y
sage: desolve_system ([ec1 , ec2], [x, y])
[x(t) == -((x(0) + y(0))* sin (2*t) - cos (2*t)*x(0))*e^(3*t),
y(t) == ((2*x(0) + y(0))* sin (2*t) + cos (2*t)*y(0))*e^(3*t)]
Podemos recuperar la solucin obtenida anteriormente haciendo los cambios x(0) = C
1
+2C
2
,
y(0) = C
1
3C
2
.
Observacin. El mtodo de autovalores presentado en esta seccin puede extenderse de for-
ma natural para resolver sistemas lineales de orden arbitrario.
Observacin. El mtodo de variacin de las constantes puede adaptarse para resolver siste-
mas lineales no homogneos.
Vamos a terminar esta seccin viendo que existe una equivalencia entre un sistema lineal
y una ecuacin diferencial homognea de segundo orden. Esta equivalencia proporciona un
mtodo alternativo de resolucin, denominado mtodo de sustitucin.
Consideremos el sistema
_
x

= ax + by,
y

= cx + dy,
y supongamos que uno de los coecientes, por ejemplo b, no es cero (si fuese otro el coeciente
no nulo, se razonara de manera anloga; si todos los coecientes fuesen nulos el sistema se
reducira a las ecuaciones x

= 0, y

= 0, cuyas soluciones son constantes). Derivando en la


primera ecuacin, resulta
x

= ax

+ by

= ax

+ b(cx + dy),
2.7 Sistemas lineales de primer orden 51
donde hemos sustituido y

usando la segunda ecuacin. De la primera ecuacin despejamos


y =
x

ax
b
.
Sustituyendo en la igualdad anterior, obtenemos
x

= ax

+ b
_
cx +
d
b
(x

ax)
_
= (a + d)x

+ (bc ad)x.
As pues, tenemos la siguiente ecuacin de segundo orden:
x

tr(A)x

+ det(A)x = 0.
Recprocamente, dada la ecuacin homognea
x

+ px

+ qx = 0,
denimos y = x

. Entonces
y

= x

= px

qx = py qx.
Obtenemos as el siguiente sistema:
_
x

= y,
y

= qx py.
Hemos demostrado as la equivalencia anteriormente comentada.
En el caso de un problema de valores iniciales, tambin hay una equivalencia entre las
condiciones iniciales. Si tenemos las condiciones iniciales
_
x(t
0
) = x
0
,
y(t
0
) = y
0
,
para el sistema, estas se escriben como
_
x(t
0
) = x
0
,
x

(t
0
) = ax
0
+ by
0
,
para la ecuacin de segundo orden. Recprocamente, si las condiciones iniciales para la ecua-
cin de segundo orden son de la forma
_
x(t
0
) = x
0
,
x

(t
0
) = x

0
,
entonces las condiciones para el sistema son
_
x(t
0
) = x
0
,
y(t
0
) = x

0
.
52
Ejemplo 2.22. Consideremos el sistema lineal
_
x

= x + y,
y

= 2x y,
junto con las condiciones iniciales
_
x(0) = 1,
y(0) = 1.
Derivamos en la primera ecuacin
x

= x

+ y

,
y sustituimos y

usando la segunda ecuacin:


x

= x

+ 2x y.
A continuacin, despejamos y de la primera ecuacin
y = x

x,
y sustituimos en la expresin anterior:
x

= x

+ 2x (x

x) = 3x x

3x = 0.
Respecto a las condiciones iniciales, notemos que
x

(0) = x(0) + y(0) = 1 + (1) = 0.


Hemos obtenido as el problema de Cauchy
_

_
x

3x = 0,
x(0) = 1,
x

(0) = 0,
que es equivalente al problema de Cauchy para el sistema original.
La solucin del problema de valores iniciales para el sistema usando Sage es:
sage: # Ejemplo 2.22
sage: var(t)
sage: x = function(x, t)
sage: y = function(y, t)
sage: ec1 = diff(x, t) == x + y
sage: ec2 = diff(y, t) == 2*x - y
sage: desolve_system ([ec1 , ec2], [x, y], ics=[0, 1, -1])
[x(t) == cosh(sqrt (3)*t),
y(t) == sqrt (3)* sinh(sqrt (3)*t) - cosh(sqrt (3)*t)]
mientras que para la ecuacin de segundo orden es:
sage: # Ejemplo 2.22
sage: var(t)
sage: x = function(x, t)
sage: ec = diff(x, t, 2) - 3*x == 0
sage: desolve(ec , x, ics=[0, 1, 0])
1/2*e^(-sqrt (3)*t) + 1/2*e^(sqrt (3)*t)
2.8 Aplicaciones 53
Se obtiene la misma solucin para x(t) en ambos casos? S, si tenemos en cuenta la denicin
del seno hiperblico
2
. Por ltimo, para determinar y(t) usamos la igualdad y = x

x:
sage: sol = desolve(ec, x, ics=[0, 1, 0])
sage: diff(sol , t) - sol
-1/2* sqrt (3)*e^(-sqrt (3)*t) + 1/2* sqrt (3)*e^(sqrt (3)*t)
- 1/2*e^(-sqrt (3)*t) - 1/2*e^(sqrt (3)*t)
Aplicando la deniciones del seno y el coseno hiperblicos, podemos comparar los resultados
obtenidos para y(t).
Observacin. La tcnica del mtodo de sustitucin puede aplicarse tambin para la resolucin
de sistemas no homogneos, de la forma
_
x

= ax + by +r
1
(t),
y

= cx + dy +r
2
(t).
En tal caso, al construir la ecuacin de segundo orden habr que aplicar el mtodo de variacin
de las constantes para hallar una solucin particular de la misma.
Observacin. Puede establecerse una equivalencia entre un sistema de orden n y una ecua-
cin diferencial de orden n, siguiendo un procedimiento anlogo al explicado anteriormente.
Asimismo, existe una equivalencia entre un problema de valores iniciales para una ecuacin
de orden n y para un sistema del mismo orden.
2.8. Aplicaciones
2.8.1. Movimiento armnico amortiguado
Vamos a estudiar la ecuacin diferencial que rige el desplazamiento de un medio defor-
mable, por ejemplo, un muelle, un mstil, un edicio, etc.
Representemos por x(t) al desplazamiento del medio respecto de la posicin de equilibrio,
en el instante de tiempo t, y sea m su masa. El origen de coordenadas se establece en la
posicin de equilibrio y se supone que el movimiento hacia la derecha corresponde a valores
positivos del desplazamiento.
Supondremos que sobre el medio actan tres tipos de fuerzas:
Fuerza elstica o de recuperacin: es restauradora y su mdulo es proporcional al despla-
zamiento. Podemos expresarla como kx, donde k es la constante de recuperacin del
material y el signo negativo indica que la fuerza se opone al movimiento.
Fuerza de amortiguacin, debida al rozamiento: posee un mdulo proporcional a la veloci-
dad del medio y se opone al movimiento. Su expresin es cx

, donde c es la constante
de amortiguamiento.
2
El seno y el coseno hiperblicos se denen como
senh(x) =
e
x
+ e
2
2
, cosh(x) =
e
x
e
x
2
.
54
Fuerzas que no son intrnsecas al sistema, sino que obedecen a causas externas (por
ejemplo, la accin de un terremoto). Nos referiremos a ellas como fuerzas externas y las
denotaremos por g(t).
La segunda ley de Newton nos dice que la masa por la aceleracin es igual a la resultante
de fuerzas que actan sobre el sistema. Teniendo en cuenta que x

(t) representa la aceleracin


del medio deformable, obtenemos entonces:
mx

= kx cx

+ g(t) x

+
c
m
x

+
k
m
x =
g(t)
m
.
Se trata de una ecuacin diferencial de segundo orden, lineal y de coecientes constantes. En
caso de que no acten fuerzas exteriores, g(t) 0, la ecuacin es adems homognea.
Para completar el sistema, debemos considerar condiciones iniciales de la forma
_
x(0) = x
0
,
x

(0) = v
0
,
que indican la posicin y velocidad del medio en el instante inicial t = 0. El problema de
valores iniciales correspondiente posee una nica solucin, que nos permite calcular el des-
plazamiento del medio respecto de la posicin de equilibrio en cada instante.
Ejemplo 2.23. Calculemos el desplazamiento respecto de la posicin de equilibrio de un ms-
til con masa igual a 1 kg, constante de amortiguamiento igual a 4 Ns/m y constante de
recuperacin igual a 5 N/m, suponiendo que en el instante inicial recibe una rfaga de viento
soplando hacia la izquierda, cuya velocidad es de 5 m/s.
Figura 2.3: Oscilacin de un mstil.
El problema de valores iniciales a considerar es el siguiente:
_

_
x

+ 4x

+ 5x = 0,
x(0) = 0,
x

(0) = 5.
2.8 Aplicaciones 55
El polinomio caracterstico de la ecuacin, P() =
2
+ 4 + 5, tiene races = 2 i; por
tanto, la solucin general de la ecuacin ser
x(t) = e
2t
(C
1
cos(t) +C
2
sen(t)).
Imponiendo las condiciones iniciales, resulta:
_
_
_
x(0) = 0 C
1
= 0,
x

(0) = 5 C
2
2

0
C
1
= 5 C
2
= 5.
Por tanto, la solucin buscada es
x(t) = 5 sen(t)e
2t
,
que representa una curva sinusoidal cuyas amplitudes tienden a cero. La grca de la solucin
se representa en la gura 2.3, donde puede observarse cmo las oscilaciones se amortiguan
con el paso del tiempo y el mstil tiende hacia su posicin de equilibrio.
La gura 2.3 se ha obtenido con el siguiente cdigo Sage:
sage: var(t)
sage: x = function(x, t)
sage: ec = diff(x, t, 2) + 4*diff(x, t) + 5*x == 0
sage: sol = desolve(ec, x, ics=[0, 0, -5]); sol
-5*e^(-2*t)*sin(t)
sage: plot(sol , 0, 5)
2.8.2. Deexin y pandeo de vigas
Consideremos una viga de longitud L situada en posicin horizontal y cuyos extremos
estn jos. La deformacin que sufre dicha viga puede modelizarse mediante el siguiente
problema de contorno:
_

_
y

(x) =
1
EI
w
2
x(L x), x [0, L],
y(0) = 0,
y(L) = 0,
donde y(x) representa el desplazamiento de la viga (orientado hacia abajo) o deexin en el
punto x [0, L], E es el mdulo de elasticidad de Young, I denota el momento de inercia y w
es el peso por unidad de longitud de la viga. Las condiciones de contorno establecen que los
extremos de la viga permanecen jos.
En este caso la ecuacin diferencial puede resolverse mediante una doble integracin. Si
llamamos =
1
EI
w
2
, resulta que
y

(x) = x(L x) y

(x) =
_
x(L x) dx y

(x) =
_
1
2
Lx
2

1
3
x
3
_
+C
1
,
56
w
L
Figura 2.4: Deexin de una viga empotrada: esquema.
siendo C
1
una constante de integracin. De nuevo integramos para obtener:
y(x) =
_
_

_
1
2
Lx
2

1
3
x
3
_
+C
1

dx y(x) =
_
1
6
Lx
3

1
12
x
4
_
+C
1
x +C
2
,
donde C
2
es otra constante de integracin. Las constantes C
1
y C
2
pueden determinarse im-
poniendo las condiciones de contorno:
_
_
_
y(0) = 0 C
2
= 0,
y(L) = 0
1
12
L
4
+C
1
L +

0
C
2
= 0 C
1
=
1
12
L
3
.
Por tanto, la nica solucin del problema de contorno viene dada por
y(x) =
1
EI
w
24
_
x
4
2Lx
3
+ L
3
x
_
.
En particular, podemos determinar la deexin mxima que, por simetra, se da en el punto
x
max
= L/2:
y
max
= y(L/2) =
1
EI
w
24
_
L
4
16
2
L
4
8
+
L
4
2
_
=
5wL
4
384EI
.
Ejemplo 2.24. Consideremos una barra de longitud L = 2 m con mdulo de Young E = 2 10
11
N/m
2
, momento de inercia I = 7,85 10
9
m
4
y w = 95,54 N/m; estos datos corresponden
a una barra de acero con seccin transversal circular de 2 cm de dimetro. En tal caso, la
deexin mxima de la barra es:
y
max
=
5 95,54 2
4
384 (2 10
11
) (7,85 10
9
)
0,0127 m.
En la gura 2.5 se representa la forma de la solucin; tngase en cuenta que se ha tomado
un sistema de referencia en el que los valores positivos de la variable y se dirigen hacia abajo.
He aqu el cdigo Sage para generar la gura 2.5:
sage: var(x)
sage: # datos del problema
sage: L = 2
sage: E = 2e11
2.8 Aplicaciones 57
Figura 2.5: Deexin de una viga.
sage: I = 7.85e-9
sage: w = 95.54
sage: y = function(y, x)
sage: sol = desolve(diff(y, x, 2) - w/(2*E*I)*x*(L-x) == 0, y,
ics=[0, 0, L, 0]); sol
-4777/1884000*x^4 + 4777/471000*x^3 - 4777/235500*x
sage: plot(sol , [0, L])
Tambin podemos calcular y
max
de la siguiente forma:
sage: sol.find_minimum_on_interval (0, L)
( -0.01267781316348195 , 1.0000000000000002)
El primer valor es y
max
y el segundo la correspondiente abscisa x
max
.
En general, la teora de elasticidad determina que, para deexiones relativamente peque-
as de una viga horizontal uniforme, la curva de deexin y(x) viene determinada por la
ecuacin diferencial
EIy
(4)
(x) = w, x [0, L],
donde E es el mdulo de Young del material, I es el momento de inercia, w es el peso de la viga
y L es su longitud. La solucin de esta ecuacin diferencial puede obtenerse por integracin
directa. En efecto, si integramos una vez obtenemos
EIy
(3)
(x) = wx +C
1
;
integrando de nuevo, resulta:
EIy

(x) =
1
2
wx
2
+C
1
x +C
2
;
una nueva integacin nos lleva a:
EIy

(x) =
1
6
wx
3
+
1
2
C
1
x
2
+C
2
x +C
3
;
58
y la ltima integracin nos da:
EIy(x) =
1
24
wx
4
+
1
6
C
1
x
3
+
1
2
C
2
x
2
+C
3
x +C
4
.
Para determinar las constantes arbitrarias C
1
, C
2
, C
3
y C
4
, debemos imponer condiciones de
contorno adecuadas en los extremos x = 0 y x = L de la viga.
Dependiendo del tipo de soporte, en cada extremo de la viga puede considerarse una de
las siguientes condiciones:
Sostenida simplemente: y = y

= 0.
Empotrada o ja en el extremo: y = y

= 0.
Extremo libre: y

= y
(3)
= 0.
Ejemplo 2.25. Por ejemplo, si consideramos una viga en voladizo, con el extremo x = 0 jo y
el extremo x = L libre, tendramos las siguientes condiciones de contorno:
y(0) = 0, y

(0) = 0, y

(L) = 0, y
(3)
(L) = 0.
Imponiendo estas condiciones en la solucin general, se obtiene la siguiente curva de dee-
xin:
y(x) =
w
24EI
(x
4
4Lx
3
+ 6L
2
x
2
).
Cul ser la deexin mxima en este caso? Para determinar dicho valor, igualamos la
derivada de y(x) a cero:
y

(x) = 0
w
6EI
x(x
2
3Lx + 3L
2
) = 0
_
x = 0,
x
2
3Lx + 3L
2
= 0 (no tiene races reales).
Es decir, la derivada slo se anula en x = 0, que es el extremo jo. Esto nos indica que la
funcin y(x) es estrictamente creciente, por lo que la deexin mxima se producir en el
extremo x = L y ser:
y
max
= y(L) =
w
8EI
L
4
.
A continuacin vamos a estudiar el problema del pandeo de una viga. Para ello, conside-
remos una viga situada en vertical y jada por sus extremos, a la que se aplica una carga
P en uno de ellos. En tal caso, la forma de la viga y(x) puede obtenerse como solucin del
problema de contorno
_

_
y

(x) =
P
EI
y(x), x [0, L],
y(0) = 0,
y(L) = 0,
Llamando =
P
EI
, la ecuacin diferencial puede escribirse como
y

+ y = 0.
2.8 Aplicaciones 59
L
P
Figura 2.6: Pandeo de una viga: esquema.
Al ser > 0, las races de la ecuacin caracterstica
2
+ = 0 son complejas: =

=
i

. En tal caso, la solucin general tendr la forma


y(x) = C
1
cos(

x) +C
2
sen(

x).
Imponiendo las condiciones de contorno, obtenemos:
_
_
_
y(0) = 0 C
1
= 0,
y(L) = 0

0
C
1
cos(

L) +C
2
sen(

L) = 0 C
2
sen(

L) = 0.
Si C
2
= 0, obtenemos la solucin trivial: y(x) 0. Esto signica que la viga no se deforma,
cosa que sucede cuando la carga P aplicada es pequea. Para obtener una solucin no trivial
del problema hemos de suponer C
2
= 0, lo que implica que sen(

L) = 0. Es decir, los nicos


valores de para los que hay soluciones no triviales del problema de contorno son aquellos
que verican la condicin
sen(

L) = 0

L = n, n N =
n
2

2
L
2
, n N.
De este modo, la viga no se deforma a menos que
P
EI
=
n
2

2
L
2
,
donde n es un natural arbitrario. Sin embargo, como estamos interesados en el valor mnimo
para el que se produce el pandeo, tomaremos n = 1.
Observacin. A la primera carga que provoca la deformacin de la viga, P =

2
EI
L
2
, se la
conoce con el nombre de primera carga crtica o carga de pandeo de Euler.
60
El problema de contorno posee pues innitas soluciones, de la forma
y(x) = Csen
_

L
x
_
, 0 = C R.
En este caso, la amplitud C de pandeo permanece indeterminada.
Intentemos resolver el problema de contorno directamente en Sage:
sage: var(x, L, P, E, I)
sage: assume(P>0, E>0, I>0)
sage: y = function(y, x)
sage: ec = diff(y, x, 2) == -P/(E*I)*y
sage: desolve(ec , [y, x], ics=[0, 0, L, 0])
0
Como vemos, slo se ha determinado la solucin trivial. Si sustituimos
P
EI
por

2
L
2
, obtenemos
la solucin correspondiente a la carga de pandeo de Euler:
sage: ec = diff(y, x, 2) == -(pi/L)^2*y
sage: desolve(ec , [y, x], ics=[0, 0, L, 0])
r1*sin(pi*x/L)
2.8.3. Calentamiento de edicios
En la seccin 1.6 estudiamos un modelo de calentamiento de edicios en el que se supona
que la temperatura estaba uniformemente distribuida en el interior del edicio. Dicho modelo
es apropiado para estudiar el caso de un edicio con un nico compartimento.
En esta seccin vamos a considerar un modo algo ms preciso representar aquel modelo,
a saber:
_
_
_
T

(t) =
T(t) T
e
(t)
K
+C
_
H(t) +U(t, T(t))
_
, t [0, t

],
T(0) = T
0
,
donde T(t) (en

C) denota la temperatura en el interior del edicio y T
e
(t) es la temperatura
en el exterior; la constante positiva K (en horas, h) es la constante de tiempo de transferencia
de calor, que depende de la calidad del aislamiento; C (en

C/kcal) es la capacidad calorca
del edicio, que depende de su tamao; H(t) (en kcal/h) representa el calor generado por
personas, luces, etc., en el interior del edicio; y U(t, T(t)) (en kcal/h) denota los efectos del
sistema de calefaccin o de aire acondicionado, que dependen tanto del tiempo t como de la
temperatura en cada instante T(t); por ltimo, t

es el tiempo nal y T
0
denota la temperatura
inicial del edicio.
Vamos a considerar ahora un edicio con varios compartimentos, cada uno de los cuales
puede tener una temperatura diferente a la del resto. Por simplicidad, analizaremos un mo-
delo con dos compartimentos (gura 2.7), aunque la idea puede extenderse para un nmero
arbitrario de ellos.
Denotemos por T
i
(t), H
i
(t) y U
i
(t, T(t)) la temperatura, fuentes de calor y fuentes de cale-
faccin/refrigeracin, respectivamente, del compartimento i = 1, 2. Sean C
1
y C
2
las constantes
de capacidad calorca de los compartimentos. K
i
es la constante de tiempo de transferencia
de calor correspondiente a las paredes que limitan el compartimento i-simo con el exterior.
2.8 Aplicaciones 61
T
e
(t)
K
1
K
2
C
1
C
2
T
1
(t)
T
2
(t)
U
1
(t,T)
H
1
(t)
U
2
(t,T)
H
2
(t)
K
12
K
21
Figura 2.7: Edicio con dos compartimentos.
Asimismo, es necesario introducir las constantes de tiempo de transferencia de calor entre
ambos compartimentos, K
12
y K
21
; dichos valores deben vericar la relacin C
1
K
12
= C
2
K
21
.
El sistema de ecuaciones diferenciales a considerar es el siguiente:
_

_
T

1
(t) =
T
1
(t) T
e
(t)
K
1
+C
1
_
H
1
(t) +U
1
(t, T
1
(t))
_

1
K
12
(T
1
(t) T
2
(t)),
T

2
(t) =
T
2
(t) T
e
(t)
K
2
+C
2
_
H
2
(t) +U
2
(t, T
2
(t))
_

1
K
21
(T
2
(t) T
1
(t)),
junto con las condiciones iniciales
_
T
1
(0) = T
1,0
,
T
2
(0) = T
2,0
,
siendo T
i,0
la temperatura inicial en el compartimento i = 1, 2.
Observacin. El trmino extra que aparece en la primera ecuacin,
1
K
12
(T
1
(t) T
2
(t)), pro-
viene de la ley del enfriamiento de Newton, y representa la prdida (si T
1
(t) > T
2
(t)) o
ganancia (si T
1
(t) < T
2
(t)) de calor en el primer compartimento a travs de la pared que lo
separa del segundo compartimento. Un trmino anlogo aparece en la segunda ecuacin.
Ejemplo 2.26. Consideremos un edicio dividido en dos zonas, A y B. La zona A, cuya ca-
pacidad calorca es de 5,5 10
4
C/kcal, se calienta mediante una estufa que proporciona
2 10
4
kcal/h. La constante de tiempo para la transferencia de calor entre la zona A y el ex-
terior es de 4 horas, entre la zona B y el exterior es de 5 horas, y entre las dos zonas es de 2
horas. Si la temperatura exterior es de 0

C, vamos a determinar la temperatura mnima que
se alcanza en la zona B al cabo de 4 horas, suponiendo que las temperatura inicial en la zona
A es de 10

C y en la zona B de 12

C.
62
Segn el enunciado del problema, se tiene que T
e
= 0, K
1
= 4, K
2
= 5, K
12
= K
21
= 2
y C
1
= 5,5 10
4
; C
2
puede calcularse a partir de la relacin C
1
K
12
= C
2
K
21
, aunque no
ser necesario. Por otra parte, tenemos que H
1
H
2
0, ya que no consideramos el calor
generado por personas o maquinaria en el interior del edicio. Por ltimo, U
2
0 ya que no
hay calefaccin en la zona B, y
C
1
U
1
=
_
5,5 10
4

C

kcal
_

_
2 10
4

kcal
h
_
= 11

C/h
para la zona A. El sistema de ecuaciones diferenciales queda pues de la siguiente forma:
_
T

1
=
1
4
T
1

1
2
(T
1
T
2
) + 11,
T

2
=
1
5
T
2

1
2
(T
2
T
1
),
o bien
_
T

1
=
3
4
T
1
+
1
2
T
2
+ 11,
T

2
=
1
2
T
1

7
10
T
2
.
Podemos resolver el sistema mediante el mtodo de sustitucin. Derivamos en la segunda
ecuacin:
T

2
=
1
2
T

7
10
T

2
,
y sustituimos T

1
usando la primera ecuacin:
T

2
=
1
2
_

3
4
T
1
+
1
2
T
2
+ 11
_

7
10
T

2
.
Despejando T
1
de la segunda ecuacin y sustituyendo en la expresin anterior, se obtiene:
T

2
+
29
20
T

2
+
11
40
T
2
=
11
2
.
Las races del polinomio caracterstico son
1
=
29+

401
40
y
2
=
29

401
40
. Tras aplicar el
mtodo de variacin de las constantes, llegamos a que la solucin general de la ecuacin de
segundo orden es
T
2
(t) = C
1
e

1
t
+C
2
e

2
t
+
R

2
,
donde R =
11
2
es el trmino independiente. Por ltimo, a partir de la segunda ecuacin
podemos calcular T
1
:
T
1
(t) = C
1
(2
1
+
7
5
)e

1
t
+C
2
(2
2
+
7
5
)e

2
t
+
7R
5
1

2
.
Las condiciones iniciales del problema son T
1
(0) = 10 y T
2
(0) = 12, lo que da lugar a los
valores
C
1
=
1

2
_

17
5
12
2
+
R

1
_
, C
2
=
1

1
_

17
5
12
1
+
R

2
_
.
En la gura 2.8 se representa la evolucin de las temperaturas en las zonas A y B durante
cuatro horas. Como puede observarse, la temperatura en la zona A aumenta de forma conti-
nua hasta alcanzar una temperatura mxima de T
1
(4) 22,8

C. En cambio, la temperatura
2.8 Aplicaciones 63
Figura 2.8: Temperaturas en las zonas A y B.
en la zona B comienza disminuyendo y luego tiende a aumentar hasta alcanzar una tempera-
tura mxima de T
2
(4) 14,7

C. Si queremos calcular la temperatura mnima en la zona B,
podemos usar la derivada de T
2
:
T

2
(t) = 0
1
C
1
e

1
t
+
2
C
2
e

2
t
= 0 t =
1

2
log
_

2
C
2

1
C
1
_
0,76.
En dicho instante se alcanza la temperatura mnima: T
2
(0,76) 10,92

C.
Vamos a resolver el problema usando Sage. En primer lugar, obtenemos la solucin del
sistema y la dibujamos:
sage: t = var(t)
sage: T1 = function(T1, t)
sage: T2 = function(T2, t)
sage: ec1 = diff(T1,t) + 3/4*T1 - 1/2*T2 - 11 == 0
sage: ec2 = diff(T2,t) - 1/2*T1 + (1/5+1/2)* T2 == 0
sage: sol = desolve_system ([ec1 , ec2], [T1, T2], ics=[0, 10, 12])
sage: sol1 = sol [0]. rhs()
sage: sol2 = sol [1]. rhs()
sage: fig1 = plot(sol1 , 0, 4, color = blue, legend_label=T1)
sage: fig2 = plot(sol2 , 0, 4, color = green, legend_label=T2)
sage: (fig1 + fig2).show()
El resultado puede verse en la gura 2.8. A continuacin, calculamos la temperatura mxima
en la zona A y el instante en que se alcanza:
sage: sol1.find_maximum_on_interval (0, 4)
(22.846076301719574 , 3.9999998801867243)
as como la temperatura mnima en la zona B y su instante correspondiente:
sage: sol1.find_maximum_on_interval (0, 4)
(10.92326505335898 , 0.76403288092266153)
64
3 Mtodos numricos para problemas de valor inicial 65
3. Mtodos numricos para problemas de valor inicial
3.1. Introduccin
En los captulos anteriores hemos estudiado diversas tcnicas para la resolucin analtica
de ecuaciones diferenciales ordinarias. Dichas tcnicas son slo aplicables a determinados ti-
pos de ecuaciones: homogneas, lineales, exactas, etc. Sin embargo, la mayora de ecuaciones
que aparecen en problemas cientcos y tcnicos no pueden resolverse de forma exacta. Ade-
ms, en determinados casos puede ocurrir que la complejidad de la solucin exacta sea tal,
que aun pudindose calcular de forma explcita no seamos capaces de interpretarla adecua-
damente.
En los casos en que no sea posible resolver de forma exacta una ecuacin diferencial,
podemos plantearnos la obtencin de una aproximacin sucientemente buena de la solucin.
Esta solucin, denominada solucin numrica, se determina mediante un mtodo o algoritmo
numrico que se ejecutar con la ayuda de un ordenador. Este es el camino habitual que se
sigue en las aplicaciones cientcas y tcnicas, donde surgen ecuaciones no lineales de difcil
o imposible resolucin analtica.
En este tema vamos a presentar una serie de tcnicas para la obtencin de soluciones nu-
mricas de problemas de valor inicial (los problemas de contorno se tratarn en el tema 4) que
pueden aplicarse tanto a ecuaciones escalares como a sistemas de ecuaciones. Dichas tcnicas
forman parte de una de las ramas de las Matemticas conocida como Anlisis Numrico.
Nos centraremos en el estudio de un problema de valor inicial de primer orden:
_
y

(x) = f (x, y(x)), x [a, b],


y(a) = y
0
.
Consideremos una discretizacin o mallado del intervalo [a, b], esto es, una particin del mismo
de la forma
a = x
0
< x
1
< x
2
< < x
N1
< x
N
= b.
Por simplicidad, supondremos que el mallado es uniforme: la longitud de cada subintervalo
[x
k
, x
k+1
], k = 0, . . . , N 1, es igual a un cierto valor h > 0 jo. De esta forma, se verica la
siguiente relacin:
x
k+1
= x
k
+ h, k = 0, . . . , N 1.
El valor h se denomina paso de malla y los puntos x
k
son los nodos del mallado. Ntese que la
relacin entre el paso de malla h y el nmero de subintervalos N es la siguiente:
h =
b a
N
.
Observacin. El paso de malla juega un papel fundamental en el anlisis de los mtodos
numricos que vamos a presentar. Intuitivamente, mientras menor sea el paso de malla (esto
es, mientras ms puntos tenga el mallado) mejor ser la aproximacin de la solucin.
Un mtodo numrico para la resolucin del problema de valor inicial es un algoritmo que
permite obtener, para cada nodo x
k
del mallado, una aproximacin y
k
del valor de la solucin
exacta en el nodo, y(x
k
):
y
k
y(x
k
), k = 0, . . . , N.
66
El conjunto de puntos
{y
k
: k = 0, . . . , N}
se denomina solucin numrica. Ntese que el primer valor de la solucin numrica es siempre
exacto, y
0
= y(a), por tratarse de la condicin inicial del problema.
Figura 3.1: Comparacin entre la solucin exacta del problema y

=
xy
2
, y(0) = 1, y el resultado
obtenido con el mtodo de Euler con paso de malla h = 0,1.
El error local cometido en cada nodo se dene como
e
k
= |y(x
k
) y
k
|, k = 0, 1, . . . , N.
Si queremos considerar un error global, que involucre a toda la solucin numrica, podemos
denir
e = m ax
k=0,1,...,N
e
k
= m ax
k=0,1,...,N
|y(x
k
) y
k
|.
Notemos que el error e depende del paso de malla h; si queremos hacer resaltar esta dependen-
cia, escribiremos e(h) en lugar de e. Una propiedad deseable de cualquier mtodo numrico
es que el error tienda a cero cuando el paso de malla decrezca, esto es:
lm
h0
e(h) = 0.
Cuando esto sucede, diremos que el mtodo es convergente. Intuitivamente signica que al
aumentar progresivamente el nmero de puntos de la particin (esto es, al hacer el paso de
malla cada vez ms pequeo), las correspondientes soluciones numricas van reconstruyendo
la solucin exacta del problema.
3.2. El mtodo de Euler
El mtodo de Euler se fundamenta en una sencilla idea geomtrica: aproximar el valor de
la solucin en cada nodo por el valor que proporciona la recta tangente a la solucin trazada
desde el nodo anterior.
3.2 El mtodo de Euler 67
Comenzamos construyendo la recta tangente a la solucin exacta y(x) del problema de
valor inicial
_
y

(x) = f (x, y(x)), x [a, b],


y(a) = y
0
,
en el punto (x
0
, y
0
):
y = y
0
+ y

(x
0
)(x x
0
).
Evaluemos ahora dicha recta en el nodo x
1
= x
0
+ h y llamemos y
1
al resultado obtenido:
y
1
= y
0
+ y

(x
0
)(x
1
x
0
) y
1
= y
0
+ hy

(x
0
).
Teniendo que cuenta que y(x) es solucin de la ecuacin diferencial, podemos sustituir el
valor y

(x
0
) por f (x
0
, y(x
0
)):
y
1
= y
0
+ h f (x
0
, y(x
0
)).
Por ltimo, haciendo uso de la condicin inicial y teniendo en cuenta que x
0
= a, deducimos
que
y
1
= y
0
+ h f (x
0
, y
0
).
Esta es la primera iteracin o paso del mtodo de Euler. En la gura 3.2 se representa la idea
geomtrica del mtodo.
y
(x
1
, y(x
1
))
(x
0
, y
0
)
(x
1
, y
1
)
x
x
0
x
1
y
1
y(x
1
)
e
1
h
Figura 3.2: Interpretacin geomtrica del mtodo de Euler.
Observacin. Notemos que el valor y
1
puede determinarse, ya que x
0
, y
0
y f (x, y) son datos
del problema, y h es conocido.
El valor y
1
es la aproximacin que proporciona el mtodo de Euler al valor exacto de la
solucin en x
1
:
y
1
y(x
1
),
68
siendo el error cometido
e
1
= |y(x
1
) y
1
|.
Una vez construido el punto (x
1
, y
1
), consideramos el problema de valor inicial
_
y

(x) = f (x, y(x)), x [x


1
, b],
y(x
1
) = y
1
,
y repetimos el proceso anterior para obtener una aproximacin y
2
en el nodo x
2
= x
1
+ h.
Dicha aproximacin tendr la forma
y
2
= y
1
+ h f (x
1
, y
1
).
Observacin. Ntese que la solucin de este nuevo problema de valor inicial no tiene por qu
ser la misma solucin del problema original, ya que la condicin inicial es distinta. Sin em-
bargo, si la funcin f (x, y) es sucientemente regular, puede demostrarse que las soluciones
a ambos problemas son sucientemente aproximadas.
Eulers Method (E342), Inst. Calc. Integralis 1768, 650:
!1
1
A
B
C
h = 1/4
p.6/64
Figura 3.3: Publicacin original del mtodo de Euler. E342, Inst. Calc. Integralis 1768, 650.
El proceso anterior se repite hasta llegar al ltimo nodo x
N
= b, obtenindose as una serie
de valores aproximados
{y
1
, y
2
, . . . , y
N
}
que forman la solucin numrica. Dicha solucin depender del paso de malla h elegido.
Estamos ya en condiciones de denir la forma general del mtodo de Euler:
y
k+1
= y
k
+ h f (x
k
, y
k
), k = 0, 1, . . . , N 1,
donde los valores iniciales x
0
e y
0
vienen dados por la condicin inicial del problema. Cada
valor y
k
proporciona una aproximacin del valor exacto de la solucin en el nodo x
k
:
y
k
y(x
k
), k = 0, 1, . . . , N,
siendo el error cometido
e
k
= |y(x
k
) y
k
|, k = 0, 1, . . . , N,
Observacin. Adems del error e
k
anteriormente denido, denominado error de discretizacin,
en la prctica tambin hay que tener en cuenta los errores de redondeo que provienen de la
representacin de los nmeros reales en el ordenador con una cantidad nita de cifras deci-
males.
3.2 El mtodo de Euler 69
Ejemplo 3.1. Consideremos el problema de valor inicial
_
y

=
1
2
(x
2
y), x [0, 1],
y(0) = 1,
cuya solucin exacta es
y(x) = x
2
4x + 8 7e
x/2
.
El mtodo de Euler tiene en este caso la siguiente forma:
y
k+1
= y
k
+
h
2
(x
2
k
y
k
), k = 0, 1, . . . , N 1,
donde h = 1/N.
En la tabla 3.1 se muestran, con una precisin de seis cifras decimales, los valores obtenidos
con el mtodo de Euler para N = 10 (paso de malla h = 0,1), as como los valores exactos de
la solucin y los errores cometidos. En este caso, el error global es igual a e = 0,025697.
k x
k
y
k
y(x
k
) e
k
0 0,0 1,000000 1,000000 0,000000
1 0,1 0,950000 0,951394 0,001394
2 0,2 0,903000 0,906138 0,003138
3 0,3 0,859850 0,865044 0,005194
4 0,4 0,821357 0,828885 0,007527
5 0,5 0,788290 0,798395 0,010105
6 0,6 0,761375 0,774272 0,012897
7 0,7 0,741306 0,757183 0,015877
8 0,8 0,728741 0,747760 0,019019
9 0,9 0,724304 0,746603 0,022299
10 1,0 0,728589 0,754285 0,025697
Tabla 3.1: Mtodo de Euler: solucin del ejemplo 3.1 con paso h = 0,1.
En la gura 3.4 se representan la solucin exacta del problema y la solucin numrica obteni-
da.
Existe una implementacin del mtodo de Euler en Sage, cuyo uso se ilustra en el siguiente
cdigo:
sage: # Ejemplo 3.1
sage: var(x, y)
sage: fun(x, y) = (x^2-y)/2 # segundo miembro de la ecuacio n
sage: a = 0. # extremo inferior
sage: b = 1. # extremo superior
sage: y0 = 1. # valor inicial
sage: N = 10 # numero de particiones
sage: h = (b-a)/N # paso de malla
sage: eulers_method(fun , a, y0 , h, b)
x y h*f(x,y)
70
0.000000000000000 1.00000000000000 -0.0500000000000000
0.100000000000000 0.950000000000000 -0.0470000000000000
0.200000000000000 0.903000000000000 -0.0431500000000000
0.300000000000000 0.859850000000000 -0.0384925000000000
0.400000000000000 0.821357500000000 -0.0330678750000000
0.500000000000000 0.788289625000000 -0.0269144812500000
0.600000000000000 0.761375143750000 -0.0200687571875000
0.700000000000000 0.741306386562500 -0.0125653193281250
0.800000000000000 0.728741067234375 -0.00443705336171875
0.900000000000000 0.724304013872656 0.00428479930636718
1.00000000000000 0.728588813179023 0.0135705593410488
Vamos a representar en una misma grca el resultado obtenido y la solucin exacta. Para
ello, hagamos lo siguiente:
sage: sol = eulers_method(fun , a, y0, h, b, method=None)
sage: sol
[[0.000000000000000 , 1.00000000000000] ,
[0.100000000000000 , 0.950000000000000] ,
[0.200000000000000 , 0.903000000000000] ,
[0.300000000000000 , 0.859850000000000] ,
[0.400000000000000 , 0.821357500000000] ,
[0.500000000000000 , 0.788289625000000] ,
[0.600000000000000 , 0.761375143750000] ,
[0.700000000000000 , 0.741306386562500] ,
[0.800000000000000 , 0.728741067234375] ,
[0.900000000000000 , 0.724304013872656] ,
[1.00000000000000 , 0.728588813179023] ,
[1.10000000000000 , 0.742159372520072]]
Como vemos, se ha calculado un punto de ms. Podemos eliminarlo as:
sage: sol.pop(-1) # quitamos el elemento final de la lista
A continuacin dibujamos los puntos obtenidos unidos por segmentos y la solucin exacta
del problema:
sage; # dibujamos los puntos obtenidos ...
sage: fig1 = list_plot(sol , color=blue, legend_label=Euler )
sage: # ... y los unimos con segmentos
sage: fig1 += line(sol)
sage: #
sage: # Calculo de la solucio n exacta
sage: y = function(y, x)
sage: ec = diff(y, x) == fun(x, y)
sage: sol_exacta = desolve(ec , y, ics=[0, y0]); expand(sol_exacta)
x^2 - 4*x - 7*e^( -1/2*x) + 8
sage: #
sage: fig2 = plot(sol_exacta , a, b, color=red, legend_label=exacta ,
gridlines=True)
sage: (fig1 + fig2).show()
El resultado puede contemplarse en la gura 3.4. Por ltimo, si queremos determinar el error
global cometido, ejecutamos las siguientes instrucciones:
sage: error = [abs(sol_exacta(x)-y) for (x, y) in sol]
sage: print(Error = %r % max(error ))
Error = 0.0256965688325422
3.2 El mtodo de Euler 71
Alternativamente, en el siguiente cdigo
3
se realiza una implementacin del mtodo de
Euler y se aplica para resolver el problema anterior:
sage: # Metodo de Euler
sage: def euler(fun , a, b, N, y0):
... h = (b-a)/N # paso de malla
... x = [a] # primer nodo
... y = [y0] # valor inicial
...
... for k in range(N):
... x.append(x[k]+h)
... y.append(y[k]+h*fun(x[k], y[k]))
...
... return zip(x, y)
sage: #
sage: ### Programa principal ###
sage: # Ejemplo 3.1
sage: var(x, y)
sage: fun(x, y) = (x^2-y)/2 # segundo miembro de la ecuacio n
sage: a = 0. # extremo inferior
sage: b = 1. # extremo superior
sage: y0 = 1. # valor inicial
sage: N = 10 # numero de particiones
sage: sol = euler(fun , a, b, N, y0) # metodo de Euler
sage: #
sage: # solucio n exacta
sage: y = function(y, x)
sage: ec = diff(y, x) == fun(x, y)
sage: sol_exacta = desolve(ec , y, ics=[0, y0])
sage: #
sage: # errores
sage: error = [abs(sol_exacta(x)-y) for (x, y) in sol]
sage: print(Error = %r % max(error ))
sage: #
sage: # graficas
sage: fig1 = list_plot(sol , color=blue, legend_label=Euler ,
size=20)
sage: fig1 += line(sol , color=blue)
sage: fig2 = plot(sol_exacta , a, b, color=red, legend_label=exacta ,
gridlines=True)
sage: (fig1 + fig2).show()
Error = 0.0256965688325422
Si queremos ver los errores cometidos en cada nodo, basta con escribir error en la lnea de
comandos:
sage: error
[0.000000000000000 , 0.00139402849500125 , 0.00313807374828301 ,
0.00519416502459535 , 0.00752722845412812 , 0.0101048935001661 ,
0.0128973114779739 , 0.0158769854065062 , 0.0190186105161513 ,
0.0222989247749311 , 0.0256965688325422]
Asimismo, para ver los valores de los nodos y de las soluciones aproximadas, basta con escri-
bir sol.
Puede demostrarse que si la funcin f (x, y) es sucientemente regular, entonces existe una
3
Es interesante sealar que Sage est basado en el lenguaje de programacin Python. En particular, la denicin
del mtodo de Euler utiliza la sintaxis propia de dicho lenguaje.
72
Figura 3.4: Soluciones numrica y exacta del ejemplo 3.1.
constante C > 0, independiente del paso de malla h, tal que
e(h) Ch,
donde e(h) es el error global cometido al aproximar la solucin del problema de valor inicial
mediante el mtodo de Euler con paso de malla h.
Cuando un mtodo numrico verica una condicin del tipo e(h) Ch, se dice que el
mtodo tiene orden uno. Para comprender la idea intuitiva que hay detrs de este concepto,
supongamos que se aplica el mtodo de Euler con pasos de malla h
1
y h
2
, siendo h
2
= h
1
/2.
En tal caso, se tiene:
e(h
1
) Ch
1
e(h
2
) Ch
2
_

e(h
1
)
e(h
2
)

Ch
1
Ch
2
=
h
1
h
2
= 2 e(h
2
)
e(h
1
)
2
.
Es decir, al dividir por dos el paso de malla el error tambin se divide aproximadamente por
dos. En general, al dividir el paso de malla por un cierto valor M el error obtenido tambin
se dividir aproximadamente por M.
Observacin. En general, un mtodo numrico tiene orden p si existe una constante C tal que
e(h) Ch
p
.
Razonando como antes, podemos deducir que
e(h
1
)
e(h
2
)

Ch
p
1
Ch
p
2
=
_
h
1
h
2
_
p
= 2
p
e(h
2
)
e(h
1
)
2
p
.
Tomando logaritmos y despejando p, se obtiene una frmula para determinar el orden del
mtodo:
p
log(e(h
1
)/e(h
2
))
log 2
, con h
2
=
h
1
2
.
3.2 El mtodo de Euler 73
En el siguiente ejemplo se comprueba empricamente que el mtodo de Euler tiene orden
uno.
Ejemplo 3.2. Consideremos el problema del ejemplo 3.1. Habamos visto que el error global
obtenido con paso de malla h = 0,1 (N = 10) era
e(0,1) = 0,025697.
Doblemos ahora el nmero de subintervalos (N = 20) o, lo que es lo mismo, dividamos entre
dos el paso de malla (h = 0,05). Al aplicar el mtodo de Euler se obtiene un error global igual
a
e(0,05) = 0,012830.
Observemos que
e(0,1)
e(0,05)
= 2,002792 2 e(0,05)
e(0,1)
2
,
es decir, al dividir entre dos el paso de malla el error cometido se divide aproximadamente
entre dos. Por otra parte, al aplicar la frmula para aproximar el orden se obtiene:
p
log(0,025697/0,012830)
log 2
1,002079 1.
Al realizar el experimento un cierto nmero de veces se obtienen los resultados de la tabla
3.2, donde en la penltima columna se escriben los cocientes entre dos errores consecutivos,
y en la ltima las correspondientes aproximaciones del orden.
N h e cocientes orden
10 0,100000 0,025697
20 0,050000 0,012830 2,002792 1,002012
40 0,025000 0,006410 2,001471 1,001061
80 0,012500 0,003204 2,000753 1,000543
160 0,006250 0,001602 2,000381 1,000275
Tabla 3.2: Estudio del orden del mtodo de Euler.
Como puede verse, estas aproximaciones tienden a 1, que es el orden del mtodo de Euler.
Una consecuencia inmediata de la condicin e(h) Ch es que el mtodo de Euler es
convergente. En efecto,
lm
h0
e(h) lm
h0
Ch = C lm
h0
h = 0.
La idea intuitiva es que, conforme el paso de malla tiende a cero, la solucin numrica con-
verge hacia la solucin analtica. Este hecho se ilustra en el siguiente ejemplo.
Ejemplo 3.3. Consideremos de nuevo el problema del ejemplo 3.1. En la tabla 3.3 se mues-
tran los errores obtenidos con una serie de pasos de malla que tienden a cero. Como puede
observarse, dichos errores se van aproximando a cero.
74
N h e
10 10
1
2,5697 10
2
10
2
10
2
2,5630 10
3
10
3
10
3
2,5623 10
4
10
4
10
4
2,5626 10
5
10
5
10
5
2,5622 10
6
10
6
10
6
2,5623 10
7
Tabla 3.3: Convergencia del mtodo de Euler.
Figura 3.5: Soluciones numricas y exacta del ejemplo 3.3.
Asimismo, en la gura 3.5 se representan la solucin exacta y las soluciones aproximadas
con pasos de malla 10
1
y 10
2
(el resto de las soluciones son indistinguibles de la solucin
exacta en la gura). Observamos que mientras menor es el paso de malla, ms se aproxima la
solucin numrica a la solucin exacta.
3.3. Mtodos de orden superior
Comenzaremos esta seccin dando una interpretacin fsica del mtodo de Euler. Para ello,
consideremos una partcula cuya posicin en el instante x denotaremos por y(x). Supongamos
que la velocidad de la partcula puede expresarse como una funcin f (x, y), dependiente del
tiempo x y la posicin y. En tal caso, y(x) es solucin de la ecuacin diferencial
y

= f (x, y).
La primera iteracin del mtodo de Euler se puede escribir como
y
1
= y
0
+ (x
1
x
0
) f (x
0
, y
0
),
3.3 Mtodos de orden superior 75
donde x
1
x
0
= h es el paso de malla. El punto y
0
representa la posicin inicial de la partcula
e y
1
su posicin nal. El trmino f (x
0
, y
0
) puede interpretarse como la velocidad inicial de
la partcula, mientras que x
1
x
0
es el tiempo transcurrido. El producto (x
1
x
0
) f (x
0
, y
0
)
representa por tanto el espacio recorrido por la partcula entre los instantes x
0
y x
1
, si se
supone que sta viaja siempre a velocidad f (x
0
, y
0
). Estamos pues aproximando la posicin
nal de la partcula como la posicin inicial ms el espacio recorrido al viajar a una velocidad
constante igual a la velocidad inicial. Esta es la interpretacin cintica del mtodo de Euler.
En lugar de considerar la velocidad inicial f (x
0
, y
0
) como estimacin de la velocidad en
el intervalo [x
0
, x
1
], podramos considerar una aproximacin distinta. Por ejemplo, podramos
pensar en utilizar la media de las velocidades inicial y nal, o incluso un promedio general
de velocidades. Al considerar cada una de estas posibilidades se obtienen diferentes mtodos
numricos, dos de los cuales presentaremos a continuacin.
Mtodo de Heun o de Euler mejorado
Consideremos la media entre las velocidades inicial f (x
0
, y
0
) y nal f (x
1
, y
1
) de la part-
cula. Podemos entonces escribir la aproximacin y
1
de la posicin nal de la siguiente forma:
y
1
= y
0
+ (x
1
x
0
)
f (x
0
, y
0
) + f (x
1
, y
1
)
2
y
1
= y
0
+
h
2
( f (x
0
, y
0
) + f (x
1
, y
1
)).
Notemos que el trmino f (x
1
, y
1
) depende explcitamente de y
1
, que es desconocido a priori.
Para solventar este problema, podemos aproximar el valor de y
1
en f (x
1
, y
1
) mediante una
iteracin del mtodo de Euler, que denotaremos por p
1
:
p
1
= y
0
+ h f (x
0
, y
0
) f (x
1
, y
1
) f (x
1
, p
1
).
Obtenemos de esta forma:
y
1
= y
0
+
h
2
( f (x
0
, y
0
) + f (x
1
, p
1
)),
que es la primera iteracin del mtodo de Heun.
La expresin general del mtodo de Heun o de Euler mejorado es la siguiente:
_
_
_
p
k+1
= y
k
+ h f (x
k
, y
k
),
y
k+1
= y
k
+
h
2
( f (x
k
, y
k
) + f (x
k+1
, p
k+1
)), k = 0, 1, . . . , N 1.
Notemos que el punto x
k+1
= x
k
+ h es conocido en cada paso.
Observacin. El mtodo de Heun es un ejemplo de mtodo predictor-corrector. El valor p
k+1
se interpreta como una prediccin para el valor buscado y(x
k+1
), que luego se corrige para
obtener el valor nal y
k+1
.
Puede probarse que el mtodo de Heun es de orden dos: existe una constante C > 0,
independiente del paso de malla h, tal que
e(h) Ch
2
,
76
siendo e(h) el error global obtenido al aproximar la solucin mediante el mtodo de Heun con
paso de malla h. Como consecuencia, el mtodo de Heun es convergente.
Al ser el mtodo de Heun de orden dos, al dividir el paso de malla entre dos el error come-
tido se dividir aproximadamente entre 2
2
= 4. Por tanto, el mtodo de Heun proporciona un
resultado ms preciso que el mtodo de Euler, si en ambos usamos el mismo paso de malla.
Estos hechos quedarn patentes en el siguiente ejemplo.
Ejemplo 3.4. Retomemos el problema del ejemplo 3.1. Al aplicar el mtodo de Heun para
resolverlo con paso de malla h = 0, 1, se obtienen los resultados de la tabla 3.4. Si comparamos
estos resultados con los de la tabla 3.1, vemos que la precisin del mtodo de Heun es superior
a la del mtodo de Euler.
k t
k
x
k
y(x
k
) e
k
0 0,0 1,000000 1,000000 0,000000
1 0,1 0,951500 0,951394 1,0597 10
4
2 0,2 0,906352 0,906138 2,1380 10
4
3 0,3 0,865367 0,865044 3,2306 10
4
4 0,4 0,829318 0,828885 4,3334 10
4
5 0,5 0,798939 0,798395 5,4429 10
4
6 0,6 0,774928 0,774272 6,5559 10
4
7 0,7 0,757950 0,757183 7,6693 10
4
8 0,8 0,748638 0,747760 8,7805 10
4
9 0,9 0,747591 0,746603 9,8870 10
4
10 10,0 0,755384 0,754285 1,0987 10
3
Tabla 3.4: Mtodo de Heun: solucin del ejemplo 3.1 con paso h = 0,1.
En la gura 3.6 se comparan grcamente los resultados obtenidos con los mtodos de
Euler y Heun.
N h e cocientes orden
10 0,100000 1,0987 10
3

20 0,050000 2,7270 10
4
4,028877 2,010378
40 0,025000 6,7926 10
5
4,014620 2,005263
80 0,012500 1,6950 10
5
4,007353 2,002650
160 0,006250 4,2337 10
6
4,003687 2,001329
Tabla 3.5: Estudio del orden del mtodo de Heun.
Los resultados obtenidos al dividir sucesivamente entre dos el paso de malla se muestran
en la tabla 3.5 . Como puede comprobarse, el cociente entre errores sucesivos tiende a 2
2
= 4
y las aproximaciones del orden convergen hacia 2.
El mtodo de Heun no viene implementado en Sage, por lo que es necesario programarlo
3.3 Mtodos de orden superior 77
Figura 3.6: Ejemplo 3.4: resultados obtenidos con los mtodos de Euler y Heun.
directamente. El siguiente cdigo Sage, que incluye una implementacin del mtodo de Heun,
se ha utilizado para generar parte de la gura 3.6:
sage: # Metodo de Heun
sage: def heun(fun , a, b, N, y0):
... h = (b-a)/N # paso de malla
... x = [a] # primer nodo
... y = [y0] # valor inicial
...
... for k in range(N):
... x.append(x[k]+h)
... aux = fun(x[k], y[k])
... p = y[k]+h*aux # prediccio n
... y.append(y[k]+(h/2)*( aux+fun(x[k]+h, p))) # correccio n
...
... return zip(x, y)
sage: #
sage: ### Programa principal ###
sage: #
sage: # Ejemplo 3.4
sage: var(x, y)
sage: fun(x, y) = (x^2-y)/2 # segundo miembro de la ecuacio n
sage: a = 0. # extremo inferior
sage: b = 1. # extremo superior
sage: y0 = 1. # valor inicial
sage: N = 10 # numero de particiones
sage: sol = heun(fun , a, b, N, y0) # metodo de Heun
sage: #
sage: # solucio n exacta
sage: y = function(y, x)
sage: ec = diff(y, x) == fun(x, y)
sage: sol_exacta = desolve(ec , y, ics=[0, y0])
sage: #
sage: # errores
sage: error = [abs(sol_exacta(x)-y) for (x, y) in sol]
sage: print(Error = %r % max(error ))
sage: #
78
sage: # graficas
sage: fig1 = list_plot(sol , color=blue, legend_label=Heun,
size=20)
sage: fig1 += line(sol , color=blue)
sage: fig2 = plot(sol_exacta , a, b, color=red, legend_label=exacta ,
gridlines=True)
sage: (fig1 + fig2).show()
Error = 0.00109866300079819
Mtodo de Runge-Kutta de cuarto orden
El mtodo de Runge-Kutta de cuarto orden (RK4) tiene la siguiente expresin:
y
k+1
= y
k
+
h
6
(K
1
+ 2K
2
+ 2K
3
+ K
4
), k = 0, 1, . . . , N 1,
donde
_

_
K
1
= f (x
k
, y
k
),
K
2
= f (x
k
+
h
2
, y
k
+
h
2
K
1
),
K
3
= f (x
k
+
h
2
, y
k
+
h
2
K
2
),
K
4
= f (x
k
+ h, y
k
+ hK
3
).
En este caso se ha considerado un promedio de cuatro velocidades diferentes: una en el nodo
inicial x
k
, dos correcciones en el nodo intermedio x
k
+
h
2
, y otra en el nodo nal x
k
+ h.
El mtodo de Runge-Kutta tiene orden cuatro, es decir, existe una constante C > 0, inde-
pendiente del paso de malla h, tal que
e(h) Ch
4
,
donde e(h) es el error global que se produce al aproximar la solucin del problema mediante
el mtodo de Runge-Kutta con paso de malla h. De este modo, al dividir el paso de malla
entre dos el error se divide entre 2
4
= 16.
Observacin. Existe una clase general de mtodos Runge-Kutta de orden arbitrario, de los
cuales el aqu estudiado no es ms que un caso particular.
Ejemplo 3.5. Al aplicar el mtodo de Runge-Kutta con paso de malla h = 0,1 al problema del
ejemplo 3.1, se obtienen los resultados de la tabla 3.6. Es claro que el mtodo de Runge-Kutta
produce resultados mucho ms precisos que los mtodos de Euler o de Heun para el mismo
paso de malla.
Asimismo, al realizar el experimento de divisiones sucesivas del paso de malla, se obtienen
los resultados de la tabla 3.7. Dichos resultados muestran que el mtodo de Runge-Kutta tiene
orden cuatro.
En Sage existe una implementacin del mtodo RK4, cuyo uso puede verse en el siguiente
cdigo:
3.3 Mtodos de orden superior 79
k t
k
x
k
y(x
k
) e
k
0 0,0 1,000000 1,000000 0,000000
1 0,1 0,951394 0,951394 7,9633 10
9
2 0,2 0,906138 0,906138 1,6420 10
8
3 0,3 0,865044 0,865044 2,5303 10
8
4 0,4 0,828885 0,828885 3,4550 10
8
5 0,5 0,798395 0,798395 4,4106 10
8
6 0,6 0,774273 0,774272 5,3917 10
8
7 0,7 0,757183 0,757183 6,3936 10
8
8 0,8 0,747760 0,747760 7,4120 10
8
9 0,9 0,746603 0,746603 8,4429 10
8
10 10,0 0,754285 0,754285 9,4825 10
8
Tabla 3.6: Mtodo de Runge-Kutta: solucin del ejemplo 3.1 con paso h = 0,1.
N h e cocientes orden
10 0,100000 9,4825 10
8

20 0,050000 5,9132 10
9
16,036346 4,003274
40 0,025000 3,6911 10
10
16,020039 4,001806
80 0,012500 2,3053 10
11
16,011356 4,001024
160 0,006250 1,4405 10
12
16,003314 4,000299
Tabla 3.7: Estudio del orden del mtodo de Runge-Kutta.
sage: # Ejemplo 3.5
sage: var(x, y)
sage: fun(x, y) = (x^2-y)/2 # segundo miembro de la ecuacio n
sage: a = 0. # extremo inferior
sage: b = 1. # extremo superior
sage: y0 = 1. # valor inicial
sage: N = 10 # particiones
sage: h = (b-a)/N # paso de malla
sage: desolve_rk4(fun , y, ics=[a, y0], end_points =[a, b], step=h)
[[0.000000000000000 , 1.00000000000000] ,
[0.1, 0.951394036458] ,
[0.2, 0.906138090168] ,
[0.3, 0.865044190327] ,
[0.4, 0.828884763004] ,
[0.5, 0.798394562606] ,
[0.6, 0.774272509145] ,
[0.7, 0.757183435905] ,
[0.8, 0.747759751871] ,
[0.9, 0.746603023076] ,
[1.0, 0.754285476837]]
Si queremos dibujar el resultado, as como la solucin exacta, basta con hacer:
sage: sol = desolve_rk4(fun , y, ics=[a, y0], end_points =[a, b], step=h)
sage: fig1 = list_plot(sol , color=green , legend_label=RK4,
80
size=20)
sage: fig1 += line(sol , color=green )
sage: # exacta
sage: y = function(y, x)
sage: ec = diff(y, x) == fun(x, y)
sage: sol_exacta = desolve(ec , y, ics=[0, y0])
sage: #
sage: fig2 = plot(sol_exacta , a, b, color=red, legend_label=exacta ,
gridlines=True)
sage: (fig1 + fig2).show()
La grca resultante es similar a la de la gura 3.7, donde tambin se ha dibujado el resultado
obtenido con el mtodo de Euler para comparar. Para calcular el error cometido, ejecutamos:
sage: error = [abs(sol_exacta(x)-y) for (x, y) in sol]
sage: print(Error = %r % max(error ))
Error = 9.48253844335e-08
De forma alternativa, el siguiente cdigo proporciona una implementacin directa del
mtodo RK4:
sage: # Metodo RK4 (Runge -Kutta de cuarto orden)
sage: def rk4(fun , a, b, N, y0):
... h = (b-a)/N # paso de malla
... x = [a] # primer nodo
... y = [y0] # valor inicial
...
... for k in range(N):
... x.append(x[k]+h)
... K1 = fun(x[k], y[k])
... K2 = fun(x[k]+h/2, y[k]+(h/2)*K1)
... K3 = fun(x[k]+h/2, y[k]+(h/2)*K2)
... K4 = fun(x[k]+h, y[k]+h*K3)
... y.append(y[k]+(h/6)*( K1+2*K2+2*K3+K4))
...
... return zip(x, y)
sage: #
sage: ### Programa principal ###
sage: #
sage: # Ejemplo 3.5
sage: var(x, y)
sage: fun(x, y) = (x^2-y)/2 # segundo miembro de la ecuacio n
sage: a = 0. # extremo inferior
sage: b = 1. # extremo superior
sage: y0 = 1. # valor inicial
sage: N = 10 # numero de particiones
sage: sol = rk4(fun , a, b, N, y0) # metodo RK4
sage: #
sage: # solucio n exacta
sage: y = function(y, x)
sage: ec = diff(y, x) == fun(x, y)
sage: sol_exacta = desolve(ec , y, ics=[0, y0])
sage: #
sage: # errores
sage: error = [abs(sol_exacta(x)-y) for (x, y) in sol]
sage: print(Error = %r % max(error ))
sage: #
sage: # graficas
sage: fig1 = list_plot(sol , color=blue, legend_label=RK4, size=20)
sage: fig1 += line(sol , color=blue)
3.4 Algunas consideraciones 81
sage: fig2 = plot(sol_exacta , a, b, color=red, legend_label=exacta ,
gridlines=True)
sage: (fig1 + fig2).show()
Error = 9.48253855437287e-8
Figura 3.7: Ejemplo 3.5: resultados obtenidos con los mtodos de Euler y RK4.
Ejemplo 3.6. Consideremos el problema de valor inicial
_
y

= y + cos(x), x [0, 4],


y(0) = 1,
cuya solucin exacta es
y(x) =
sen(x) + cos(x) + e
x
2
.
Al resolver el problema mediante los mtodos presentados en esta seccin se obtienen los
resultados de la tabla 3.8. Como puede observarse, el mtodo de Euler es el que proporciona
peores resultados, mientras que el mtodo de Runge-Kutta es el ms preciso.
En las guras 3.8 y 3.9 se han representado las soluciones numricas obtenidas con N = 25
y N = 50 particiones, respectivamente.
3.4. Algunas consideraciones
Existe una forma alternativa de deducir los mtodos numricos presentados en la seccin
anterior, ms formal desde el punto de vista matemtico. Si integramos la ecuacin diferencial
y

= f (x, y) entre dos nodos consecutivos, obtenemos:


_
x
k+1
x
k
y

(x) dx =
_
x
k+1
x
k
f (x, y(x)) dx y(x
k+1
) y(x
k
) =
_
x
k+1
x
k
f (x, y(x)) dx,
82
N Euler Heun Runge-Kutta
25 1,4781 10
1
4,3932 10
2
3,9247 10
4
50 6,9090 10
2
9,6635 10
3
2,1724 10
5
100 3,3713 10
2
2,2901 10
3
1,2866 10
6
250 1,3254 10
2
3,5386 10
4
3,1808 10
8
500 6,5896 10
3
8,7449 10
5
1,9651 10
9
1000 3,2856 10
3
2,1738 10
5
1,2211 10
10
2500 1,3120 10
3
3,4662 10
6
3,1230 10
12
Tabla 3.8: Errores obtenidos al resolver el problema del ejemplo 3.6.
Figura 3.8: Ejemplo 3.6: soluciones obtenidas con N = 25.
tras aplicar la regla de Barrow en el primer miembro. Por tanto, tenemos que
y(x
k+1
) = y(x
k
) +
_
x
k+1
x
k
f (x, y(x)) dx.
A continuacin aproximamos y(x
k
) e y(x
k+1
) por y
k
e y
k+1
, respectivamente. La integral se
aproxima mediante una frmula de cuadratura o de integracin numrica:
y
k+1
= y
k
+
_
frmula de cuadratura para
_
x
k+1
x
k
f (x, y(x)) dx
_
.
Al aplicar distintas frmulas de cuadraturas, se obtienen distintos mtodos numricos. Por
ejemplo, al aproximar la integral mediante la frmula del rectngulo,
_
x
k+1
x
k
f (x, y(x)) dx h f (x
k
, y
k
),
se obtiene el mtodo de Euler:
y
k+1
= y
k
+ h f (x
k
, y
k
).
3.4 Algunas consideraciones 83
Figura 3.9: Ejemplo 3.6: soluciones obtenidas con N = 50.
Esta tcnica permite construir mtodos numricos ms generales que los estudiados en esta
seccin.
Todos los mtodos numricos estudiados pueden aplicarse para la resolucin de sistemas
de ecuaciones diferenciales. Para ello, basta con aplicar el mtodo elegido a cada una de
las componentes del sistema. Por ejemplo, el mtodo de Euler para resolver el problema de
valores iniciales dado por
_

_
x

(t) = f (t, x(t), y(t)), t [a, b],


y

(t) = g(t, x(t), y(t)),


x(a) = x
0
,
y(a) = y
0
,
adoptara la siguiente forma:
_
x
k+1
= x
k
+ h f (t
k
, x
k
, y
k
),
y
k+1
= y
k
+ hg(t
k
, x
k
, y
k
), k = 0, 1, . . . , N 1.
De manera anloga se escribiran los mtodos de Heun y Runge-Kutta.
Por ltimo, consideremos un problema de valores iniciales para una ecuacin diferencial
de segundo orden:
_

_
x

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


x(a) = x
0
,
x

(a) = x

0
.
Su resolucin numrica pasa por transformarlo en un problema de valores iniciales y aplicar
alguno de los mtodos numricos estudiados a dicho problema. Llamando y(t) = x

(t) e
84
y
0
= x

0
, obtenemos:
_

_
x

(t) = y(t),
y

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


x(a) = x
0
,
y(a) = y
0
.
En este caso, la solucin numrica del sistema consta de dos sucesiones de valores aproxima-
dos: {x
k
}
N
k=0
, que aproxima a la solucin x(t), e {y
k
}
N
k=0
, que aproxima a la derivada de la
solucin y(t) = x

(t).
3.5. Aplicacin: deexin de vigas en voladizo
La ecuacin diferencial que determina el desplazamiento de una viga puede determinarse
a partir de la relacin existente entre el momento ector M(x) (que depende de la distribucin
de carga que soporta la viga), el radio de curvatura (x) de la curva y(x) que dene la forma
de la viga, el mdulo de elasticidad E (que depende del material) y el momento de inercia I
(que depende de la geometra de la viga). Dicha relacin es la siguiente:
M(x) =
(x)
EI
.
Teniendo en cuenta que el radio de curvatura depende de las dos primeras derivadas de y(x),
puede deducirse la siguiente ecuacin no lineal:
y

(x) =
M(x)
EI
(1 + y

(x))
3/2
, x [0, L],
donde L es la longitud de la viga.
Cuando la exin de la viga es pequea, se tiene que y

(x) 0. Por tanto, asumiendo esta


hiptesis de pequeas deformaciones, obtenemos:
y

(x) =
M(x)
EI
, x [0, L].
Si consideramos el caso de una viga en voladizo, debemos imponer las siguientes condiciones
iniciales:
y(0) = 0, y

(0) = 0.
La condicin y(0) = 0 indica que el extremo izquierdo de la viga est situado en el origen
de coordenadas, mientras que la condicin y

(0) = 0 nos dice que dicho extremo permanece


jo. De esta forma hemos expresado y(x) como solucin de un problema de valores inicia-
les. Para resolverlo numricamente ser necesario escribirlo en forma de sistema, tal y como
comentamos al nal de la seccin 3.3.
La ecuacin diferencial obtenida depende de la forma del momento ector, que a su vez
depende de la distribucin de la carga que soporta la viga. Vamos a tener en cuenta dos casos:
Carga uniformemente distribuida P (gura 3.10):
M(x) =
_
L
x
P
L
(t x) dt =
P
2L
(L x)
2
.
3.5 Aplicacin: deexin de vigas en voladizo 85
Carga puntual P en el extremo de la viga en voladizo (gura 3.11):
M(x) = P(L x).
P
L
Figura 3.10: Deexin de una viga en voladizo con carga uniformemente distribuida: esquema.
P
L
Figura 3.11: Deexin de una viga en voladizo con carga puntual en un extremo: esquema.
Consideremos una viga de longitud L = 2 m y tomemos los valores E = 2 10
11
N/m
2
y I = 7,85 10
9
m
4
(vase el ejemplo 2.24). En las guras 3.12 y 3.13 se representan los
resultados obtenidos al aplicar el mtodo RK4 con N = 20 particiones y P = 150. En la gura
3.12 se ha supuesto que la carga est uniformemente distribuida a lo largo de la viga, mientras
que la gura 3.13 representa el caso de una carga puntual situada en el extremo derecho de la
viga. Como puede observarse, en este ltimo caso la hiptesis de pequeas deformaciones es
menos plausible.
Damos a continuacin el cdigo Sage que se ha utilizado para resolver los problemas
considerados:
sage: # Deflexio n de vigas en voladizo
sage: # -------------------------------
sage: #
sage: # Ecuacio n: y =(M(x)/(EI ))*(1+y )^(3/2) en [0, L].
sage: # Condiciones iniciales: y(0)=0, y (0)=0.
sage: #
sage: # En forma de sistema:
sage: # y1 = y2
sage: # y2 = (M(x)/(EI ))*(1+ y2 )^(3/2)
86
Figura 3.12: Viga en voladizo: carga uniformemente distribuida.
Figura 3.13: Viga en voladizo: carga puntual en el extremo de la viga.
sage: #
sage: # Condiciones iniciales: y1(0)=0, y2 (0)=0.
sage: #
sage: # Metodo: RK4 para sistemas
sage: #
sage: # datos del problema
sage: L = 2. # longitud de la viga
sage: Q = 0. # carga axial
sage: E = 2.e11 # modulo de elasticidad
sage: I = 7.85e-9 # momento de inercia
sage: P = 150. # carga
sage: #
sage: # condiciones iniciales
sage: y10 = 0.
3.5 Aplicacin: deexin de vigas en voladizo 87
sage: y20 = 0.
sage: #
sage: # segundo miembro de la ecuacio n no lineal
sage: op = 0 # opciones:
... # 0: carga uniformemente distribuida
... # 1: carga puntual en el extremo de la viga
...
sage: if (op == 0):
... # carga uniformemente distribuida
... R(x) = -(P/(2.*L))*(L-x)^2/(E*I)
... else:
... # carga puntual en el extremo de la viga
... R(x) = -P*(L-x)/(E*I)
...
sage: #
sage: ### Metodo RK4 para sistemas ###
sage: #
sage: N = 20 # numero de particiones
sage: h = L/N # paso de malla
sage: #
sage: var(x, y1 , y2)
sage: # solucio n del caso no lineal
sage: sol_NL = desolve_system_rk4 ([y2 , R(x)*(1.+ y2)^1.5] , [y1, y2],
ics=[0, y10 , y20], ivar=x, step=h, end_points =2)
sage: #
sage: # solucio n del caso lineal
sage: sol_L = desolve_system_rk4 ([y2 , R(x)], [y1 , y2],
ics=[0, y10 , y20], ivar=x, step=h, end_points =2)
sage: #
sage: # dibujamos las soluciones
sage: sol1 = [[i, j] for (i, j, k) in sol_NL] # solucio n no lineal
sage: sol2 = [[i, j] for (i, j, k) in sol_L] # solucio n lineal
sage: fig1 = list_plot(sol1 , legend_label=no lineal , size=20,
gridlines=True)
sage: fig1 += line(sol1)
sage: fig2 = list_plot(sol2 , color=red, legend_label=lineal )
sage: fig2 += line(sol2 , color=red)
sage: (fig1 + fig2).show()
88
4 Mtodos numricos para problemas de contorno 89
4. Mtodos numricos para problemas de contorno
4.1. Introduccin
En este tema nos centraremos en el desarrollo de mtodos numricos para la resolucin
de problemas de contorno, de la forma
_

_
y

= f (x, y, y

), x [a, b],
y(a) = ,
y(b) = .
En los mtodos estudiados en el tema anterior para problemas de valor inicial, la solucin
numrica se construa de forma recursiva: a partir del valor aproximado y
k
en el nodo x
k
,
se calcula el valor aproximado y
k+1
en el siguiente nodo x
k+1
; este proceso se repite hasta
llegar al nal del intervalo donde queremos resolver la ecuacin. El enfoque para problemas
de contorno es distinto: la solucin numrica va a venir dada como solucin de un sistema de
ecuaciones, cuyo tamao depender del nmero de nodos de la particin.
Presentaremos dos mtodos fundamentales para el estudio de problemas de contorno: el
mtodo de diferencias nitas y el mtodo de elementos nitos. El mtodo de diferencias nitas se
basa en aproximar las derivadas que aparecen en la ecuacin diferencial mediante frmulas
adecuadas en cada nodo. El mtodo de elementos nitos se construye a partir de la denomi-
nada formulacin variacional del problema de contorno, y ofrece mayor adaptabilidad que el
mtodo de diferencias nitas a la hora de estudiar fenmenos complejos. En la actualidad,
el mtodo de elementos nitos es ampliamente utilizado para resolver problemas cientcos
y tcnicos: clculo de estructuras, aerodinmica de vehculos, interacciones uido-estructura,
procesamiento de imgenes mdicas, optimizacin de formas, etc.
4.2. Mtodo de diferencias nitas
Uno de los mtodos bsicos para la resolucin numrica de problemas de contorno es el
conocido como mtodo de diferencias nitas, que estudiaremos en esta seccin. Por simplicidad,
nos centraremos en el estudio numrico de un problema lineal de la forma
_

_
y

+ p(x)y

+ q(x)y = r(x), x [a, b],


y(a) = ,
y(b) = .
Comencemos construyendo una particin del intervalo [a, b] de la siguiente forma:
a = x
0
< x
1
< < x
N1
< x
N
= b,
con x
j
= a + jh para j = 0, 1, . . . , N, siendo h =
ba
N
el paso de malla. Los puntos x
1
, . . . , x
N1
son los nodos interiores de la particin. Evaluando la ecuacin diferencial en cada nodo interior,
se obtiene:
y

(x
j
) + p
j
y

(x
j
) + q
j
y(x
j
) = r
j
, j = 1, . . . , N 1,
90
donde, por simplicidad, hemos denido p
j
= p(x
j
), q
j
= q(x
j
) y r
j
= r(x
j
).
Las derivadas de y(x) en cada nodo x
j
pueden aproximarse mediante las siguientes fr-
mulas:
y

(x
j
)
y(x
j+1
) y(x
j1
)
2h
, y

(x
j
)
y(x
j+1
) 2y(x
j
) + y(x
j1
)
h
2
,
que son las diferencias nitas que dan nombre al mtodo (gura 4.1).
(x
j
, y(x
j
))
x
j
x
j-1
x
j+1
h h
2h
m_
m
+
m
c
(x
j+1
, y(x
j+1
))
(x
j-1
, y(x
j-1
))
Figura 4.1: Aproximaciones de la derivada de y(x) en el punto x
j
.
Observacin. Veamos de dnde surgen las frmulas anteriores. En primer lugar, notemos
que y

(x
j
) no es ms que la pendiente de la recta tangente a la curva solucin en el punto
(x
j
, y(x
j
)). Podemos aproximar dicha pendiente de varias formas:
Como la pendiente m
+
de la recta que pasa por (x
j
, y(x
j
)) y (x
j+1
, y(x
j+1
)):
y

(x
j
)
y(x
j+1
) y(x
j
)
x
j+1
x
j
=
y(x
j+1
) y(x
j
)
h
m
+
.
Como la pendiente m

de la recta que pasa por (x


j
, y(x
j
)) y (x
j1
, y(x
j1
)):
y

(x
j
)
y(x
j
) y(x
j1
)
x
j
x
j1
=
y(x
j
) y(x
j1
)
h
m

.
Como la pendiente m
c
de la recta que pasa por (x
j+1
, y(x
j+1
)) y (x
j1
, y(x
j1
)):
y

(x
j
)
y(x
j+1
) y(x
j1
)
x
j+1
x
j1
=
y(x
j+1
) y(x
j1
)
2h
m
c
.
Claramente, m
c
es la media de los valores m
+
y m

.
4.2 Mtodo de diferencias nitas 91
Las aproximaciones m
+
y m

se denominan descentradas, mientras que m


c
es una aproxima-
cin centrada. Puede probarse que, en general, la aproximacin centrada es ms precisa que
cualquiera de las dos descentradas.
Por otra parte, la segunda derivada en x
j
se aproxima de la siguiente forma:
y

(x
j
)
y

(x
j
)
+
y

(x
j
)

h
,
donde y

(x
j
)

son aproximaciones laterales de la primera derivada en x


j
. Tomando m
+

y

(x
j
)
+
y m

(x
j
)

, obtenemos:
y

(x
j
)
m
+
m

h
=
y(x
j+1
)y(x
j
)
h

y(x
j
)y(x
j1
)
h
h
=
y(x
j+1
) 2y(x
j
) + y(x
j1
)
h
2
,
que es la frmula buscada.
Sustituyendo las expresiones para las derivadas en las ecuaciones anteriores y cambiando
los valores exactos y(x
j
) por valores aproximados y
j
, resulta:
y
j+1
2y
j
+ y
j1
h
2
+ p
j
y
j+1
y
j1
2h
+ q
j
y
j
= r
j
, j = 1, . . . , N 1.
Ntese que los valores en los extremos del intervalo son conocidos, gracias a las condiciones
de contorno:
y
0
= y(x
0
) = y(a) = , y
N
= y(x
N
) = y(b) = .
En resumen, hemos construido un sistema lineal de N 1 ecuaciones con N 1 incgnitas, a
saber, {y
1
, y
2
, . . . , y
N1
}. Reagrupando, el sistema puede escribirse de la siguiente forma:
_

_
_
h
2
p
j
1
_
y
j1
+ (2 h
2
q
j
)y
j
+
_

h
2
p
j
1
_
y
j+1
= h
2
r
j
, j = 1, 2, . . . , N 1,
y
0
= ,
y
N
= .
La solucin del sistema nos proporciona un conjunto de aproximaciones a los valores de la
solucin exacta en cada uno de los nodos interiores: y
j
y(x
j
).
Notemos que todas las ecuaciones anteriores poseen la misma estructura, a excepcin de
la primera y la ltima. En efecto, para j = 1 se tiene que
_
h
2
p
1
1
_

y
0
+ (2 h
2
q
1
)y
1
+
_

h
2
p
1
1
_
y
2
= h
2
r
1
,
de donde
(2 h
2
q
1
)y
1
+
_

h
2
p
1
1
_
y
2
= h
2
r
1
+
_
1
h
2
p
1
_
,
mientras que para j = N 1 se deduce, de forma anloga:
_
h
2
p
N1
1
_
y
N2
+ (2 h
2
q
N1
)y
N1
= h
2
r
N1
+
_
1 +
h
2
p
N1
_
.
92
Podemos escribir el sistema lineal en forma matricial:
AY = B,
donde
Y =
_
_
_
_
_
_
_
_
_
_
y
1
y
2
.
.
.
y
j
.
.
.
y
N1
_
_
_
_
_
_
_
_
_
_
, B =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
h
2
r
1
+
_
1
h
2
p
1
_
h
2
r
2
.
.
.
h
2
r
j
.
.
.
h
2
r
N1
+
_
1 +
h
2
p
N1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
y
A =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
2 h
2
q
1

h
2
p
1
1 0 0 0
h
2
p
2
1 2 h
2
q
2

h
2
p
2
1 0 0
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
h
2
p
j
1 2 h
2
q
j

h
2
p
j
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
h
2
p
N2
1 2 h
2
q
N2

h
2
p
N2
1
0 0
h
2
p
N1
1 2 h
2
q
N1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Como vemos, la matriz A tiene estructura tridiagonal. Este tipo de matrices tiene innumerables
ventajas desde un punto de vista numrico a la hora de resolver el sistema lineal.
Observacin. La resolucin numrica de sistemas lineales constituye una rama fundamen-
tal del Anlisis Numrico, con importantes aplicaciones prcticas. Las tcnicas empleadas se
salen del mbito de este curso, por lo que no entraremos en ms detalles.
Observacin. Cuando se consideran condiciones de contorno de tipo Neumann, y

(a) =
e y

(b) = , es necesario aadir las ecuaciones correspondientes a j = 0 y j = N, y usar


discretizaciones adecuadas para las derivadas en las condiciones de contorno.
Ejemplo 4.1. Consideremos el problema de contorno
_

_
y

y = x
2
+ 1, x [0, 1],
y(0) = 0,
y(1) = 0,
cuya solucin exacta es
y(x) = 3 x
2
+
4e 3
e
2
1
e
x

4e 3e
2
e
2
1
e
x
.
4.2 Mtodo de diferencias nitas 93
Dividamos el intervalo [0, 1] en cuatro subintervalos; de este modo, N = 4, el paso de
malla es h =
1
4
y los nodos de la particin son x
0
= 0, x
1
=
1
4
, x
2
=
1
2
, x
3
=
3
4
y x
4
= 1.
Evaluando la ecuacin diferencial en los nodos interiores, resulta:
y

(x
j
) y(x
j
) = x
2
j
+ 1, j = 1, 2, 3.
A continuacin, aproximamos mediante diferencias nitas:
y
j+1
2y
j
+ y
j1
h
2
y
j
= x
2
j
+ 1, j = 1, 2, 3,
Teniendo en cuenta las condiciones de contorno y
0
= y(x
0
) = 0 e y
4
= y(x
4
) = 0, podemos
escribir las ecuaciones anteriores del siguiente modo:
_

_
y
2
2y
1
+

0
y
0
h
2
y
1
= x
2
1
+ 1
y
3
2y
2
+ y
1
h
2
y
2
= x
2
2
+ 1


0
y
4
2y
3
+ y
2
h
2
y
3
= x
2
3
+ 1

_
(2 + h
2
)y
1
y
2
= h
2
(x
2
1
+ 1)
y
1
+ (2 + h
2
)y
2
y
3
= h
2
(x
2
2
+ 1)
y
2
+ (2 + h
2
)y
3
= h
2
(x
2
3
+ 1)
que en forma matricial se expresan como
_
_
2 + h
2
1 0
1 2 + h
2
1
0 1 2 + h
2
_
_
_
_
y
1
y
2
y
3
_
_
= h
2
_
_
x
2
1
+ 1
x
2
2
+ 1
x
2
3
+ 1
_
_
.
La solucin de dicho sistema, una vez sustituidos los valores de h y de los nodos, es:
y
1
0,102151, y
2
0,144281, y
3
= 0,117303.
En la gura 4.2 se representan la solucin exacta y los valores aproximados obtenidos. Dicha
gura se ha realizado con el siguiente cdigo Sage:
sage: # Ejemplo 4.1
sage: #
sage: ### Metodo de diferencias finitas ###
sage: #
sage: # Ecuacio n: y +p(x)y+q(x)y=r(x), a<x<b.
sage: # Condiciones de contorno de tipo Dirichlet:
sage: # y(a)=alpha , y(b)=beta.
sage: #
sage: # Datos del problema
sage: #
sage: a = 0. # extremo inferior del intervalo
sage: b = 1. # extremo superior del intervalo
sage: #
sage: N = 4 # numero de particiones
sage: #
sage: p(x) = 0. # coeficiente de y
sage: q(x) = -1. # coeficiente de y
sage: r(x) = x^2+1. # termino independiente
94
sage: #
sage: alpha = 0. # c. contorno izquierda
sage: beta = 0. # c. contorno derecha
sage: #
sage: ### Implementacio n del metodo ###
sage: #
sage: h = (b-a)/N # paso de malla
sage: #
sage: X = vector ([a+j*h for j in range(N+1)]) # mallado
sage: Y = vector ([0. for j in range(N+1)]) # solucio n
sage: #
sage: # condiciones de contorno
sage: Y[0] = alpha
sage: Y[N] = beta
sage: #
sage: # termino independiente
sage: B = vector ([(-h^2)*r(X[j+1]) for j in range(N-1)])
sage: B[0] += alpha *(1 -0.5*h*p(X[1]))
sage: B[N-2] += beta *(1+0.5*h*p(X[N -1]))
sage: #
sage: # matriz del sistema
sage: A = matrix(RR, N-1, N-1)
sage: #
sage: for j in range(1, N-1):
... A[j-1, j-1] = 2.-q(X[j])*h^2 # diagonal
... A[j-1, j] = -1.-0.5*h*p(X[j]) # superdiagonal
... A[j, j-1] = -1.+0.5*h*p(X[j]) # subdiagonal
sage: A[N-2, N-2] = 2.-q(X[N -1])*h^2 # ultimo elemento de la diagonal
sage: #
sage: # solucio n del sistema lineal
sage: sol = A.inverse ()*B # y=A^(-1)*B
sage: #
sage: # actualizacio n del vector y
sage: for j in range(0, N-1):
... Y[j+1] = sol[j]
sage: #
sage: #################################
sage: #
sage: # dibujamos los puntos
sage: sol = zip(X, Y)
sage: fig1 = list_plot(sol , color=blue, legend_label=aprox.)
sage: # y los unimos con segmentos
sage: fig1 += line(sol)
sage: #
sage: ### Comparacio n con la solucio n exacta ###
sage: y = function(y, x)
sage: ec = diff(y, x, 2) + p(x)*diff(y, x) + q(x)*y == r(x)
sage: sol = desolve(ec, y, ics=[a, alpha , b, beta])
sage: #
sage: fig2 = plot(sol , a, b, color=red, legend_label=exacta )
sage: (fig1+fig2).show()
Como disponemos de la solucin exacta, es posible determinar el error e
j
= |y(x
j
) y
j
|
cometido en cada uno de los nodos:
e
1
0,001366, e
2
0,001853, e
3
0,001443.
Por tanto, el error global ser e = m ax(e
1
, e
2
, e
3
) 0,001853.
Con Sage, haramos lo siguiente:
4.3 Aproximacin variacional 95
Figura 4.2: Ejemplo 4.1: solucin exacta y valores aproximados.
sage: # Calculo de los errores en los nodos interiores
sage: err = [abs(Y[j]-sol(X[j])) for j in range(1, N)]; err
[0.00136648039024440 , 0.00185314651061488 , 0.00144315391661615]
y despus
sage: # Error global
sage: max(err)
0.00185314651061488
para determinar el error global.
4.3. Aproximacin variacional
En esta seccin vamos a introducir las ideas bsicas relativas a la formulacin variacional
de un problema de contorno. Como veremos, esta formulacin ser la base que nos permitir
denir el mtodo de elementos nitos.
Consideremos un problema de contorno lineal de la forma
_

_
u

(x) + q(x)u(x) = f (x), x [0, 1],


u(0) = 0,
u(1) = 0,
(1)
donde q(x) y f (x) son funciones continuas en [0, 1]. En este contexto es habitual denotar por
u a la variable dependiente en lugar de y.
Observacin. Si las condiciones de contorno son del tipo u(0) = , u(1) = , basta con hacer
el cambio w(x) = u(x) (1 x) x para pasar a un problema equivalente con condiciones
de contorno w(0) = 0, w(1) = 0. Asimismo, el cambio w(x) = u(a + (b a)x) permite
considerar el problema en un intervalo arbitrario [a, b]. Por otra parte, el aadir un trmino
de la forma p(x)u

(x) a la ecuacin no introduce dicultades matemticas adicionales en la


96
deduccin del mtodo de elementos nitos, por lo que no lo consideraremos en aras de la
simplicidad.
Observacin. Las condiciones de contorno del tipo u(0) = , u(1) = se denominan condi-
ciones de tipo Dirichlet: en ellas se impone el valor que ha de tener la solucin en los extremos
del dominio [0, 1]. Otro tipo habitual de condiciones de contorno son las condiciones de tipo
Neumann, en las que se especican los valores de la derivada de la solucin en los extremos:
u

(0) = , u

(1) = . Ambos tipos de condiciones de contorno pueden combinarse, dando


lugar a condiciones de tipo mixto; por ejemplo, u(0) = , u

(1) = .
Aunque en esta seccin slo estudiaremos el mtodo de elementos nitos para problemas
de tipo Dirichlet, dicho mtodo puede adaptarse para resolver problemas de tipo Neumann o
de tipo mixto.
Sea u C
2
([0, 1]) solucin del problema (1): diremos que u es una solucin fuerte. Multi-
pliquemos la ecuacin diferencial por una funcin arbitraria v C
1
([0, 1]) e integremos en el
intervalo [0, 1]:

_
1
0
u

(x)v(x) dx +
_
1
0
q(x)u(x)v(x) dx =
_
1
0
f (x)v(x) dx.
Supongamos adems que v(0) = v(1) = 0 e integremos por partes la primera integral:

_
1
0
u

(x)v(x) dx =
_
1
0
u

(x)v

(x) dx
_
u

(x)v(x)

1
0
=
_
1
0
u

(x)v

(x) dx.
De esta forma, obtenemos la ecuacin variacional asociada al problema (1):
_
1
0
u

(x)v

(x) dx +
_
1
0
q(x)u(x)v(x) dx =
_
1
0
f (x)v(x) dx,
para cada funcin v C
1
([0, 1]) tal que v(0) = v(1) = 0.
Es importante notar que basta con suponer u C
1
([0, 1]) para que la ecuacin anterior
tenga sentido; de hecho es suciente con que las funciones u y v sean de clase C
1
a trozos y
veriquen las condiciones de contorno. Estos hechos motivan la introduccin del espacio V
formado por todas las funciones v de clase C
1
a trozos en [0, 1] que verican las condiciones
de contorno v(0) = v(1) = 0. Notemos que, en particular, la solucin u del problema (1)
pertenece a V.
La formulacin variacional o formulacin dbil del problema (1) consiste en hallar u V tal
que
_
1
0
u

(x)v

(x) dx +
_
1
0
q(x)u(x)v(x) dx =
_
1
0
f (x)v(x) dx, v V. (2)
En tal caso, diremos que u V es una solucin dbil o variacional; notemos que las condiciones
de contorno u(0) = u(1) = 0 se verican de forma automtica al pertenecer u al espacio V.
La principal dicultad que nos encontramos al intentar resolver la ecuacin variacional (2)
est en el hecho de que el espacio vectorial V es un espacio de dimensin innita; esto hace
que no sea factible una implementacin directa en el ordenador. El mtodo de aproximacin
variacional o mtodo de Galerkin se basa en considerar un subespacio V
h
de V de dimensin
4.3 Aproximacin variacional 97
nita, y a continuacin aproximar la solucin u de (2) por la solucin u
h
V
h
de la siguiente
ecuacin variacional discreta:
_
1
0
u

h
(x)v

h
(x) dx +
_
1
0
q(x)u
h
(x)v
h
(x) dx =
_
1
0
f (x)v
h
(x) dx, v
h
V
h
. (3)
Diremos que V
h
es el espacio de funciones test. La notacin V
h
hace referencia a que el espacio
va a depender del paso de malla elegido: mientras menor sea ste, mejor ser la aproximacin
de la solucin.
Supongamos que {
1
, . . . ,
n
} es una base del espacio V
h
, donde n es su dimensin. En tal
caso, cualquier elemento v
h
V
h
puede escribirse como combinacin lineal de los elementos
de dicha base:
v
h
(x) =
n

i=1
v
i

i
(x), v
1
, . . . , v
n
R.
Sustituyendo en (3), resulta:
_
1
0
u

h
(x)
_
n

i=1
v
i

i
(x)
_
dx +
_
1
0
q(x)u
h
(x)
_
n

i=1
v
i

i
(x)
_
dx =
_
1
0
f (x)
_
n

i=1
v
i

i
(x)
_
dx,
de donde
n

i=1
v
i
_
1
0
u

h
(x)

i
(x) dx +
n

i=1
v
i
_
1
0
q(x)u
h
(x)
i
(x) dx =
n

i=1
v
i
_
1
0
f (x)
i
(x) dx,
y por tanto
n

i=1
v
i
_
_
1
0
u

h
(x)

i
(x) dx +
_
1
0
q(x)u
h
(x)
i
(x) dx
_
=
n

i=1
v
i
_
1
0
f (x)
i
(x) dx.
Al ser los coecientes {v
1
, . . . , v
n
} arbitrarios, deducimos que la ecuacin (3) es equivalente a
_
1
0
u

h
(x)

i
(x) dx +
_
1
0
q(x)u
h
(x)
i
(x) dx =
_
1
0
f (x)
i
(x) dx, i = 1, . . . , n,
es decir, basta con que la ecuacin (3) se verique para los elementos
i
de la base.
Escribamos ahora la solucin buscada u
h
en la base {
1
, . . . ,
n
}:
u
h
(x) =
n

j=1
u
j

j
(x), u
1
, . . . , u
n
R.
Sustituyendo en la ecuacin anterior y razonando como antes, obtenemos:
n

j=1
u
j
_
1
0

i
(x)

j
(x) dx +
n

j=1
u
j
_
1
0
q(x)
i
(x)
j
(x) dx =
_
1
0
f (x)
i
(x) dx, i = 1, . . . , n,
o, lo que es lo mismo,
n

j=1
u
j
_
_
1
0

i
(x)

j
(x) dx +
_
1
0
q(x)
i
(x)
j
(x) dx
_
=
_
1
0
f (x)
i
(x) dx, i = 1, . . . , n.
98
Si denotamos
a
ij
=
_
1
0

i
(x)

j
(x) dx +
_
1
0
q(x)
i
(x)
j
(x) dx, f
i
=
_
1
0
f (x)
i
(x) dx,
podemos escribir la expresin anterior de la siguiente forma:
n

j=1
a
ij
u
j
= f
i
, i = 1, . . . , n.
Hemos obtenido as un sistema lineal de n ecuaciones y n incgnitas (a saber, los coecientes
u
i
de la solucin u
h
). En forma matricial, dicho sistema se escribe
AU = F,
donde
A =
_
_
_
_
_
a
11
a
12
a
1n
a
21
a
22
a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
a
nn
_
_
_
_
_
, U =
_
_
_
_
_
u
1
u
2
.
.
.
u
n
_
_
_
_
_
, F =
_
_
_
_
_
f
1
f
2
.
.
.
f
n
_
_
_
_
_
.
La solucin del sistema nos permitir construir la solucin del problema discreto (3). La
matriz A se denomina matriz de rigidez y F es el vector de cargas
4
, aunque en teora no tengan
signicado fsico alguno.
Observacin. La solucin U = (u
1
, . . . , u
n
)
T
del sistema lineal permite construir la solucin
numrica de la forma
u
h
(x) = u
1

1
(x) + u
2

2
(x) + + u
n

n
(x).
En este caso, dicha solucin numrica es una funcin y no un conjunto de valores aproxima-
dos, como suceda en el mtodo de diferencias nitas. Podemos por tanto usar u
h
(x) para
aproximar la solucin del problema de contorno en cualquier punto del intervalo [0, 1].
En resumen, hemos visto cmo la solucin del problema variacional (2) puede aproximar-
se mediante la solucin de un problema discreto (3), cuyo clculo se reduce a la resolucin de
un sistema lineal. En la siguiente seccin veremos cmo elegir los elementos
i
de la base de
forma adecuada para que el sistema pueda resolverse de la forma ms eciente posible.
4.4. Mtodo de elementos nitos
El mtodo de elementos nitos se basa en aproximar, mediante el mtodo de Galerkin, la
solucin variacional del problema (1) haciendo una eleccin adecuada de los elementos del
espacio de discretizacin V
h
. Dicha eleccin se realiza intentando que la matriz del sistema
resultante tenga una estructura lo ms sencilla posible.
Observacin. En las aplicaciones prcticas, las matrices que resultan de realizar el proceso
de discretizacin detallado en la seccin anterior pueden tener miles, o incluso millones de
elementos. La resolucin de sistemas de tales tamaos requieren el uso de ordenadores de
gran potencia, as como la aplicacin de tcnicas matemticas adecuadas.
4.4 Mtodo de elementos nitos 99

i
x
i
x
i+1
x
i-1
Figura 4.3: Grca de la funcin de base
i
(x).
Consideremos una discretizacin del intervalo [0, 1],
0 = x
0
< x
1
< < x
N1
< x
N
= 1,
con paso de malla h =
1
N
. Para cada i = 1, . . . , N 1, consideremos la funcin de base
i
(x)
denida como

i
(x) =
_

_
x x
i1
h
si x
i1
x x
i
,
x
i+1
x
h
si x
i
x x
i+1
,
0 en otro caso,
cuya grca se representa en la gura 4.3. Cada
i
(x) es una funcin de clase C
1
a trozos,
cuya derivada es

i
(x) =
_

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

1
h
si x
i
< x < x
i+1
,
0 en otro caso.
Ntese que las funciones
i
(x) y

i
(x) se anulan fuera del intervalo (x
i1
, x
i+1
).
Puede demostrarse que la familia de funciones {
1
, . . . ,
N1
} constituyen una base del
subespacio vectorial V
h
formado por las funciones continuas y lineales a trozos en [0, 1] que
se anulan en los extremos x = 0 y x = 1; en particular, la dimensin de V
h
es n = N 1.
Observacin. Para condiciones de contorno de tipo Neumann es necesario aadir dos fun-
ciones de base adicionales,
0
(x) y
N
(x), para imponer las condiciones de contorno en cada
uno de los extremos del intervalo. Asimismo, el espacio de funciones test V
h
debe modicarse
de manera adecuada.
4
La terminologa proviene de la Mecnica de Slidos, que es el rea donde se desarroll el mtodo de elementos
nitos en la dcada de los cincuenta del pasado siglo, concretamente en la industria aeronutica.
100
A continuacin vamos a calcular los coecientes a
ij
de la matriz A, as como los trminos
independientes f
i
. Por simplicidad, a partir de ahora supondremos que las funciones q(x) y
f (x) son constantes: q(x) q, f (x) f .
Observacin. Cuando las funciones q(x) y f (x) no son constantes, es necesario utilizar frmu-
las de cuadratura para aproximar numricamente las integrales que aparecen en la denicin
de los coecientes a
ij
y f
i
.
Fijado un subndice arbitrario i, notemos que
i
(x)
j
(x) 0 si j = i 1, i, i +1, ya que en
tal caso los conjuntos donde
i
(x) y
j
(x) no se anulan no tienen puntos en comn (vase la
gura 4.4); lo mismo sucede para el producto de las derivadas.
x
i
x
i+1
x
i-1

i
x
i
x
j

j
x
i
x
i+1
x
i-1

i
x
i-2

i-1
x
i+2

i+1

i
(a) (b) (c)
Figura 4.4: (a)
i

i1
= 0 en [x
i1
, x
i
]; (b)
i

i+1
= 0 en [x
i
, x
i+1
]; (c)
i

j
0 si j = i 1, i, i + 1.
Por otro lado, resulta que
_
1
0

i
(x)
i
(x) dx =
_
x
i+1
x
i1
(
i
(x))
2
dx =
_
x
i
x
i1
_
x x
i1
h
_
2
dx +
_
x
i+1
x
i
_
x
i+1
x
h
_
2
dx =
2h
3
,
teniendo en cuenta que x
i1
= x
i
h y x
i+1
= x
i
+ h. De forma similar, se obtienen las
igualdades
_
1
0

i
(x)
i1
(x) dx =
_
x
i
x
i1
x
i
x
h

x x
i1
h
dx =
h
6
,
y
_
1
0

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

x
i+1
x
h
dx =
h
6
.
Razonando de manera anloga, se deducen las siguientes expresiones:
_
1
0

i
(x)

i
(x) dx =
2
h
,
_
1
0

i
(x)

i1
(x) dx =
1
h
,
_
1
0

i
(x)

i+1
(x) dx =
1
h
.
Finalmente, deducimos las frmulas para los coecientes a
ij
:
a
ij
=
_

_
2
h
+
2
3
qh si j = i,

1
h
+
1
6
qh si j = i 1 o j = i + 1,
0 en otro caso.
4.4 Mtodo de elementos nitos 101
Por otra parte, notemos que
_
1
0

i
(x) dx =
_
x
i
x
i1
x x
i1
h
dx +
_
x
i+1
x
i
x
i+1
x
h
dx =
h
2
+
h
2
= h,
lo que implica que todos los coecientes f
i
tienen la siguiente forma:
f
i
= f h, i = 1, . . . , N 1.
A partir de los resultados obtenidos, podemos escribir el sistema lineal que dene el m-
todo de elementos nitos como sigue:
_
_
_
_
_
_
_
_
_
_
_
_
2 +
2
3
qh
2
1 +
1
6
qh
2
0 0 0
1 +
1
6
qh
2
2 +
2
3
qh
2
1 +
1
6
qh
2
0 0
0 1 +
1
6
qh
2
2 +
2
3
qh
2
1 +
1
6
qh
2
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 1 +
1
6
qh
2
2 +
2
3
qh
2
1 +
1
6
qh
2
0 0 1 +
1
6
qh
2
2 +
2
3
qh
2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
u
1
u
2
u
3
.
.
.
u
N2
u
N1
_
_
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
_
h
2
f
h
2
f
h
2
f
.
.
.
h
2
f
h
2
f
_
_
_
_
_
_
_
_
_
_
_
_
.
La matriz A es simtrica y tridiagonal, lo que la hace especialmente adecuada a la hora de
resolver numricamente el sistema lineal.
Ejemplo 4.2. Consideremos el problema de contorno
_

_
u

(x) + u(x) = 2, x [0, 1],


u(0) = 0,
u(1) = 0,
que tiene como solucin exacta la funcin
u(x) =
2
1 + e
(e
x
+ e
1x
) + 2.
Para construir la formulacin variacional del problema, multiplicamos la ecuacin dife-
rencial por una funcin arbitraria v(x), que sea de clase C
1
a trozos en [0, 1] y verique
v(0) = v(1) = 0, y a continuacin integramos en [0, 1]:

_
1
0
u

(x)v(x) dx +
_
1
0
u(x)v(x) dx =
_
1
0
2v(x) dx.
Integrando por partes el primer sumando,

_
1
0
u

(x)v(x) dx =
_
u

(x)v(x)

1
0
+
_
1
0
u

(x)v

(x) dx,
y teniendo en cuanta que v(0) = v(1) = 0, resulta:

_
1
0
u

(x)v(x) dx =
_
1
0
u

(x)v

(x) dx.
102
De esta forma, deducimos la siguiente igualdad:
_
1
0
u

(x)v

(x) dx +
_
1
0
u(x)v(x) dx =
_
1
0
2v(x) dx.
Denamos V como el espacio vectorial formado por todas las funciones v(x) de clase C
1
a trozos en [0, 1] y que verican v(0) = v(1) = 0. La formulacin variacional del problema es
entonces la siguiente: hallar u V tal que
_
1
0
u

(x)v

(x) dx +
_
1
0
u(x)v(x) dx =
_
1
0
2v(x) dx, v V.
El siguiente paso consiste en discretizar la ecuacin variacional. Para ello, consideremos
una particin del intervalo [0, 1] con N = 4; de esta forma, el paso de malla es h =
1
4
y los
nodos vienen dados por x
0
= 0, x
1
=
1
4
, x
2
=
1
2
, x
3
=
3
4
y x
4
= 1. Las correspondientes
funciones de base {
1
(x),
2
(x),
3
(x)} se representan en la gura 4.5.
1/2 3/4 1/4

2
0

1

3
1
Figura 4.5: Funciones de base para h =
1
4
.
Sea V
h
el subespacio vectorial de V formado por todas las funciones v
h
(x) de la forma
v
h
(x) = v
1

1
(x) + v
2

2
(x) + v
3

3
(x),
siendo v
1
, v
2
, v
3
R valores arbitrarios. El espacio V
h
est formado por todas las funciones
poligonales que se anulan en x = 0 y x = 1, y cuyos posibles puntos de no derivabilidad se
localizan en los nodos internos x
1
=
1
4
, x
2
=
1
2
y x
3
=
3
4
.
La formulacin variacional discreta del problema es la siguiente: determinar u
h
V
h
tal
que
_
1
0
u

h
(x)v

h
(x) dx +
_
1
0
u
h
(x)v
h
(x) dx =
_
1
0
2v
h
(x) dx, v
h
V
h
.
Tomemos un elemento arbitrario v
h
(x) = v
1

1
(x) +v
2

2
(x) +v
3

3
(x) en V
h
y sustituymoslo
4.4 Mtodo de elementos nitos 103
en la ecuacin variacional:
_
1
0
u

h
(x)(v
1

1
(x) + v
2

2
(x) + v
3

3
(x)) dx+
_
1
0
u
h
(x)(v
1

1
(x) + v
2

2
(x) + v
3

3
(x)) dx
=
_
1
0
2(v
1

1
(x) + v
2

2
(x) + v
3

3
(x)) dx.
Reagrupando los trminos, resulta:
v
1
_
_
1
0
u

h
(x)

1
(x) dx +
_
1
0
u
h
(x)
1
(x) dx
_
+
v
2
_
_
1
0
u

h
(x)

2
(x) dx +
_
1
0
u
h
(x)
2
(x) dx
_
+
v
3
_
_
1
0
u

h
(x)

3
(x) dx +
_
1
0
u
h
(x)
3
(x) dx
_
= v
1
_
1
0
2
1
(x) dx + v
2
_
1
0
2
2
(x) dx + v
3
_
1
0
2
3
(x) dx.
Tomemos ahora v
1
= 1, v
2
= v
3
= 0; en tal caso, de la igualdad anterior se deduce:
_
1
0
u

h
(x)

1
(x) dx +
_
1
0
u
h
(x)
1
(x) dx =
_
1
0
2
1
(x) dx.
Para v
1
= v
3
= 0 y v
2
= 1 se obtiene la ecuacin
_
1
0
u

h
(x)

2
(x) dx +
_
1
0
u
h
(x)
2
(x) dx =
_
1
0
2
2
(x) dx,
mientras que
_
1
0
u

h
(x)

3
(x) dx +
_
1
0
u
h
(x)
3
(x) dx =
_
1
0
2
3
(x) dx
resulta al elegir v
1
= v
2
= 0 y v
3
= 1.
Como la solucin buscada u
h
es un elemento de V
h
, podemos escribirla en la forma
u
h
(x) = u
1

1
(x) + u
2

2
(x) + u
3

3
(x),
donde {u
1
, u
2
, u
3
} son incgnitas a determinar. Sustituyendo la expresin de u
h
en la primera
de las tres ecuaciones anteriores, se obtiene:
_
1
0
(u
1

1
(x) + u
2

2
(x) + u
3

3
(x))

1
(x) dx+
_
1
0
(u
1

1
(x) + u
2

2
(x) + u
3

3
(x))
1
(x) dx
=
_
1
0
2
1
(x) dx,
104
de donde
u
1
_
_
1
0

1
(x)

1
(x) dx +
_
1
0

1
(x)
1
(x) dx
_
+
u
2
_
_
1
0

1
(x)

2
(x) dx +
_
1
0

1
(x)
2
(x) dx
_
+
u
3
_
_
1
0

1
(x)

3
(x) dx +
_
1
0

1
(x)
3
(x) dx
_
=
_
1
0
2
1
(x) dx.
Si denimos
a
ij
=
_
1
0

i
(x)

j
(x) dx +
_
1
0

i
(x)
j
(x) dx, f
i
=
_
1
0
2
i
(x) dx,
la expresin anterior puede escribirse como:
a
11
u
1
+ a
12
u
2
+ a
13
u
3
= f
1
.
De manera totalmente anloga, pueden deducirse las ecuaciones
a
21
u
1
+ a
22
u
2
+ a
23
u
3
= f
2
y
a
31
u
1
+ a
32
u
2
+ a
33
u
3
= f
3
.
Los coecientes a
ij
y f
i
se determinan explcitamente:
a
11
= a
22
= a
33
=
49
24
, a
12
= a
21
= a
23
= a
32
=
95
96
, a
13
= a
31
= 0, f
1
= f
2
= f
3
=
1
8
.
En resumen, las incgnitas {u
1
, u
2
, u
3
} se obtienen como solucin de un sistema lineal de
tres ecuaciones, que en forma matricial se escribe como
_
_
_
49
24

95
96
0

95
96
49
24

95
96
0
95
96
49
24
_
_
_
_
_
_
u
1
u
2
u
3
_
_
_ =
_
_
_
1
8
1
8
1
8
_
_
_.
Obviamente, dicho sistema corresponde al caso general con q = 1 y f = 2.
La solucin del sistema viene dada por
u
1
0,171462, u
2
0,227438, u
3
0,171462.
El error e
i
= |u(x
i
) u
i
| cometido en cada nodo interior puede determinarse en este caso, ya
que conocemos la solucin exacta:
e
1
0,000815, e
2
0,001076, e
3
0,000815.
El error global cometido es pues e = m ax(e
1
, e
2
, e
3
) 0,001076.
Los resultados obtenidos se representan en la gura 4.6, que ha sido generada con el
siguiente cdigo Sage:
4.4 Mtodo de elementos nitos 105
Figura 4.6: Ejemplo 4.2: solucin exacta y valores aproximados.
sage: # Ejemplo 4.2
sage: #
sage: ### Metodo de elementos finitos ###
sage: #
sage: # Ecuacio n: -u +qu=f(x), a<x<b.
sage: # Condiciones de contorno de tipo Dirichlet:
sage: # u(a)=0, u(b)=0.
sage: #
sage: #
sage: # Datos del problema
sage: #
sage: a = 0. # extremo inferior del intervalo
sage: b = 1. # extremo superior del intervalo
sage: #
sage: N = 4 # numero de particiones
sage: #
sage: q = 1. # coeficiente de u
sage: f(x) = 2. # termino independiente
sage: #
sage: alpha = 0. # c. contorno izquierda
sage: beta = 0. # c. contorno derecha
sage: #
sage: ### Implementacio n del metodo ###
sage: #
sage: h = (b-a)/N # paso de malla
sage: #
sage: X = vector ([a+j*h for j in range(N+1)]) # mallado
sage: U = vector ([0. for i in range(N+1)]) # solucio n
sage: #
sage: # condiciones de contorno
sage: U[0] = alpha
sage: U[N] = beta
sage: #
sage: # termino independiente
sage: F = vector ([0. for i in range(N-1)])
sage: for i in range(1, N):
106
... aux = integral(f(x)*(x-X[i-1])/h, x, X[i-1], X[i])
... aux += integral(f(x)*(X[i+1]-x)/h, x, X[i], X[i+1])
... F[i-1] = h*aux
sage: #
sage: # matriz del sistema
sage: A = matrix(RR, N-1, N-1)
sage: #
sage: for i in range(1, N-1):
... A[i-1, i-1] = 2.+(2/3)*q*h^2 # diagonal
... A[i-1, i] = -1.+(1/6)*q*h^2 # superdiagonal
... A[i, i-1] = -1.+(1/6)*q*h^2 # subdiagonal
sage: A[N-2, N-2] = 2.+(2/3)*q*h^2 # ultimo elemento de la diagonal
sage: #
sage: # solucio n del sistema lineal
sage: sol = A.inverse ()*F # U=A^(-1)*F
sage: #
sage: # actualizamos el vector U
sage: for i in range(N-1):
... U[i+1] = sol[i]
sage: #
sage: #################################
sage: #
sage: # dibujamos los puntos
sage: sol = zip(X, U)
sage: fig1 = list_plot(sol , color=blue, legend_label=aprox.)
sage: # y los unimos con segmentos
sage: fig1 += line(sol)
sage: #
sage: # Comparacio n con la solucio n exacta
sage: u = function(u, x)
sage: ec = -diff(u, x, 2) + q*u == f(x)
sage: sol = desolve(ec, u, ics=[a, alpha , b, beta])
sage: #
sage: fig2 = plot(sol , a, b, color=red, legend_label=exacta )
sage: (fig1+fig2).show()
Por ltimo, calculamos los errores cometidos en cada nodo:
sage: # Calculo de los errores en los nodos interiores
sage: err = [abs(U[j]-sol(X[j])) for j in range(1, N)]; err
[0.000815468791417362 , 0.00107565359683126 , 0.000815467679347037]
as como el error global:
sage: # Error global
sage: max(err)
0.00107565359683126
4.5. Algunos comentarios
Los mtodos numricos estudiados en las secciones precedentes pueden aplicarse para la
resolucin de problemas de contorno no lineales, de la forma
_

_
y

= f (x, y, y

), x [a, b],
y(a) = ,
y(b) = ,
4.6 Aplicacin: deexin de vigas empotradas 107
o con otros tipos de condiciones de contorno. En tal caso, la solucin numrica se determina
a partir de la solucin de un sistema de ecuaciones no lineales, que debe resolverse mediante
tcnicas matemticas apropiadas. El estudio de tales cuestiones queda fuera del alcance de
este curso, por lo que no insistiremos ms en ellas.
Los problemas que surgen en las aplicaciones prcticas suelen modelizarse mediante ecua-
ciones en derivadas parciales, tanto estacionarias como de evolucin (dependientes del tiempo),
en dominios bi- o tridimensionales. Tanto el mtodo de diferencias nitas como el de elemen-
tos nitos pueden extenderse para resolver problemas de esta ndole, siendo el mtodo de
elementos nitos el ms extendido debido a su mayor exibilidad y capacidad de adaptacin
a problemas en dominios complejos. Tanto el estudio terico de ecuaciones en derivadas par-
ciales como su resolucin numrica por el mtodo de elementos nitos requieren de tcnicas
matemticas avanzadas, por lo que no entraremos en ms detalles.
Existen varios paquetes informticos profesionales para aplicar el mtodo de elementos
nitos, especialmente en las reas de Clculo de Estructuras y Mecnica de Fluidos. Queremos
mencionar aqu la existencia del programa gratuito de cdigo abierto FreeFem++, que puede
descargarse desde la pgina web www.freefem.org/ff++/. Este programa permite resolver
diversos tipos de ecuaciones en derivadas parciales, con distintas clases de condiciones de
contorno, en dos y tres dimensiones. En las guras 4.7 y 4.8 se muestran ejemplos realizados
con FreeFem++.
Figura 4.7: Deexin, debido a su propio peso, de una viga tridimensional empotrada en un extremo.
4.6. Aplicacin: deexin de vigas empotradas
Vamos a estudiar la deformacin sufrida por una viga empotrada, con cargas axiales y
transversales. Bajo la hiptesis de pequeas deformaciones (esto es, y

(x) 0), la deformacin


108
Figura 4.8: Comportamiento termodinmico del patio del hotel Monte Mlaga.
sufrida por la viga es solucin del siguiente problema de contorno:
_

_
y

(x)
Q
EI
y(x) =
M(x)
EI
, x [0, L],
y(0) = 0,
y(L) = 0,
siendo Q la carga axial, E el mdulo de elasticidad, I el momento de inercia, M(x) el momento
ector y L la longitud de la viga. Si suponemos que la carga P est uniformemente distribuida,
el momento ector viene dado en este caso por
M(x) =
P
2
x(L x).
P
L
Q Q
Figura 4.9: Deexin de una viga empotrada con cargas axiales y transversales: esquema.
En la gura 4.10 se representan los resultados obtenidos con el mtodo de diferencias
nitas al considerar diferentes cargas axiales. Los valores de los parmetros son L = 2 m,
4.6 Aplicacin: deexin de vigas empotradas 109
Figura 4.10: Viga empotrada con diferentes cargas axiales.
E = 2 10
11
N/m
2
, I = 7,85 10
9
m
4
y P = 150; para Q se han tomado los valores 100, 500 y
1000. Los clculos han sido realizados usando N = 20 particiones.
A continuacin se muestra un cdigo Sage para resolver el problema considerado:
sage: # Deflexio n de vigas con cargas axiales y transversales
sage: # ------------------------------------------------------
sage: #
sage: # Ecuacio n: y- Q/(EI)y=M(x)/(EI) en [0, L].
sage: # Condiciones de contorno: y(0)=0, y(L)=0.
sage: #
sage: # Metodo: diferencias finitas
sage: #
sage: # Datos del problema
sage: #
sage: L = 2. # longitud de la viga
sage: Q = 100. # carga axial
sage: E = 2.e11 # modulo de elasticidad
sage: I = 7.85e-9 # momento de inercia
sage: P = 150. # carga transversal
sage: #
sage: a = 0. # extremo inferior del intervalo
sage: b = L # extremo superior del intervalo
sage: #
sage: N = 20 # numero de particiones
sage: #
sage: p(x) = 0. # coeficiente de y
sage: q(x) = -Q/(E*I) # coeficiente de y
sage: r(x) = 0.5*P*x*(L-x)/(E*I) # termino independiente
sage: #
sage: alpha = 0. # c. contorno izquierda
sage: beta = 0. # c. contorno derecha
sage: #
sage: ### Implementacio n del metodo ###
sage: #
sage: h = (b-a)/N # paso de malla
sage: #
110
sage: X = vector ([a+j*h for j in range(N+1)]) # mallado
sage: Y = vector ([0. for j in range(N+1)]) # solucio n
sage: #
sage: # condiciones de contorno
sage: Y[0] = alpha
sage: Y[N] = beta
sage: #
sage: # termino independiente
sage: B = vector ([(-h^2)*r(X[j+1]) for j in range(N-1)])
sage: B[0] += alpha *(1 -0.5*h*p(X[1]))
sage: B[N-2] += beta *(1+0.5*h*p(X[N -1]))
sage: #
sage: # matriz del sistema
sage: A = matrix(RR, N-1, N-1)
sage: #
sage: for j in range(1, N-1):
... A[j-1, j-1] = 2.-q(X[j])*h^2 # diagonal
... A[j-1, j] = -1.-0.5*h*p(X[j]) # superdiagonal
... A[j, j-1] = -1.+0.5*h*p(X[j]) # subdiagonal
sage: A[N-2, N-2] = 2.-q(X[N -1])*h^2 # ultimo elemento de la diagonal
sage: #
sage: # solucio n del sistema lineal
sage: sol = A.inverse ()*B # y=A^(-1)*B
sage: #
sage: # actualizacio n del vector y
sage: for j in range(0, N-1):
... Y[j+1] = sol[j]
sage: #
sage: #################################
sage: #
sage: # dibujamos los puntos
sage: sol = zip(X, Y)
sage: fig = list_plot(sol)
sage: # los unimos con segmentos
sage: fig += line(sol)
sage: # y mostramos el resultado
sage: fig.show()
Para aplicar el mtodo de elementos nitos, reescribimos la ecuacin diferencial de la
siguiente forma:
u

(x) + q u(x) = f (x),


donde u y, q =
Q
EI
y f (x) =
M(x)
EI
. Como era de esperar, al aplicar el mtodo de elemen-
tos nitos se obtienen resultados totalmente anlogos a los de la gura 4.10. El cdigo Sage
correspondiente es el siguiente:
sage: # Deflexio n de vigas con cargas axiales y transversales
sage: # ------------------------------------------------------
sage: #
sage: # Ecuacio n: -u + Q/(EI)u=-M(x)/(EI) en [0, L].
sage: # Condiciones de contorno: u(0)=0, u(L)=0.
sage: #
sage: # Metodo: elementos finitos
sage: #
sage: # Datos del problema
sage: #
sage: L = 2. # longitud de la viga
sage: Q = 100. # carga axial
4.6 Aplicacin: deexin de vigas empotradas 111
sage: E = 2.e11 # modulo de elasticidad
sage: I = 7.85e-9 # momento de inercia
sage: P = 150. # carga transversal
sage: #
sage: a = 0. # extremo inferior del intervalo
sage: b = L # extremo superior del intervalo
sage: #
sage: N = 20 # numero de particiones
sage: #
sage: q = Q/(E*I) # coeficiente de u
sage: r(x) = -0.5*P*x*(L-x)/(E*I) # termino independiente
sage: #
sage: alpha = 0. # c. contorno izquierda
sage: beta = 0. # c. contorno derecha
sage: #
sage: ### Implementacio n del metodo ###
sage: #
sage: h = (b-a)/N # paso de malla
sage: #
sage: X = vector ([a+j*h for j in range(N+1)]) # mallado
sage: U = vector ([0. for i in range(N+1)]) # solucio n
sage: #
sage: # condiciones de contorno
sage: U[0] = alpha
sage: U[N] = beta
sage: #
sage: # termino independiente
sage: F = vector ([0. for i in range(N-1)])
sage: for i in range(1, N):
... aux = integral(f(x)*(x-X[i-1])/h, x, X[i-1], X[i])
... aux += integral(f(x)*(X[i+1]-x)/h, x, X[i], X[i+1])
... F[i-1] = h*aux
sage: #
sage: # matriz del sistema
sage: A = matrix(RR, N-1, N-1)
sage: #
sage: for i in range(1, N-1):
... A[i-1, i-1] = 2.+(2/3)*q*h^2 # diagonal
... A[i-1, i] = -1.+(1/6)*q*h^2 # superdiagonal
... A[i, i-1] = -1.+(1/6)*q*h^2 # subdiagonal
sage: A[N-2, N-2] = 2.+(2/3)*q*h^2 # ultimo elemento de la diagonal
sage: #
sage: # solucio n del sistema lineal
sage: sol = A.inverse ()*F # U=A^(-1)*F
sage: #
sage: # actualizamos el vector U
sage: for i in range(N-1):
... U[i+1] = sol[i]
sage: #
sage: #################################
sage: #
sage: # dibujamos los puntos
sage: points = zip(X, U)
sage: fig = list_plot(points)
sage: # los unimos con segmentos
sage: fig += line(points)
sage: # y mostramos el resultado
sage: fig.show()
112
Ntese que el trmino independiente no es constante en este caso, por lo que se han calculado
numricamente las integrales correspondientes.
4.6 Aplicacin: deexin de vigas empotradas 113
114
5. Probabilidad y Estadstica
5.1. Introduccin
Es bien sabido que la experimentacin constituye una parte fundamental de la Ciencia y la
Ingeniera. A la hora de realizar un experimento, esperamos obtener resultados similares bajo
condiciones esencialmente idnticas. En este tipo de experimentos, denominados deterministas,
es posible controlar el valor de las variables involucradas en el experimento.
Por el contrario, existen experimentos en los que no es posible controlar el valor de cier-
tas variables. De esta forma, el resultado puede variar de una repeticin del proceso a la
siguiente, aunque las condiciones sean bsicamente las mismas. Este tipo de experimentos se
denominan aleatorios (del latn aleatorius, propio del juego de dados). Un ejemplo tpico sera
el lanzamiento de una moneda, en el que a priori no es posible determinar si el resultado ser
cara o cruz.
Un espacio muestral asociado a un experimento aleatorio est formado por todos los posi-
bles resultados del mismo. En el ejemplo de la moneda, el espacio muestral sera el conjunto
{cara, cruz}, que tambin podra representarse como {0, 1} si usamos nmeros. Un experi-
mento puede tener distintos espacios muestrales, de entre los cuales debemos elegir aquel
que proporcione mayor informacin.
Ejemplo 5.1. Dos espacios muestrales distintos para el experimento aleatorio del lanzamiento
de un dado seran los conjuntos {1, 2, 3, 4, 5, 6} y {par, impar}. Este ltimo espacio muestral
no sera adecuado para estudiar, por ejemplo, si el resultado obtenido al lanzar el dado es
mltiplo de tres.
Un suceso o evento es un subconjunto A del espacio muestral S, es decir, un conjunto
de resultados posibles. Si al realizar un experimento el resultado pertenece al conjunto A,
diremos que es suceso ocurri.
Ejemplo 5.2. Al lanzar una moneda dos veces podemos considerar el espacio muestral
S = {(0, 0), (1, 0), (0, 1), (1, 1)},
donde 0 representa cara y 1 cruz. El subconjunto A = {(1, 0), (0, 1)} representa el suceso de
que salga una nica cara en los dos lanzamientos.
Se dene el suceso seguro como aquel que siempre sucede: A = S. Por el contrario, el suceso
imposible es aquel que nunca puede suceder: A = . Dados dos sucesos A y B, se denen los
siguientes eventos:
A B (unin): ocurre cuando se da A, B o ambos.
A B (interseccin): ocurre cuando se dan a la vez A y B.
A
c
o A

(complementario): ocurre cuando no se da A.


Este tema est basado casi por completo en el libro Probabilidad y Estadstica, de M.R. Spiegel, publicado en la
editorial McGraw-Hill.
5.2 Probabilidad bsica 115
AB (diferencia): ocurre cuando se da A pero no B; es equivalente a AB
c
. En particular,
A
c
= S A.
Si A B = , diremos que los sucesos son excluyentes. Las deniciones anteriores pueden
generalizarse para ms de dos conjuntos de sucesos.
Ejemplo 5.3. Consideremos de nuevo el experimento de lanzar dos veces una moneda. Sea A
el suceso sacar al menos una cara y sea B el evento el segundo lanzamiento es cruz. En tal
caso, si 0 representa cara y 1 cruz, tenemos que A = {(0, 0), (0, 1), (1, 0)} y B = {(0, 1), (1, 1)}.
Por tanto,
A B = {(0, 0), (0, 1), (1, 0), (1, 1)} = S, A B = {(0, 1)}, A
c
= {(1, 1)}
y
A B = {(0, 0), (1, 0)}.
5.2. Probabilidad bsica
En un experimento aleatorio siempre existe incertidumbre sobre si ocurrir o no un cierto
suceso. Para cuanticar dicha incertidumbre, vamos a asignar un nmero entre 0 y 1 como
medida de la probabilidad de que dicho evento suceda.
Observacin. Tambin es posible utilizar porcentajes para denir la probabilidad de un even-
to. De esta forma, podemos decir que la probabilidad de un suceso es de
1
4
o del 25 %.
Supongamos que un experimento aleatorio admite n resultados igualmente probables. Si
un determinado suceso A puede ocurrir de m formas distintas, diremos que la probabilidad de
A es
m
n
, y lo denotaremos como
p(A) =
m
n
.
Es obvio que p(A) [0, 1].
Ejemplo 5.4. Supongamos que queremos calcular la probabilidad de obtener un cinco al lan-
zar un dado. Como hay seis resultados posibles (n = 6) y slo uno de ellos es un cinco (m = 1),
su probabilidad ser entonces de
1
5
. Para que el razonamiento anterior tenga sentido es ne-
cesario que el dado no est cargado: todas las caras deben tener las mismas posibilidades de
salir.
Observacin. Este enfoque clsico de la probabilidad no es riguroso desde un punto de vista
matemtico; por ejemplo, qu signica igualmente probables? Baste decir que existe un
enfoque axiomtico del concepto de probabilidad que permite formalizar la idea intuitiva que
hemos presentado aqu.
Dados dos sucesos A, B S, se verican las siguientes propiedades:
p(S) = 1 y p() = 0.
p(A B) = p(A) + p(B) si A B = .
116
Si A B entonces p(A) p(B).
p(A
c
) = 1 p(A).
p(A B) = p(A) + p(B) p(A B).
Ejemplo 5.5. Volvamos al ejemplo 5.3 en el que se lanzaba dos veces una misma moneda y se
consideraban los sucesos A sacar al menos una cara y B el segundo lanzamiento es cruz.
Se verica entonces que p(A) =
3
4
, ya que haba tres formas distintas de sacar al menos una
cara y cuatro resultados posibles. De manera anloga, p(B) =
2
4
=
1
2
. Asimismo,
p(A B) = p(S) = 1, p(A B) =
1
4
, p(A
c
) = 1 p(A) =
1
4
.
La probabilidad de A B puede deducirse tambin usando la ltima propiedad:
p(A B) = p(A) + p(B) p(A B) =
3
4
+
1
2
1 =
1
4
.
Supongamos que el espacio muestral S consta de n elementos distintos,
S = {a
1
, a
2
, . . . , a
n
},
y denamos los sucesos elementales A
i
= {a
i
}, i = 1, . . . , n. Se verica entonces que
p(S) = p(A
1
) + p(A
2
) + + p(A
n
) = 1.
Si todos los sucesos elementales A
i
son igualmente probables, podemos denir entonces
p(A
i
) =
1
n
, i = 1, . . . , n.
Si ahora A es un suceso formado por m sucesos elementales, entonces su probabilidad ser
p(A) =
1
n
+
(m)
+
1
n
=
m
n
.
Mediante este procedimiento de asignacin de probabilidades recuperamos la denicin cl-
sica introducida anteriormente.
Ejemplo 5.6. En el lanzamiento de un dado existen seis sucesos elementales, correspondientes
a cada una de las caras del dado; esto es, S = {1, 2, 3, 4, 5, 6} y A
i
= {i} para i = 1, 2, 3, 4, 5, 6.
De esta forma, la probabilidad de cada suceso elemental es p(A
i
) =
1
6
.
Sea ahora A el suceso sacar un tres o un cinco. Dicho evento puede escribirse como
unin de dos sucesos elementales: A = A
3
A
5
= {3, 5}, por lo que su probabilidad puede
calcularse como p(A) =
2
6
=
1
3
.
Vamos a terminar esta seccin introduciendo el importante concepto de probabilidad con-
dicionada. Supongamos que A y B son sucesos, con p(A) > 0, y denotemos por p(B|A) a la
probabilidad de que suceda B supuesto que A ya sucedi. Al saber que A ocurri, ste pasa a
ser el nuevo espacio muestral, por lo que
p(B|A) =
p(A B)
p(A)
.
A p(B|A) se le llama la probabilidad condicionada de B dado A.
5.3 Distribuciones de probabilidad 117
Ejemplo 5.7. Se lanza un dado y se considera el suceso B sacar un nmero menor que 4. Es
claro que la probabilidad de B es
p(B) = p(1) + p(2) + p(3) =
1
6
+
1
6
+
1
6
=
3
6
=
1
2
.
Supongamos ahora que sabemos que el dado cay en nmero impar. Si A es el suceso ser
impar, entonces p(A) =
3
6
=
1
2
y p(A B) = p(1) + p(3) =
2
6
=
1
3
. Por tanto, la probabilidad
de B sabiendo que A sucedi es
p(B|A) =
p(A B)
p(A)
=
1/3
1/2
=
2
3
.
Diremos que los sucesos A y B son independientes si la probabilidad de que ocurra B no
se ve afectada por la ocurrencia o no de A. En otras palabras, A y B son independientes si
p(B|A) = p(B) o, lo que es lo mismo,
p(A B) = p(A) p(B).
Ejemplo 5.8. Se lanza un dado dos veces. Vamos a determinar la probabilidad de que en el
primer lanzamiento salga 4, 5 o 6 (suceso A), y en el segundo 1, 2, 3 o 4 (suceso B). Como la
realizacin del primer lanzamiento no inuye en el segundo, los sucesos son independientes.
Por tanto, la probabilidad de A B puede calcularse como
p(A B) = p(A) p(B) =
3
6

4
6
=
1
3
.
5.3. Distribuciones de probabilidad
Supongamos que a cada punto de un espacio muestral S le asociamos un nmero. De esta
forma tenemos denida una funcin sobre S, que llamaremos variable aleatoria o estocstica (del
griego o, hbil en conjeturar). Es usual denotar a las variables aleatorias con las
letras X o Y.
Ejemplo 5.9. Al lanzar una moneda dos veces, podemos considerar el espacio muestral S del
ejemplo 5.3. Si X es el nmero de caras (representas por 0) que pueden salir, podemos asignar
los siguientes valores:
(0, 0) 2, (1, 0) 1, (0, 1) 1, (1, 1) 0.
Por tanto, X es una variable aleatoria.
Una variable aleatoria es discreta si toma un nmero nito o innito numerable de valores.
En caso contrario la variable se dice no discreta.
Sea X un variable aleatoria discreta que toma los valores {x
1
, x
2
, . . . }. Supongamos que
cada valor x
i
tiene una cierta probabilidad f (x
i
); denotaremos este hecho as:
p(X = x
i
) = f (x
i
), i = 1, 2, . . .
118
Se dene la funcin o distribucin de probabilidad de la variable X como
p(X = x) = f (x).
De esta forma, para cada x = x
i
se obtiene la probabilidad de x
i
, mientras que para otros
valores de x se tiene f (x) = 0. Dicho de otro modo, f (x) nos dice la probabilidad de que la
variable X tome el valor x.
Ejemplo 5.10. Calculemos la distribucin de probabilidad de la variable X en el ejemplo 5.9.
Es claro que, si la moneda no est trucada,
p(0, 0) =
1
4
, p(1, 0) =
1
4
, p(0, 1) =
1
4
, p(1, 1) =
1
4
.
Entonces,
p(X = 0) = p(1, 1) =
1
4
, p(X = 1) = p(1, 0) + p(0, 1) =
1
2
, p(X = 2) = p(0, 0) =
1
4
.
Se obtiene as la funcin discreta
f (x) =
_

_
1
4
si x = 0,
1
2
si x = 1,
1
4
si x = 2,
0 en otro caso.
La funcin de distribucin acumulada, o simplemente funcin de distribucin para una variable
aleatoria X se dene como
F(x) = p(X x), x R.
Es decir, F(x) nos da la probabilidad de que la variable X tome un valor menor o igual a x,
siendo x un nmero real arbitrario.
Cuando X es una variable discreta con funcin de probabilidad f (x), podemos escribir
F(x) = p(X x) =

ux
f (u),
donde el sumatorio se realiza sobre todos aquellos valores u que toma X tales que u x.
En el caso particular en que X tome un nmero nito de valores {x
1
, . . . , x
n
}, la funcin de
distribucin tiene la siguiente forma:
F(x) =
_

_
0 si < x < x
1
,
f (x
1
) si x
1
x < x
2
,
f (x
1
) + f (x
2
) si x
2
x < x
3
,
.
.
.
.
.
.
f (x
1
) + + f (x
n
) si x
n
x < .
5.3 Distribuciones de probabilidad 119
Ejemplo 5.11. La funcin de distribucin de la variable aleatoria X del ejemplo 5.10 viene
dada por
F(x) =
_

_
0 si < x < 0,
1
4
si 0 x < 1,
3
4
si 1 x < 2,
1 si 2 x < .
La representacin grca de F(x), que es una funcin escalonada montona creciente, puede
verse en la gura 5.1. Observemos, y esto es comn a las distribuciones de probabilidad, que
las magnitudes de los saltos en 0, 1 y 2 son las probabilidades asociadas
1
4
,
1
2
y
1
4
.
Figura 5.1: Distribucin de probabilidad F(x) para la variable aleatoria del ejemplo 5.10.
Una variable aleatoria no discreta es absolutamente continua (o simplemente continua) si su
funcin de distribucin F(x) puede representarse como
F(x) = p(X x) =
_
x

f (u) du, x R,
donde f (x) verica:
f (x) 0, x R.
_

f (x) dx = 1.
Una funcin f (x) que verica las propiedades anteriores se denomina funcin de densidad
de probabilidad, o simplemente funcin de densidad. Ntese asimismo que la funcin F(x) es
montona creciente.
Observacin. Obsrvese que estas deniciones generalizan a las dadas en el caso discreto
anteriormente estudiado.
120
Una consecuencia inmediata de la denicin de continuidad es que la probabilidad de que
la variable X se encuentre entre dos valores a y b viene dada por
p(a < X < b) =
_
b
a
f (x) dx = F(b) F(a).
En particular, la probabilidad de que X tome un valor concreto x es siempre cero. De esta
forma, las siguientes expresiones son equivalentes:
p(a < X < b) = p(a X < b) = p(a < X b) = p(a X b).
Ejemplo 5.12. Si se selecciona al azar un individuo de entre un grupo grande de personas,
la probabilidad de que su peso X sea exactamente 75 kg es nula. Sin embargo, habr una
probabilidad no nula de que su peso est entre 70 y 80 kg.
Sea f (x) la funcin de densidad de la variable aleatoria X. Al ser f (x) 0, su grca
y = f (x) estar siempre por encima del eje de abscisas. La probabilidad de que X se encuentre
entre dos puntos dados a y b, esto es,
p(a X b) =
_
b
a
f (x) dx,
puede entonces interpretarse como el rea bajo la curva y = f (x) delimitada por las rectas
x = a y x = b.
Ejemplo 5.13. Consideremos la funcin de densidad dada por
f (x) =
_

_
x
2
9
si 0 < x < 3,
0 en otro caso,
y calculemos la funcin de distribucin asociada. En primer lugar, si x < 0 se tiene que
F(x) =
_
x

f (u) du =
_
x

0 du = 0.
Si 0 x < 3 entonces
F(x) =
_
x

f (u) du =
_
x
0
u
2
9
du =
_
u
3
27
_
x
0
=
x
3
27
.
Por ltimo, si x 3 resulta que
F(x) =
_
x

f (u) du =
_
3
0
u
2
9
du = 1.
En resumen, la funcin de distribucin es
F(x) =
_

_
0 si x < 0,
x
3
27
si 0 x < 3,
1 si x 3.
5.3 Distribuciones de probabilidad 121
Si, por ejemplo, queremos calcular la probabilidad de que la variable aleatoria asociada X
tome valores entre 1,25 y 2,75, simplemente hacemos
p(1,25 X 2,75) = F(2,75) F(1,25) =
(2,75)
3
27

(1,25)
3
27
0,6979.
En la gura 5.2, el rea sombreada representa la probabilidad p(1,25 X 2,75).
Figura 5.2: Grca de la funcin de distribucin F(x) y rea que representa p(1,25 X 2,75).
Los conceptos anteriores pueden generalizarse al caso de dos o ms variables aleatorias.
Si X e Y son variables aleatorias discretas, su funcin de probabilidad conjunta viene dada por
p(X = x, Y = y) = f (x, y),
donde f (x, y) debe vericar:
f (x, y) 0, x, y R.

y
f (x, y) = 1.
La funcin de distribucin conjunta se dene como
F(x, y) = p(X x, Y y) =

ux

vy
f (u, v).
Supongamos que X e Y toman los valores {x
1
, . . . , x
n
} y {y
1
, . . . , y
n
} respectivamente; la
probabilidad de que ocurra el suceso X = x
i
e Y = y
j
es entonces f (x
i
, f
j
). Si queremos
determinar la probabilidad del suceso X = x
i
, consideramos
f
1
(x
i
) p(X = x
i
) =
n

j=1
f (x
i
, y
j
).
122
De forma anloga, la probabilidad del suceso Y = y
j
viene dada por
f
2
(y
j
) p(Y = y
j
) =
n

i=1
f (x
i
, y
j
).
Las funciones f
1
(x) y f
2
(y) as denidas son las funciones de probabilidad marginal de X e Y.
Ejemplo 5.14. La funcin de probabilidad conjunta para las variables aleatorias discretas X e
Y viene dada por
f (x, y) = c(2x + y),
si x e y toman valores en {0, 1, 2} y {0, 1, 2, 3} respectivamente, y f (x, y) = 0 en otro caso.
Podemos representar las probabilidades asociadas mediante una tabla:
r
r
r
r
r
r
X
Y
0 1 2 3 f
1
(x)
0 0 c 2c 3c 6c
1 2c 3c 4c 5c 14c
2 4c 5c 6c 7c 22c
f
2
(y) 6c 9c 12c 15c 42c
Notemos en primer lugar que el valor de la constante c no puede ser cualquiera, ya que la
suma de todas las probabilidades debe ser 1:

y
f (x, y) = 1 42c = 1 c =
1
42
.
Para calcular la probabilidad del suceso X = 2 e Y = 1, buscamos el correspondiente valor
en la tabla:
p(X = 2, Y = 1) = 5c =
5
42
.
Asimismo, la probabilidad de que X 1 e Y 2 se determina sumando todos los elementos
de la tabla para x = 1, 2 e y = 0, 1, 2:
p(X 1, Y 2) = (2c + 3c + 4c) + (4c + 5c + 6c) = 24c =
24
42
=
4
7
.
Las funcin de probabilidad marginal para X se obtiene sumando, para cada valor de x,
todos los elementos de la correspondiente la; de esta forma,
f
1
(x) = p(X = x) =
_

_
6c =
1
7
si x = 0,
14c =
1
3
si x = 1,
22c =
11
21
si x = 2.
Asimismo, para construir la funcin de probabilidad marginal para Y sumamos los valores
de la columna correspondiente a cada valor de y; as se obtiene:
f
2
(y) = p(Y = y) =
_

_
6c =
1
7
si x = 0,
9c =
3
14
si x = 1,
12c =
2
7
si x = 2,
15c =
5
14
si x = 3.
5.3 Distribuciones de probabilidad 123
La probabilidad el suceso X = 2 puede calcularse como
p(X = 2) = F
1
(2) =
11
21
.
De forma anloga, la probabilidad de que Y = 1 sera
p(Y = 1) = F
2
(1) =
3
14
.
En el caso en que las variables X e Y sean continuas, la funcin de densidad f (x, y) debe
vericar las siguientes propiedades:
f (x, y) 0, x, y R.
_

f (x, y) dx dy = 1.
En este caso, la funcin de distribucin conjunta viene dada por
F(x, y) = p(X x, Y y) =
_
x

_
y

f (u, v) du dv.
A partir de la denicin de F(x, y), podemos deducir que
F
1
(x) p(X x) =
_
x

f (u, v) du dv
y
F
2
(y) p(Y y) =
_

_
y

f (u, v) du dv.
Las funciones F
1
(x) y F
2
(y) son las distribuciones de probabilidad marginal de X e Y. Las
correspondientes funciones de densidad marginal se denen como
f
1
(x) =
_

f (x, v) dv, f
2
(y) =
_

f (u, y) du.
Ejemplo 5.15. Consideremos las variables aleatorias X e Y con funcin de densidad conjunta
f (x, y) =
_
cxy si 0 < x < 4, 1 < y < 5,
0 en otro caso.
El valor de la constante c se determina del siguiente modo:
1 =
_

f (x, y) dx dy =
_
4
0
_
5
1
cxy dx dy = 96c c =
1
96
.
Para calcular la probabilidad del suceso 1 < X < 2 y 2 < Y < 3, simplemente hacemos
_
2
1
_
3
2
cxy dx dy =
5
128
.
Calculemos las distribuciones marginales. Para 0 x < 4 se tiene que
F
1
(x) p(X x) =
_
x

f (x, y) dx dy =
_
x
0
_
5
1
cxy dx dy =
x
2
16
.
124
Si x < 0 entonces f (x, y) = 0, por lo que F
1
(x) = 0. Por ltimo, para x 4 se verica que
F
1
(x) = 1. En resumen,
F
1
(x) = p(X x) =
_

_
0 si x < 0,
x
2
16
si 0 x < 4,
1 si x 4.
La distribucin marginal para Y se calcula de forma anloga:
F
2
(y) = p(Y y) =
_

_
0 si y < 1,
y
2
1
24
si 1 y < 5,
1 si y 5.
Las correspondientes densidades marginales son
f
1
(x) =
_
_
_
x
8
si 0 < x < 4,
0 en otro caso,
f
2
(y) =
_
_
_
y
12
si 1 < y < 5,
0 en otro caso,
que se determinan derivando las expresiones para F
1
(x) y F
2
(y).
Sean X e Y variables aleatorias discretas. Si los eventos X = x e Y = y son independientes
para cada valor de x e y, diremos que las variables X e Y son independientes. En tal caso,
p(X = x, Y = y) = p(X = x)p(Y = y),
o bien, en trminos de densidades,
f (x, y) = f
1
(x) f
2
(y).
Ejemplo 5.16. Las variables aleatorias del ejemplo 5.14 no son independientes, ya que, segn
vimos,
p(X = 2, Y = 1) =
5
42
=
11
21

3
14
= p(X = 2)p(Y = 1).
En trminos de densidades, f (2, 1) = f
1
(2) f
2
(1).
En el caso continuo, las variables X e Y son independientes si los sucesos X x e Y y
son independientes para cada x e y. Se tiene entonces que
p(X x, Y y) = p(X x)p(Y y),
o bien,
F(x, y) = F
1
(x)F
2
(y).
Tambin se verica que f (x, y) = f
1
(x) f
2
(y).
Ejemplo 5.17. Las variables aleatorias del ejemplo 5.15 son independientes. Por una parte,
f (x, y) =
xy
96
=
x
8

y
12
= f
1
(x) f
2
(y)
para 0 < x < 4 y 1 < y < 5. En otro caso, f (x, y) = 0 y f
1
(x) = 0 o f
2
(y) = 0. Por tanto,
f (x, y) = f
1
(x) f
2
(y) para cada x, y R.
5.4 Elementos de Estadstica 125
5.4. Elementos de Estadstica
Dada una variable aleatoria discreta X que toma los valores {x
1
, . . . , x
n
}, denimos su
esperanza matemtica o valor esperado, E(X), como
E(X) =
n

j=1
x
j
p(X = x
j
).
De manera equivalente, si p(X = x
j
) = f (x
j
), entonces
E(X) =
n

j=1
x
j
f (x
j
).
Observacin. En el caso particular en que todos los sucesos sean igualmente probables, se
tiene que p(X = x
j
) =
1
n
; por tanto,
E(X) =
x
1
+ x
2
+ + x
n
n
.
Es decir, E(X) corresponde a la media aritmtica de los valores {x
1
, . . . , x
n
}.
Cuando X es una variable aleatoria continua, con funcin de densidad f (x), la esperanza
matemtica de X se dene de forma natural como
E(X) =
_

x f (x) dx,
siempre que dicha integral tenga sentido.
Es tambin habitual llamar media de X a la esperanza matemtica E(X), y denotarla por

X
(o simplemente si no se presta a confusin). El papel de la media o esperanza es fun-
damental en Probabilidad y Estadstica; intuitivamente, nos proporciona un valor promedio o
representativo de los valores que toma la variable X.
Ejemplo 5.18. Supongamos que la funcin de densidad de una variable aleatoria X es
f (x) =
_
_
_
x
2
si 0 < x < 2,
0 en otro caso.
Entonces la media de X es
E(X) =
_

x f (x) dx =
_
2
0
x
2
2
dx =
_
x
3
6
_
2
0
=
2
3
6
=
4
3
.
Supongamos que X es una variable aleatoria discreta con funcin de probabilidad f (x).
Entonces, si g(x) es una cierta funcin, Y = g(X) es una nueva variable aleatoria discreta cuya
media se calcula como
E(Y) = E[g(X)] =

x
g(x) f (x).
126
De modo anlogo, si X es continua entonces
E[g(X)] =
_

g(x) f (x) dx.


Estos hechos se generalizan de forma natural al caso de dos o ms variables aleatorias:
E[g(X, Y)] =

y
g(x, y) f (x, y)
en el caso discreto, y
E[g(X, Y)] =
_

g(x, y) f (x, y) dx dy
en el caso continuo.
Ejemplo 5.19. Si X es una variable aleatoria discreta con funcin de probabilidad f (x), se
tiene que
E(2X + 3) =

x
(2x + 3) f (x) = 2

x
x f (x) + 3
&
&
&
&b
1

x
f (x) = 2E(X) + 3.
Asimismo, E(X
2
) se calculara del siguiente modo:
E(X
2
) =

x
x
2
f (x).
Si X fuese continua, tendramos:
E(2X + 3) =
_

(2x + 3) f (x) dx = 2
_

x f (x) dx + 3

B
1
_

f (x) dx = 2E(X) + 3,
y
E(X
2
) =
_

x
2
f (x) dx.
La media de una variable aleatoria no nos proporciona informacin alguna sobre la
dispersin de los datos considerados. Para medir dicha dispersin alrededor del valor medio,
se introducen los conceptos de varianza y desviacin estndar.
La varianza de una variable aleatoria X, Var(X), se dene como
Var(X) = E[(X )
2
],
mientras que su desviacin estndar,
X
, es la raz cuadrada de la varianza:

X
=
_
Var(X) =
_
E[(X )
2
].
Es usual denotar tambin la varianza simplemente como
2
X
.
Observacin. Supongamos que X representa una medida con ciertas unidades o dimensiones,
por ejemplo, metros (m). Entonces las unidades de la varianza son m
2
, mientras que las de la
desviacin estndar son metros. Es decir, X y
X
tienen las mismas unidades. Este es el motivo
por el que, en la prctica, suele utilizarse la desviacin estndar en lugar de la varianza.
5.4 Elementos de Estadstica 127
Veamos la idea intuitiva detrs de la denicin de varianza. Supongamos que X es una
variable aleatoria discreta que toma los valores {x
1
, . . . , x
n
}, y sea f (x) su funcin de proba-
bilidad; en tal caso,
Var(X) =
n

j=1
(x
j
)
2
f (x
j
).
Si todos los sucesos x
j
son igualmente probables entonces f (x
j
) =
1
n
, de donde
Var(X) =
(x
1
)
2
+ (x
2
)
2
+ + (x
n
)
2
n
.
Cada trmino (x
j
)
2
puede interpretarse como el cuadrado de la distancia del valor x
j
al
valor promedio ; la igualdad anterior nos dice que la varianza es la media aritmtica de
dichas distancias. De esta forma, cuando la varianza es pequea los valores de X tienden a
concentrarse cerca de la media. Por el contrario, si los valores se distribuyen lejos de la media
entonces la varianza ser grande.
Ejemplo 5.20. En la siguiente tabla se muestran las notas obtenidas por un grupo de estu-
diantes en las asignaturas de Ufologa y Parapsicologa:
Ufologa 4,1 4,2 1,4 5,2 3,7 5,5 6,0 5,2 5,2 4,9
Parapsicologa 1,5 8,2 2,4 3,1 9,7 1,1 6,0 5,2 6,0 2,1
Si denotamos por X las notas en Ufologa, tenemos que su media es

X
=
4,1 + 4,2 + 1,4 + 5,2 + 3,7 + 5,5 + 6,0 + 5,2 + 5,2 + 4,9
10
= 4,53,
mientras que la desviacin estndar viene dada por

X
=
_
(4,1
X
)
2
+ (4,2
X
)
2
+ + (4,9
X
)
2
10
1,23.
Para Parapsicologa, denotada por Y, tenemos que la media vale

Y
=
1,5 + 8,2 + 2,4 + 3,1 + 9,7 + 1,1 + 6,0 + 5,2 + 6,0 + 2,1
10
= 4,53,
y su desviacin estndar es

Y
=
_
(1,5
Y
)
2
+ (8,2
Y
)
2
+ + (2,1
Y
)
2
10
2,80.
Como vemos, ambas variables poseen la misma media. Sin embargo, las calicaciones de
Parapsicologa estn ms dispersas respecto del valor medio que las notas de Ufologa. Este
hecho se reeja en que la desviacin estndar de Parapsicologa es mayor que la de Ufologa.
Veamos cmo realizar el ejemplo usando Sage. En primer lugar, introducimos los valores
de X en una lista:
sage: X = [4.1, 4.2, 1.4, 5.1, 3.7, 5.5, 6.0, 5.2, 5.2, 4.9]
128
Para calcular la media de X, basta con sumar los elementos de la lista y dividir por el nmero
de elementos:
sage: muX = sum(X)/len(X); muX
4.53000000000000
Para calcular la desviacin tpica, hacemos lo siguiente:
sage: sigmaX = sqrt(sum([(xi -muX)^2 for xi in X])/ len(X)); sigmaX
1.23454445039456
Los clculos para la variable Y seran anlogos:
sage: Y = [1.5, 8.2, 2.4, 3.1, 9.7, 1.1, 6.0, 5.2, 6.0, 2.1]
sage: muY = sum(Y)/len(Y); muY
4.53000000000000
sage: sigmaY = sqrt(sum([(yi -muY)^2 for yi in Y])/ len(Y)); sigmaY
2.80001785708591
Tambin es posible usar los comandos mean y std:
sage: mean(X)
4.53000000000000
sage: std(X, bias=True)
1.23454445039456
En el caso de una variable continua X con densidad f (x), la varianza se dene como

2
X
= E[(X )
2
] =
_

(x )
2
f (x) dx,
y la desviacin estndar como su raz cuadrada. La idea intuitiva de la varianza es anloga
a la del caso discreto: se trata de una medida de la dispersin de los valores de una variable
aleatoria alrededor de la media. En la gura 5.3 se representan dos distribuciones continuas
con la misma media y distintas desviaciones estndar.
Ejemplo 5.21. Consideremos la variable aleatoria X del ejemplo 5.18 y calculemos su varianza
y su desviacin estndar. Vimos que la media de X era =
4
3
; por tanto, su varianza ser

2
=
_

(x )
2
f (x) dx =
_
2
0
_
x
4
3
_
2
x
2
dx =
2
9
,
y su desviacin estndar es =
_
2
9
=

2
3
.
Cuando se trata de comparar dos distribuciones diferentes, es habitual considerar variables
aleatorias estandarizadas. Si X es una variable aleatoria con media y desviacin estndar , se
dene la variable estandarizada asociada como
X

=
X

.
Es inmediado comprobar que X

tiene media cero y varianza 1.


5.4 Elementos de Estadstica 129
Figura 5.3: Distribuciones de probabilidad con la misma media y distintas desviaciones:
X
<
Y
.
Consideremos dos variables aleatorias X e Y. Denimos su varianza conjunta o covarianza,
Cov(X, Y) o
XY
, como

XY
Cov(X, Y) = E[(X
X
)(Y
Y
)].
Puede demostrarse que si las variables X e Y son independientes entonces
XY
= 0. Por el
contrario, si las variables son iguales, X = Y, entonces
XY
=
X

Y
. Estos hechos nos dan la
idea de denir el coeciente de correlacin
=
Cov(X, Y)
_
Var(X) Var(Y)
=

XY

Y
,
que nos da una medida de la dependencia de las variables X e Y. Por construccin, el coe-
ciente de correlacin toma valores entre 1 y 1. Cuando = 0 decimos que las variables no
estn correlacionadas. Cuando est cerca de 1 las variables tienen un alto grado de correlacin,
mientras que valores de cercanos a 1 indican una correlacin inversa entre las variables.
Ejemplo 5.22. Volvamos al ejemplo 5.20, en el que se comparaban las notas obtenidas en
las asignaturas Ufologa (X) y Parapsicologa (Y). Vimos que
X
=
Y
= 4,53,
X
= 1, 23 y

Y
= 2,80. La covarianza de X e Y es

XY
=
(4,1 4,53)(1,5 4,53) + + (4,9 4,53)(2,1 4,53)
10
0,1021.
Por tanto, el coeciente de correlacin de X e Y toma el valor

XY
=

XY

Y
0,0295.
El valor de , cercano a cero, nos indica que las calicaciones de ambas asignaturas estn poco
correlacionadas.
Consideremos ahora las notas obtenidas en la asignatura Pedagoga:
130
Pedagoga 2,1 9,0 2,1 4,3 10,0 0,0 5,3 6,1 7,0 2,2
Si denotamos por Z a la variable aleatoria asociada, se tiene que
Z
= 4,81 y
Z
3,10.
Asimismo, las covarianzas relativas a X e Y son
XZ
0,11 y
YZ
8,46; de esta forma, se
tienen los siguientes valores para los coecientes de correlacin:

XZ
=

XZ

Z
0,0284,
YZ
=

YZ

Z
0,9743.
Podemos concluir que X y Z estn poco correlacionadas, mientras que la correlacin de Y y
Z es bastante alta. Existe pues una cierta similitud entre las calicaciones en Parapsicologa y
Pedagoga, bien sea por sus similares contenidos, por el tipo de examen o por la calidad de
sus profesores. Las diferencias respecto a Ufologa podran obedecer a causas anlogas.
Los clculos del ejemplo han sido realizados con el siguiente cdigo Sage:
sage: # Ejemplo 5.22
sage: X = [4.1, 4.2, 1.4, 5.1, 3.7, 5.5, 6.0, 5.2, 5.2, 4.9]
sage: Y = [1.5, 8.2, 2.4, 3.1, 9.7, 1.1, 6.0, 5.2, 6.0, 2.1]
sage: Z = [2.1, 9.0, 2.1, 4.3, 10.0, 0.0, 5.3, 6.1, 7.0, 2.2]
sage: #
sage: n = len(X)
sage: muX = sum(X)/n
sage: muY = sum(Y)/n
sage: muZ = sum(Z)/n
sage: #
sage: sigmaX = sqrt(sum([(xi -muX)^2 for xi in X])/n)
sage: sigmaY = sqrt(sum([(yi -muY)^2 for yi in Y])/n)
sage: sigmaZ = sqrt(sum([(zi -muZ)^2 for zi in Z])/n)
sage: #
sage: covXY = sum ([(xi-muX)*(yi -muY) for (xi,yi) in zip(X,Y)])/n; covXY
0.102100000000000
sage: rhoXY = covXY /( sigmaX*sigmaY ); rhoXY
0.0295364441126556
sage: #
sage: covXZ = sum ([(xi-muX)*(zi -muZ) for (xi,zi) in zip(X,Z)])/n; covXZ
0.108700000000000
sage: rhoXZ = covXZ /( sigmaX*sigmaZ ); rhoXZ
0.0284044232706738
sage: #
sage: covYZ = sum ([(yi-muX)*(zi -muZ) for (yi,zi) in zip(Y,Z)])/n; covYZ
8.45670000000000
sage: rhoYZ = covYZ /( sigmaY*sigmaZ ); rhoYZ
0.974323744265441
Existe un importante resultado, denominado desigualdad de Chebyshev, que establece lo
siguiente: si X es una variable aleatoria con media y desviacin estndar entonces, para
cualquier nmero positivo , se verica que
p(|X | )

2

2
.
Si tomamos = k para un cierto k, entonces la desigualdad toma la forma
p(|X | k)
1
k
2
.
5.4 Elementos de Estadstica 131
Observacin. En particular, para el valor k = 2 se tiene que
p(|X | 2) 0,25,
o, equivalentemente,
p(|X | < 2) 0,75.
Esto signica que al menos el 75 % de valores diferirn de la media en 2 veces el valor de la
desviacin estndar, independientemente de la forma que tenga la distribucin X.
Ejemplo 5.23. Para las notas de Ufologa del ejemplo 5.20 se tena que la media era
X
= 4,53
y la desviacin estndar vala
X
1,23. Por tanto, la desigualdad de Chebyshev nos dice que
al menos un 75 % de los valores de X estarn en el intervalo
[
X
2
X
,
X
+ 2
X
] [2,06, 6,99].
Segn la tabla del ejemplo 5.20, el nmero de notas dentro de dicho intervalo es de 9 entre un
total de 10. Por tanto, en este caso el intervalo contiene al 90 % de los valores que toma X.
Aunque la media es la medida ms utilizada para la tendencia central de una distribucin
de probabilidad, tambin se emplean otras dos medidas:
La moda de una variable aleatoria discreta es el valor que ocurre con ms frecuencia; en
otras palabras, es el valor con mayor probabilidad de suceder. La moda no es necesaria-
mente nica.
La mediana es el valor x para el que P(X < x) =
1
2
y p(X > x)
1
2
. Cuando X es
una variable continua, la mediana separa la curva de densidad en dos zonas con reas
iguales de
1
2
cada una. Para una variable discreta no hay una mediana nica.
Uno de los ejemplos ms importantes de distribucin de probabilidad es la distribucin
normal o distribucin gaussiana, cuya funcin de densidad viene dada por
f (x) =
1

2
e

(x)
2
2
2
, < x < ,
donde y son, respectivamente, la media y la desviacin estndar. La funcin de distribu-
cin asociada es
F(x) = p(X x) =
1

2
_
x

(u)
2
2
2
du, x R.
Si llamamos Z a la variable estandarizada, cuya media es 1 y su desviacin estndar vale 0, se
tiene que la correspondiente funcin de densidad es
f (z) =
1

2
e

z
2
2
,
mientras que la funcin de distribucin es
F(z) = p(Z z) =
1

2
_
z

u
2
2
du =
1
2
+
1

2
_
z
0
e

u
2
2
du
La funcin f (z) tiene forma de campana: su grca puede observarse en la gura 5.4.
132
Figura 5.4: Funcin de densidad f (z) de la distribucin normal estandarizada.
Observacin. La distribucin normal se utiliza para modelizar numerosas caractersticas en
poblaciones humanas: peso, altura, cociente intelectual, etc., as como determinados procesos
econmicos y fsicos.
Ejemplo 5.24. El peso promedio de un grupo de 500 estudiantes es de 68 kg y la desviacin es-
tndar es de 7 kg. Suponiendo que los pesos siguen una distribucin normal, nos planteamos
el problema de estimar el nmero de alumnos que pesan entre 54 y 70 kg.
Suponiendo que los pesos se tomaron con el valor ms cercano al kg, los pesos registrados
entre 54 y 70 kg realmente toman valores entre 53,5 y 70,5 kg. Por comodidad, usaremos
valores normalizados; de esta forma,
53,5 kg
53,5 68
7
= 2,07 en unidades estndar,
70,5 kg
70,5 68
7
= 0,36 en unidades estndar.
Calculamos a continuacin
1

2
_
0,36
2,07
e

z
2
2
dz 0,62.
Este clculo puede hacerse con el siguiente comando Sage:
sage: N(integral (1/ sqrt (2*pi)*exp(-x^2/2), x, -2.07, 0.36))
0.621350260990646
Finalmente, la estimacin requerida es de 500 0,62 = 310 estudiantes.
Calculemos ahora el nmero esperado de estudiantes que pesan ms de 85 kg. Para que
esto suceda, hemos de considerar los estudiantes que pesan al menos 85.5 kg. Teniendo en
cuenta que
83,5 kg
83,5 68
7
= 2,21 en unidades estndar,
5.4 Elementos de Estadstica 133
calculamos
1

2
_

2,21
e

z
2
2
dz 0,0135.
En Sage hacemos lo siguiente:
sage: N(integral (1/ sqrt (2*pi)*exp(-x^2/2), x, 2.21, Infinity ))
0.0135525811465314
El nmero de estudiantes ser por tanto 500 0,0135 = 6,75 7.
En resumen, podemos decir que la probabilidad de que un estudiante elegido al azar pese
entre 54 y 78 kg es 0,62, mientras que la probabilidad de que pese ms de 83 kg es 0.0135.
De forma ms especca, si X es la variable aleatoria que representa el peso de un alumno,
entonces p(53,5 X 78,5) = 0,62 y p(X 83,5) = 0,0135. En la gura 5.5 se han dibujado
las reas correspondientes a cada uno de los casos.
(a) rea que representa p(53,5 X 78,5). (b) rea que representa p(X 83,5).
Figura 5.5
En la prctica nos encontramos con el problema de establecer conclusiones vlidas sobre
un grupo o poblacin grande de individuos u objetos. En muchos casos es difcil o imposible
examinar la poblacin completa, por que inferimos resultados sobre sta a partir del examen
de una pequea parte denominada muestra. La rama de la Estadstica que se ocupa de este
tema se conoce con el nombre de teora de muestras.
Ejemplo 5.25. En las encuestas de intencin de voto se realizan predicciones sobre el resultado
de unas elecciones a partir de los datos tomados sobre una parte relativamente pequea del
electorado. En este caso todas las personas con derecho a voto formaran la poblacin, mientras
que aquellos que han sido encuestados conformaran la muestra.
Obviamente, las conclusiones referidas a la poblacin dependern de si la muestra se tom
correctamente, es decir, de si sta representa sucientemente bien a la poblacin. Una forma
de hacer esto es asegurar que cada miembro de la poblacin tenga la misma probabilidad de
estar en la muestra; en tal caso, la muestra se denomina aleatoria.
134
Debido a que la inferencia de muestra a poblacin no puede ser segura, debemos usar el
lenguaje de la probabilidad en este contexto. En general, se considera que una poblacin es
conocida cuando se conoce la distribucin de probabilidad de la variable aleatoria asociada.
5.5. Curva de ajuste, regresin y correlacin
En la prctica es frecuente encontrarse con dos o ms variables que estn relacionadas
de alguna forma. Nos planteamos el problema de expresar matemticamente dicha relacin
mediante una ecuacin que una las variables.
Supongamos, por ejemplo, que x e y denotan respectivamente la estatura y el peso de una
persona. Si tomamos una muestra compuesta por n individuos, podemos construir el conjunto
de puntos
{(x
1
, y
1
), (x
2
, y
2
), . . . , (x
n
, y
n
)}
y dibujarlos en el sistemas de coordenadas x-y. Se obtiene as el diagrama de dispersin asociado.
A menudo es posible aproximar dicho diagrama mediante una curva regular, denominada
curva de aproximacin o de ajuste. Si nos jamos en la gura 5.6 (a), una buena aproximacin
vendra dada por una recta:
y = ax + b,
mientras que en la gura 5.6 (b) podramos considerar una parbola:
y = ax
2
+ bx + c.
Sin embargo, los puntos de la gura 5.6 (c) no parecen ajustarse a ninguna curva en particular.
(a) Recta: y = ax + b. (b) Parbola: y = ax
2
+ bx + c. (c) Puntos totalmente aleatorios.
Figura 5.6: Curvas de regresin.
Una vez determinada la curva de ajuste, podemos usarla para estimar el valor de una
de las variables (la variable dependiente) en funcin de la otra (la variable independiente). Este
proceso se denomina regresin; a la curva de ajuste tambin se le llama curva de regresin.
Cuando la curva es una lnea recta la regresin es lineal, mientras que cuando es una parbola
la regresin es cuadrtica.
Un mtodo bsico para construir una curva de regresin es el conocido como mtodo de
mnimos cuadrados, que explicamos a continuacin.
5.5 Curva de ajuste, regresin y correlacin 135
Supongamos que y = f (x) es la ecuacin de la curva de regresin que queremos determi-
nar. En tal caso, para cada elemento x
i
podemos medir la diferencia d
i
entre el valor y
i
de la
muestra y el valor f (x
i
) proporcionado por la curva. A d
i
se le llama error, desviacin o residuo,
y vale
d
i
= y
i
f (x
i
), i = 1, . . . , n.
(ntese que d
i
puede ser positivo, negativo o cero). Como medida del error global cometido
al ajustar la nube de puntos (x
i
, y
i
) mediante la curva de regresin, consideramos el valor
5
n

i=1
d
2
i
=
n

i=1
(y
i
f (x
i
))
2
.
Cuando esta cantidad sea pequea el ajuste ser bueno, y viceversa. De esta forma, para
calcular la curva de ajuste buscamos aquella que haga mnimo el valor de
n
i=1
d
2
i
.
Siguiendo el procedimiento anteriormente comentado, puede demostrarse que la recta de
mnimos cuadrados asociada a los puntos {(x
i
, y
i
) : i = 1, . . . , n},
y = ax + b,
se determina resolviendo sus ecuaciones normales:
_
_
_

y = an + b

x,

xy = a

x + b

x
2
,
(por simplicidad, hemos omitido todos los subndices). Es sencillo comprobar que la solucin
de este sistema viene dada por
a =
_

y
__

x
2
_

x
__

xy
_
n

x
2

x
_
2
, b =
n

xy
_

x
__

y
_
n

x
2

x
_
2
.
Podemos reescribir b de la forma
b =

(x x)(y y)

(x x)
2
,
donde x e y representan las medias de x e y, respectivamente. Si dividimos por n ambos
miembros de la primera ecuacin normal, se obtiene:
y = a + b x.
De esta forma, podemos determinar el coeciente a a partir de los valores x, y y b.
Observacin. La recta de mnimos cuadrados tiene pendiente b y pasa por el punto ( x, y),
denominado centroide o centro de gravedad de los datos.
Ejemplo 5.26. Consideremos los puntos (x
i
, y
i
) dados en la siguiente tabla:
5
Los valores de d
i
se elevan al cuadrado para no tener en cuenta los signos. Otra posibilidad sera tomar valores
absolutos, pero en tal caso la funcin resultante no sera derivable.
136
x
i
1,5 4,4 7,4 8,7 2,6 0,8 5,3 7,2 0,1 3,5
y
i
0,2 2,7 4,2 9,4 1,0 1,3 4,5 6,8 2,2 2,8
Para calcular la recta de mnimos cuadrados asociada, primero calculamos las medias:
x =
1
n
n

i=1
x
i
= 4,15, y =
1
n
n

i=1
y
i
= 3,03,
donde n = 10 es el nmero de puntos. A continuacin determinamos el coeciente b:
b =
n

i=1
(x
i
x)(y
i
y)
n

i=1
(x
i
x)
2
1,0667,
as como el valor de a:
y = a + b x a = y b x 1,3969.
La recta de mnimos cuadrados es, por tanto,
y = 1,3969 + 1,0667x.
En la gura 5.7 se representan tanto el conjunto de puntos como la recta de mnimos cuadra-
dos asociada.
Figura 5.7: Ajuste mediante una recta de mnimos cuadrados.
Mediante la recta de mnimos cuadrados podemos estimar el valor de y para cualquier
punto x. As pues, para x = 8,2 el valor aproximado sera
y = 1,3969 + 1,0667 8,2 7,35.
El siguiente cdigo Sage permite hacer el ajuste por mnimos cuadrados, as como repre-
sentar los resultados de la gura 5.7.
5.5 Curva de ajuste, regresin y correlacin 137
sage: # Ejemplo 5.26
sage: # Puntos
sage: X = [1.5, 4.4, 7.4, 8.7, 2.6, 0.8, 5.3, 7.2, 0.1, 3.5]
sage: Y = [-0.2, 2.7, 4.2, 9.4, 1.0, 1.3, 4.5, 6.8, -2.2, 2.8]
sage: puntos = zip(X,Y)
sage: #
sage: # Medias
sage: muX = sum(X)/len(X)
sage: muY = sum(Y)/len(Y)
sage: #
sage: # Coeficientes recta
sage: numb = sum ([(x-muX)*(y-muY) for (x, y) in puntos ])
sage: denomb = sum ([(x-muX)^2 for x in X])
sage: b = numb/denomb
sage: a = muY -b*muX
sage: a, b
( -1.39692791942084 , 1.06672961913755)
sage: #
sage: # Grafica
sage: var(x)
sage: fig = list_plot(puntos , color=blue, size=20)
sage: fig += plot(a+b*x, min(X), max(X), color=red, gridlines=True)
sage: fig.show()
Puede demostrarse que los coecientes de la parbola de mnimos cuadrados,
y = a + bx + cx
2
,
vienen dados como solucin del siguiente sistema de ecuaciones normales:
_

y = na + b

x + c

x
2
,

xy = a

x + b

x
2
+ c

x
3
,

x
2
y = a

x
2
+ b

x
3
+ c

x
4
.
En notacin matricial, el sistema se escribe como
_
_
_
n x x
2
x x
2
x
3
x
2
x
3
x
4
_
_
_
_
_
_
a
b
c
_
_
_ =
_
_
_
y
xy
x
2
y
_
_
_.
Ejemplo 5.27. Consideremos el conjunto de puntos (x
i
, y
i
) del ejemplo 5.26. El sistema de
ecuaciones normales para la parbola de mnimos cuadrados, escrito en forma matricial, que-
da de la siguiente forma:
_
_
10 41,5 251,65
41,5 251,65 1735,375
251,65 1735,375 12780,1093
_
_
_
_
a
b
c
_
_
=
_
_
30,3
210,47
1514,087
_
_
.
Su solucin es
a 1,0336, b 0,7778, c 0,0332,
138
por lo que la parbola de mnimos cuadrados viene dada por
y = 1,0336 + 0,7778x + 0,0332x
2
.
Su representacin grca puede verse en la gura 5.8.
Figura 5.8: Ajuste mediante una parbola de mnimos cuadrados.
En este caso, la estimacin del valor de y para x = 8,2 ser
y = 1,0336 + 0,7778 8,2 + 0,0332 (8,2)
2
7,5767.
El cdigo Sage para el ajuste mediante una parbola de mnimos cuadrados es el siguiente:
sage: # Ejemplo 5.27
sage: # Puntos
sage: X = [1.5, 4.4, 7.4, 8.7, 2.6, 0.8, 5.3, 7.2, 0.1, 3.5]
sage: Y = [-0.2, 2.7, 4.2, 9.4, 1.0, 1.3, 4.5, 6.8, -2.2, 2.8]
sage: puntos = zip(X,Y)
sage: n = len(X)
sage: #
sage: # Sumas
sage: sumaX = sum(X)
sage: sumaY = sum(Y)
sage: sumaX2 =sum([x^2 for x in X])
sage: sumaX3 = sum([x^3 for x in X])
sage: sumaX4 = sum([x^4 for x in X])
sage: sumaXY = sum([x*y for (x, y) in puntos ])
sage: sumaX2Y = sum([x^2*y for (x, y) in puntos ])
sage: #
sage: # Matriz de coeficientes
sage: A = matrix ([[n, sumaX , sumaX2],
[sumaX , sumaX2 , sumaX3],
[sumaX2 , sumaX3 , sumaX4 ]])
sage: # Termino independiente
sage: B = vector ([sumaY , sumaXY , sumaX2Y ])
sage: # Solucio n del sistema
sage: (a, b, c) = A.inverse ()*B
5.5 Curva de ajuste, regresin y correlacin 139
sage: a, b, c
( -1.03363124827865 , 0.777847952346935 , 0.0332033477464275)
sage: #
sage: # Grafica
sage: var(x)
sage: fig = list_plot(puntos , color=blue, size=20)
sage: fig += plot(a+b*x+c*x^2, min(X), max(X), color=red,
gridlines=True)
sage: fig.show()
140
6. Bibliografa
M. Braun. Ecuaciones Diferenciales y sus Aplicaciones. Grupo Editorial Iberoamrica, 1990.
R.L. Burden, J.D. Faires. Mtodos Numricos. Thompson-Paraninfo, 2004.
S.C. Chapra, R.P. Canale. Mtodos Numricos para Ingenieros. McGraw-Hill, 2003.
C.H. Edwards, D.E. Penney. Ecuaciones Diferenciales Elementales y Problemas con Condicio-
nes en la Frontera. Prentice Hall, 2000.
J.M. Gallardo. Ecuaciones Diferenciales Ordinarias. Una Introduccin con Sage. 2001.
www.sagemath.org/library-publications.html#books
F. Hecht. FreeFem++. http://www.freefem.org/ff++/ftp/freefem++doc.pdf
D. Kincaid, W. Cheney. Anlisis Numrico. Adisson-Wesley, 1994.
M.L. Krasnov, A.I. Kiseliov, G.I. Makrenko. Ecuaciones Diferenciales Ordinarias. URSS,
2005.
J.H. Mathews, K.D. Fink. Mtodos Numricos con Matlab. Prentice-Hall, 2005.
R.K. Nagel, E.B. Saff, A.D. Snider. Ecuaciones Diferenciales y Problemas con Valores en la
Frontera. Pearson, 2002.
J.H. Saiac. Mthode des lments Finis. Analyse Numrique des quations aux Drives Partie-
lles. http://www.cnam.fr/maths/Membres/saiac/polyB4.pdf
G.F. Simmons, S.G. Krantz. Ecuaciones Diferenciales. Teora y Prctica. McGraw-Hill, 2007.
M.B. Spiegel. Probabilidad y Estadstica. McGraw-Hill, 2010.
The Sage Development Team. Sage Tutorial. http://www.sagemath.org/pdf/SageTutorial.pdf.

Вам также может понравиться