Está en la página 1de 11

ENSE

NANZA REVISTA MEXICANA DE F

ISICA E 53 (1) 5666 JUNIO 2007


Animaciones en Matlab y maple de ecuaciones diferenciales parciales
de la fsica-matem atica
G.M. Ortigoza Capetillo
Facultad de Matem aticas, Universidad Veracruzana, Zona Universitaria,
Apartado Postal 270, 91090 Xalapa, Ver.
e-mail: gortigoza@uv.mx
Recibido el 22 de mayo de 2006; aceptado el 23 de agosto de 2006
En este trabajo se presentan soluciones exactas de ecuaciones diferenciales parciales que dependen del tiempo; estas soluciones son de la
forma u(x, t), con x R
n
, n = 1, 2, 3. Las gr acas de las soluciones a diferentes tiempos permiten la creaci on de animaciones de las
soluciones. Se muestra de manera general la forma de crear animaciones en Maple y Matlab. Estas animaciones pueden utilizarse como
herramienta did actica para presentar fen omenos fsicos como son: la propagaci on de ondas de un medio a otro, superposici on de ondas,
difusi on, etc; as mismo pueden usarse para despertar el inter es de los estudiantes por el estudio de las ecuaciones diferenciales parciales y
sus aplicaciones. Para las animaciones se eligi o un subconjunto importante de ecuaciones de la fsica matem atica, entre las que se cuentan: la
ecuaci on del transporte, la ecuaci on de ondas (vibraci on de cuerdas y membranas, problema de transmisi on), las ecuaciones de Klein Gordon,
Korteweg de Vries (no lineal), del calor y de Maxwell. Brevemente se describen algunas de las t ecnicas de soluci on analtica de edps como
son: escalamiento, m etodo de caractersticas, separaci on de variables, etc. M as aun, el contar con soluciones analticas puede ser util para la
vericaci on de implementaciones num ericas.
Descriptores: Ense nanza de la fsica; herramientas did acticas; ecuaciones diferenciales parciales.
In this work we present some exact solutions of time dependent partial differential equations (pdes); these solutions have the general form
u(x, t), with x R
n
, n = 1, 2, 3. The plots of the solutions at different times allow us to create animations of the solutions. We show in a
general framework how to make animations in Maple and Matlab. These animations can be used as a didactic tool in order to introduce some
physical phenomena such as: wave propagation, superposition, transmission from one medium to another, diffusion, etc. They can also be
used to motive the students to the study of partial differential equations and its applications. A representative subset of differential equations
of mathematical physics was chosen that includes: the transport equation, wave equation, heat equation and equations of Klein Gordon,
Korteweg de Vries, and Maxwell. We briey present some of the analytical methods for the solutions of pdes: scaling, characteristics and
separation of variables. Finally exact solutions can be very useful for code testing in numerical implementations.
Keywords: Physics education; education aids; partial differential equations.
PACS: 02.30Jr; 01.40Fk; 01.50Fr; 01.50Ht
1. Introducci on
Recientemente ha surgido un creciente inter es por incorpo-
rar, a la ense nanza de conceptos fsicos y matem aticos, el uso
de nuevas tecnologas, como son: paquetes computacionales
de c alculos simb olicos, animaciones y ambientes gr acos.
As podemos encontrar algunas fuentes bibliogr acas don-
de se estudia la fsica cl asica , las ecuaciones diferenciales
y el an alisis num erico usando los paquetes Maple, Matlab y
Mathematica [3, 68, 1113].
Estas herramientas computacionales han mostrado su uti-
lidad al presentar conceptos fsicos y matem aticos en forma
amena y novedosa. Mediante el uso de animaciones se pue-
de capturar la atenci on de los estudiantes y despertar su in-
ter es por incursionar en areas de la fsica y las matem aticas
aplicadas, tales como: mec anica celeste, teoria de vibracio-
nes, mec anica de uidos, ecuaciones diferenciales ordinarias,
ecuaciones diferenciales parciales (edps), m etodos num eri-
cos, etc.
En este trabajo se presentan animaciones en Matlab y Ma-
ple de soluciones exactas de edps que dependen del tiempo,
es decir, funciones de la forma u(x, t
k
) con x R
n
, t
k

R
>0
; se introducen de manera sencilla algunas de las t ecni-
cas m as comunes de soluci on de edps y se describen ejemplos
de c odigos para realizar animaciones en Matlab y Maple; pa-
ra que el lector, de acuerdo a sus propios intereses, pueda
crear sus propias animaciones. El trabajo est a organizado de
la siguiente manera: en la Sec. 2 se presentan los elementos
b asicos para realizar animaciones en 1, 2 y 3 dimensiones en
Matlab y Maple; en la Sec. 3 introducimos las animaciones
de ejemplos de una dimensi on: la ecuaci on de transporte, la
ecuaci on de onda (sin fronteras, caso de intervalo nito, y un
problema de transmisi on), la ecuaci on de Klein-Gordon y se
concluye la secci on con la ecuaci on de Korteweg de Vries, el
cual es un ejemplo de una ecuaci on no lineal. En la Sec. 3 se
muestran los ejemplos de dimensiones 2 y 3; entre los bidi-
mensionales se presentan el enfriamiento de una placa met ali-
ca cuadrada y las vibraciones de una membrana circular, para
los ejemplos tridimensionales se muestran la propagaci on de
ondas electromagn eticas generadas por un dipolo el ectrico y
el enfriamiento de un cubo met alico. Finalmente incluimos
algunas conclusiones.
2. Ejemplos de c odigos para crear animacio-
nes en Matlab y Maple
En esta secci on mostraremos el uso de algunos comandos
b asicos para crear animaciones en Matlab y Maple.
ANIMACIONES EN MATLAB Y MAPLE DE ECUACIONES DIFERENCIALES PARCIALES DE LA F

ISICA-MATEM

ATICA 57
2.1. C odigo para animaciones unidimensionales
Supongamos que deseamos hacer la animaci on de la fun-
ci on u(x, t) = e
(x2t)
2
, la cual corresponde a la soluci on
del problema de valor inicial:
u
t
+ 2u
x
= 0, u(x, 0) = e
x
2
.
Veamos c omo se realiza esta animaci on en Matlab [16]:
La funci on de dos variables u(x, t) puede animarse gra-
cando en un mismo marco (plano x-u) sus valores a diferentes
tiempos. As denimos t=0 :0.05:6 el vector de los diferen-
tes tiempos que toma como tiempo inicial 0, como tiempo
nal 6 e incremento en tiempo de tama no 0.05. Gracaremos
en espacio (digamos en el intervalo [-2,10]), as el vector
x=-2:0.1:10; nos dene los valores de x. La ani-
maci on se obtiene como una secuencia de los valo-
res de u a diferentes tiempos, todos ellos gracados
en un mismo marco; para ello utilizamos el comando
set(gca,nextplot,replacechildren); el cual mantiene las
propiedades de los ejes. Para crear nuestra animaci on (se-
cuencia de gr acos) usamos un ciclo for dentro del cual
gracamos la soluci on al tiempo t(i) mediante el comando
plot(u,x) y guardamos el cuadro en una matriz M con la ayu-
da del comando M(i)=getframe; en el transcurso de la eva-
luci on de este ciclo for, las gr acas a diferentes tiempos han
sido guardadas en la matriz M y hemos visualizado la anima-
ci on. El siguiente c odigo (mle) muestra la implementaci on
de los comando anteriormente descritos:
% Animacion de la solucion de la ecuacion del transporte
% U_t + 2 U_x = 0
% con condicion inicial U(x,0)=exp(-x2)
x=-2:0.1:10; t=0:0.05:6; set(gca,nextplot,replacechildren);
axis([-2 10 0 1]); for i=1:length(t)
u=exp(-(x-2*t(i)).2);
plot(x,u);
M(i)=getframe;
end
Para ver nuestra animaci on, abrimos el editor de Matlab y copiamos las instrucciones anteriores, grabamos el archivo
con extensi on m, digamos ejemplo.m; para la ejecucci on introducimos ejemplo en la ventana de comandos de Matlab. Una vez
ejecutado este c odigo veremos nuestra animaci on, y si usamos el comando movie(M,0) ejecutaremos una vez m as la animaci on.
Realizar la misma animaci on en Maple [14, 15] resulta m as sencillo, para ello usamos las instrucciones. with(plots);
animate(plot, [ exp(-(x-2*t)2), x = -2 ..10], t= 0 .. 6);
Tecleando estas instrucciones en la ventana de comandos de Maple se generar a una gr aca, damos un click en el bot on
derecho del del rat on sobre ella y elegimos del men u Animate seguido por Play y de esta manera se obtendr a la animaci on.
La instrucci on with(plots) le dice a Maple que debe usar el paquete plots, note que la forma de denir el espacio est a dada
por x = 2..10 mientras que los valores para el par ametro t se denen como t = 0..6. Aqu el incremento del tiempo no fue
denido y Maple toma un valor por default, el cual har a nuestra animaci on m as r apida o lenta (dependiendo de la velocidad de
procesamiento de nuestro sistema).
2.2. C odigo para animaciones bidimensionales
Mostraremos ahora un ejemplo de un c odigo para simulaciones en 2 dimensiones; para ello consideremos la funci on
u(x, y, t) = e

2
t
sin(2x) sin(2y) la cual resuelve el problema de valor inicial con condiciones en la frontera:
u
t
=
1
8
_

2
u
x
2
+

2
u
y
2
_
(1)
u(0, y, t) = u(1, y, t) = 0 u(x, 0, t) = u(x, 1, t) = 0 t > 0
u(x, y, 0) = sin(2x) sin(2y). (2)
La animaci on en Matlab se consigue mediante un c odigo muy similiar al caso unidimensional, a continuaci on mostramos un
c odigo bidimensional donde mediante el uso del simbolo %, se han incluido comentarios breves acerca de los comandos m as
importantes.
% Animacion de la solucion de la ecuacion del calor 2d
% U_t = 1/8(U_xx + U_yy)
% en el dominio 0 < x, y < 1
% condicion inicial u(x,y,0)=Sin(pix) Sin(piy)
% para 0<t<3
Rev. Mex. Fs. E 53 (1) (2007) 5666
58 G.M. ORTIGOZA CAPETILLO
[x y]=meshgrid(0:.01:1,0:.01:1);
%define una malla para [0,1]x[0,1] con incremento en x y y de 0.01
title(Animacion de la temperatura);
set(gca,nextplot,replacechildren); caxis manual;
% permite que todos los graficos usen los mismos lmites en colores.
caxis([-1 1]);
% define los valores maximos para los limites como -1 y 1
axis equal;
%usa la misma escala para los ejes x y
t=0:0.05:3;
%vector de valores para los diferentes tiempos
for j=1:length(t) z=exp(-1/8*pi2.*t(j)).*sin(2*pi*x).*sin(2*pi*y);
%evaluacion de la funcion de dos variables
axis off;
%remueve los ejes
pcolor(x,y,z);
%grafica en dos dimensiones
shading interp;
%interpolacion de colores
colorbar;
% agrega la barra de colores
M(j) = getframe(gcf);
% captura los graficos y los guarda en la matriz M
end
Para obtener la misma animaci on en Maple, usamos la
siguiente instrucci on:
animate(plot3d, [exp(-Pi*Pi*t)*sin(2*Pi*x)*sin(2*Pi*y), x
= 0 .. 1, y = 0 .. 1], t = 0 .. .0.2, orientation = [-90, 0], style =
patchnogrid, axes = boxed, shading = zhue);
Expliquemos un poco esta instrucci on; el comando b asico pa-
ra hacer animaciones en Maple es animate y su sintaxis es la
siguiente:
animate(plotcommand, plotargs, t=a..b, options);
aqu plotcommand es el procedimiento Maple con el cual se
obtiene un gr aco 2D o 3D; plotargs es la lista de argumen-
tos del comando de gr aco, t es el par ametro mediante el cual
se consigue la animaci on el cual vara entre los valores a y b
y nalmente options especica opciones del comando para
gracar o de animaci on.
Para nuestra animaci on el comando para gracar es
plot3d, sus argumentos aparecen entre corchetes cuadrados
la funci on de dos variables espaciales y del par ametro tiempo
(se incluye el rango de denici on de las variables espaciales);
con respecto a las opciones incluidas mencionamos que en
realidad tenemos una gr aca en 3d pero la visualizamos
en el plano xy, esto se logra cambiando la orientaci on
orientation[, ,] , patchnogrid usa un reticulado para colo-
rear sin mostrarlo, axes muestra los ejes coordenados y nal-
mente shading=zhue ajusta los colores de acuerdo al valor
de la funci on en cada punto del reticulado. Una vez ejecutada
esta instrucci on la gura obtenida se anima con el rat on de la
misma manera que para el caso unidimensional.
2.3. C odigo para Animaciones Tridimensionales
Para presentar los ejemplos de c odigos de animaciones tridi-
mensionales usaremos la funci on:
U(x, y, z, t) = e

2
t
sin(x) sin(y) sin(z),
que corresponde a la soluci on exacta del problema de la
Sec. 4.4. El par ametro t corresponde al tiempo, el dominio
espacial es = [0, 1]
3
y para la visualizaci on usaremos cor-
tes denidos por la intersecci on de con planos paralelos. El
siguiente c odigo Matlab es muy similar a los dados anterior-
mente.
[x,y,z] = meshgrid(0:.05:1,0:0.05:1,0:.05:1);
set(gca,nextplot,replacechildren); caxis manual; caxis([0,1]);
t=0:0.01:0.5; for j=1:length(t)
v=exp(-pi*pi*t(j)).*sin(pi*x).*sin(pi*y).*sin(pi*z);
h = slice(x,y,z,v,[0.25 .5 .75],[],[0]);
caxis([0,1]); alpha(color)
set(h,EdgeColor,none,FaceColor,interp,...
Rev. Mex. Fs. E 53 (1) (2007) 5666
ANIMACIONES EN MATLAB Y MAPLE DE ECUACIONES DIFERENCIALES PARCIALES DE LA F

ISICA-MATEM

ATICA 59
FaceAlpha,interp)
alphamap(rampdown) alphamap(increase,.1) colormap(hsv);
colorbar; F(j)=getframe(gcf); end;
Para la visualizaci on los cortes se obtienen mediante la instrucci on h = slice(x,y,z,v,[0.25 .5 .75],[ ],[0]) que corresponde
a intersectado con x = 0.25, x =0.5 y x =0.75 ( [16]) . La instrucci on set se usa para denir las opciones del gr aco h, alpha
y alphamap para denir las propiedades de transparencia del gr aco mientras que colormap dene los colores empleados.
Para la misma animaci on en Maple usamos el siguiente c odigo:
with(plots):N := 200:anim := array(1 .. N): for i to 25 do t := i/N:
P1[i] := plot3d(.25, x = 0 .. 1, y = 0 .. 1, color =
exp(-Pi*Pi*t)*sin(Pi*x)*sin(Pi*y)*sin(.25*Pi), style = patchnogrid);
P2[i] := plot3d(.5, x = 0 .. 1, y = 0 .. 1, color =
exp(-Pi*Pi*t)*sin(Pi*x)*sin(Pi*y)*sin(.5*Pi), style = patchnogrid);
P3[i] := plot3d(.75, x = 0 .. 1, y = 0 .. 1, color =
exp(-Pi*Pi*t)*sin(Pi*x)*sin(Pi*y)*sin(.75*Pi), style = patchnogrid);
anim[i] := display([P1[i], P2[i], P3[i]]) od;
display([seq(anim[i], i = 1 .. 25)], insequence = true, axes =
boxed, transparency = .5)
En este caso hemos utilizado un arreglo para guardar la
soluci on a diferentes tiempos; la soluci on se compone de
los gr acos P1, P2 y P3 que corresponden a los diferen-
tes cortes mediante los planos z =0.25, z =0.5 y z =0.75.
El comando display nos da como resultado una gr aca, la
cual se puede animar con los botones del rat on. Se ha utili-
zado el comando color para asignar el color correspondiente
a cada punto del espacio tridimensional y n otese que para
nuestra animaci on el incremento del tiempo est a dado por
t = i/N [14, 15].
3. Animaciones de edps en una dimensi on
3.1. La ecuaci on de transporte
Considere el problema de valor inicial
u
t
+cu
x
= 0, u(x, 0) = f(x), c constante. (3)
Para resolver este problema utilizaremos el m etodo de carac-
tersticas:
La Ec. (3) puede escribirse como
(c, 1) (u
x
, u
t
) = 0
u

V
= u

V = 0 (4)
Esta ecuaci on nos dice que u es constante en el plano x t
a lo largo de las rectas paralelas al vector

V = (c, 1). A estas
curvas se les llama curvas Caractersticas.
Considere la recta que al tiempo t = 0 corta al eje x en
x
0
, su parametrizaci on est a dada por
_
x(t) = x
0
+c t
t = t.
La funci on
v(t) = u(x(t), t)
es constante; en efecto
dv
dt
=
u
x
dx
dt
+
u
t
=
u
x
c +
u
t
= 0
As,
v(t) = v(0) v(t) = u(x(0), 0) = u(x
0
, 0) = f(x
0
)
Por lo tanto la soluci on del problema de valor inicial (3) es
u(x, t) = f(x ct).
La soluci on se obtiene desplazando ct unidades a la dere-
cha la condici on inicial (c>0). En la animaci on considera-
mos c = 2 y f(x) = e
x
2
. La Fig. 1 muestra la soluci on para
t = 0, 1, 2, 3. Observamos as que la ecuaci on de transporte
tiene el efecto de mover la condici on inicial a la derecha sin
distorsionarla.
3.2. La ecuaci on de ondas (sin fronteras)
Considere las ecuaciones
u
tt
= c
2
u
xx
, u(x, 0) = f(x), u
t
(x, 0) = g(x).
(5)
Usaremos en este ejemplo el m etodo de cambio de varia-
bles [2]. Denimos
= x ct, = x +ct;
con este cambio de variables las Ecs. (5) se transforman en
u

= 0
cuya soluci on esta dada por:
u(, ) = F() +G().
Por lo tanto, u expresada en las variables x, t tiene la forma
u(x, t) = F(x ct) +G(x +ct).
De acuerdo con las condiciones iniciales,
f(x) = F(x) +G(x), g(x) = cF

(x) +cG

(x)
Rev. Mex. Fs. E 53 (1) (2007) 5666
60 G.M. ORTIGOZA CAPETILLO
FIGURA 1.
FIGURA 2.
y resolviendo para F y G obtenemos
F(x)=
f(x)
2

1
2c
x
_
0
g(s)ds, G(x)=
f(x)
2
+
1
2c
x
_
0
g(s)ds.
Por lo tanto, la soluci on del problema de valor inicial (5) tiene
la forma
u(x, t) =
1
2
[f(x ct) +f(x +ct)] +
1
2c
x+ct
_
xct
g(s)ds.
A la expresi on anterior se le conoce como f ormula
de DAlembert. [2] En la animaci on consideramos c=1,
f(x) = e
2(x2)
2
y g = 0, as la soluci on es
u(x, t) =
1
2
_
e
2(xt2)
2
+e
2(x+t2)
2
_
La Fig. 2 muestra la soluci on para t = 0, 1, 2, 3.
En este caso tenemos que la condici on inicial se divide en
dos ondas propagandose a la misma velocidad en direcciones
opuestas.
3.3. La ecuaci on de ondas en un intervalo nito (vibra-
ci on de una cuerda)
Considere el problema de valor inicial con condiciones de
frontera
u
tt
= a
2
u
xx
, 0 < x < L, t > 0, (6)
u(0, t) = 0, u(L, t) = 0, 0 < t < , (7)
u(x, 0) = f(x), u
t
(x, 0) = g(x), 0 x L. (8)
Para obtener la soluci on usaremos el m etodo de sepaci on de
variables
Supongamos que u tiene la forma
u(x, t) = X(x)T(t), (9)
al substituir (9) en (6) obtenemos
XT

= a
2
X

T
T

a
2
T
=
X

X
= , constante
_
T

a
2
T = 0
X

X = 0.
(10)
Supongamos que < 0, =
2
. Las soluciones de (10)
est an dadas por
T(t) = Asin(at) +Bcos(at), (11)
X(x) = C sin(x) +Dcos(x).
Usando las condiciones de frontera (7) tenemos que
X(0) = 0, X(L) = 0.
As, X(0) = 0 implica que D = 0 y X(L) = 0 implica que
L = n con n Z, con lo cual
T
n
(t) = Asin
_
a
n
L
t
_
+Bcos
_
a
n
L
t
_
, (12)
X
n
(x) = C sin
_
n
L
x
_
,
y por superposici on tenemos
u(x, t) =

n=1
sin
_
n
L
x
_

_
A
n
sin
_
a
n
L
t
_
+B
n
cos
_
a
n
L
t
__
.
Usando ahora las condiciones iniciales (8) tenemos que
u(x, 0) = f(x) =

n=1
B
n
sin
_
n
L
x
_
,
u
t
(x, 0) = g(x) =

n=1
na
L
A
n
sin
_
n
L
x
_
,
Rev. Mex. Fs. E 53 (1) (2007) 5666
ANIMACIONES EN MATLAB Y MAPLE DE ECUACIONES DIFERENCIALES PARCIALES DE LA F

ISICA-MATEM

ATICA 61
FIGURA 3.
donde
A
n
=
2
na
L
_
0
g(x) sin
_
n
L
x
_
dx,
B
n
=
2
L
L
_
0
f(x) sin
_
n
L
x
_
dx.
Para la animaci on tomamos L = 2, a = 1, g 0 y
f(x) = sin
_
x
2
_
+
1
2
sin
_
3x
2
_
+
1
4
sin
_
5x
2
_
.
Por lo tanto, la soluci on est a dada por
u(x, t)=sin
_
x
2
_
cos
_
t
2
_
+
1
2
sin
_
3x
2
_
cos
_
3t
2
_
+
1
4
sin
_
5x
2
_
cos
_
5t
2
_
.
La Fig. 3 muestra la soluci on para t = 0, 0.25, 0.5, 0.75. No-
tamos que los extremos de la cuerda est an jos y cualquier
otro punto de la cuerda oscila verticalmente.
3.4. Un problema de transmisi on
Considere dos resortes de diferentes materiales unidos en
x = 0, sujetos a una misma tensi on T
0
pero de diferentes
densidades
l
y
r
[3]. As las velocidades de propagaci on
son
c
l
=
_
T
0
/
l
, c
r
=
_
T
0
/
r
.
Supongamos que tenemos una onda incidente G(x+c
r
t) mo-
vi endose a la izquierda con G(x) = 0, x 0. Adem as de
la onda reejada F(x c
r
t) obtendremos una onda trans-
mitida H(x + c
l
t) movi endose a la izquierda. La soluci on
estar a dada por
u(x, t) =
_
_
_
F(x c
r
t) +G(x +c
r
t), x > 0
H(x +c
l
t), x 0.
(13)
FIGURA 4.
Las condiciones para unir las soluciones son la continuidad
de u y u
x
en x = 0,
_
_
_
H(c
l
t) = F(c
r
t) +G(c
r
t), t,
H

(c
l
t) = F

(c
r
t) +G

(c
r
t) t.
(14)
resolviendo estas ecuaciones para F y para H obtenemos
F(z) =
c
l
c
r
c
l
+c
r
G(z),
H(z) =
2c
l
c
l
+c
r
G
_
c
r
z
c
l
_
, z = c
l
t.
Por lo tanto la soluci on u se escribe como
u(x, t) =
_
_
_
G(x +c
r
t) +RG(c
r
t x), x > 0,
TG(
c
r
c
l
(x +c
l
t)), x 0.
(15)
Con R = (c
l
c
r
)/(c
l
+c
r
) y T = 2c
l
/(c
l
+c
r
).
Para la animaci on consideramos c
l
= 1 c
r
= 3 y
G(x) =
(x 5)(x 6)e
(x5)
2
0.7635
.
La Fig. 4 muestra la soluci on para t = 0, 1, 2, 3. Inicialmente
una onda que se mueve a la izquierda, al alcanzar el punto
x = 0, se divide en una onda transmitida (hacia la izquierda)
y una onda reejada (hacia la derecha). Este ejemplo permite
mostrar el fen omeno de transmisi on de ondas de un medio a
otro.
Rev. Mex. Fs. E 53 (1) (2007) 5666
62 G.M. ORTIGOZA CAPETILLO
FIGURA 5. Pie de gura.
3.5. Ecuaci on de Klein-Gordon
Consideremos la ecuaci on de Klein-Gordon
u
tt
u
xx
+m
2
u = 0, m constant. (16)
Denamos el cambio de variables
= t x, = t +x,
y consideremos
U(, ) = u(x, t).
Si u satisface (16), entonces U(, ) satisface
U

+
m
2
4
U = 0. (17)
Esta ecuaci on es invariante bajo la tranformaci on ,

1
(m etodo de escalamiento), as proponemos una
soluci on de la forma
U(, ) = f(z), z = ,
teniendo as que f(z) satisface
zf

(z) +f

(z) +
m
2
4
f = 0
y tomando s = m

z obtenemos la ecuaci on de Bessel de


orden cero:
sf

+f

+sf = 0.
J
0
(s) es una soluci on regular para s = 0. As, proponemos
la soluci on
u(x, t) =
_
1
2
J
0
(m(

t
2
x
2
)), x
2
< t
2
,
0, x
2
> t
2
.
(18)
Para la animaci on consideramos m = 4. La Fig. 5 muestra
la soluci on para t = 0, 1, 2, 3, 4, 5. Esta soluci on se comporta
de manera similar a la ecuaci on de ondas: dos ondas se pro-
pagan en direcciones opuestas; sin embargo se tiene el efecto
de fuente en el punto x = 0, donde se generan ondas que se
propagan a la derecha y a la izquierda.
3.6. Korteweg de Vries
Consideremos la ecuaci on no lineal
u
t
+ 6uu
x
+u
xxx
= 0. (19)
Buscamos soluciones de la forma u(x, t) = v(xt) = v(s)
(onda viajera [1]). Al substituir en (19) obtenemos
v

+ 6vv

+v

= 0,
v + 3v
2
+v

= c
1
,

v
2
2
+v
3
+
v
2
2
= c
1
v +c
2
.
Si requerimos que v, v

, v

0 cuando t , entonces
c
1
= 0 y c
2
= 0. Resolviendo para v

en la ultima expresi on
obtenemos
v

= v

2v,
tomando el signo menos e integrando obtenemos
s =
v(s)
_
0
dz
z

2z
+c. (20)
Considerando el cambio de variable z = (/2)sech
2
() te-
nemos que dz/d = sech
2
() tanh() y despu es de inte-
grar (20) obtenemos
s =
2

+c,

2
sech
2
() = v(s).
combinando estas expresiones tenemos que
v(s) =

2
sech
2
_

2
(s c)
_
,
y as nalmente tenemos que la soluci on u(x, t) tiene la for-
ma
u(x, t) =

2
sech
2
_

2
(x t c)
_
.
La expresi on anterior de la soluci on nos dice qu e ondas via-
jeras con velocidad de propagaci on tienen amplitud pro-
porcional a . Ondas de mayor amplitud viajan con mayor
velocidad. En la animaci on se consideran dos ondas con ve-
locidades de propagaci on
1
= 5 y
2
= 2, la primera cen-
trada en x = 0 y la segunda en x = 5. La Fig. 6 muestra la
soluci on para t = 0, 1, 2, 3, 4. Notamos que la onda de mayor
amplitud (y mayor velocidad) alcanza y cruza a la de menor
amplitud.
Las gr acas de las animaciones de esta secci on fueron ob-
tenidos modicando la funci on u(x, t), los vectores espacio
y tiempo x, t del c odigo Matlab dado en la Sec. 2.1.
Rev. Mex. Fs. E 53 (1) (2007) 5666
ANIMACIONES EN MATLAB Y MAPLE DE ECUACIONES DIFERENCIALES PARCIALES DE LA F

ISICA-MATEM

ATICA 63
FIGURA 6.
FIGURA 7.
4. Ejemplos en dos y tres dimensiones
4.1. La ecuaci on de ondas en coordenadas polares:
vibraci on de una membrana circular
Considere el problema de valor inicial con valores en la fron-
tera:
u
tt
= c
2
_
u
rr
+
1
r
u
r
+
1
r
2
u

_
, (21)
u(1, , t) = 0, 0 < t < , 0 < < 2, (22)
u(r, , 0) = f(r, ), u
t
(r, , 0) = g(r, ). (23)
Usaremos nuevamente el m etodo de separaci on de varia-
bles [4].
Supongamos que u tiene la forma
u(r, , t) = R(r)()T(t),
substituyendo esta expresi on en 21 tenemos
RT

= c
2
_
R

T +
1
r
R

T +
1
r
2
R

T
_
, (24)
es decir,
T

c
2
T
=
_
R

R
+
1
r
R

R
+
1
r
2

_
=
2
. (25)
Para separar R y consideramos:
r
2
R

R
+
rR

R
+

+
2
r
2
= 0, (26)
r
2
R

R
+
rR

R
+
2
r
2
=

= n
2
. (27)
De las Ecs. (25) y (27) obtenemos
_

_
r
2
R

+rR

+ (
2
r
2
n
2
)R = 0,

+n
2
= 0,
T

+c
2

2
T = 0,
(28)
cuyas soluciones est an dadas por
_

_
R(r) = a
1
Y
n
(r) +a
2
J
n
(r),
() = b
1
cos(n) +b
2
sin(n),
T(t) = c
1
cos(ct) +c
2
sin(ct).
(29)
Las condiciones iniciales (22) nos dan que
R(0) < a
1
= 0 R(1) = 0
= k
nm
m = 1, 2, . . .
As, por superposici on, u est a dada por
u(r, , t) =

n=0

m=1
J
n
(k
nm
r) cos(n)
[A
nm
sin(k
nm
ct) +B
nm
cos(k
nm
ct)] . (30)
Consideraremos el caso
u(r, , 0) = f(r), u
t
(r, , 0) = 0,
de esta manera (30) se reduce a
u(r, t) =

m=1
A
m
J
0
(k
0m
r) cos(k
0m
ct). (31)
Por la condici on inicial
f(r) =

m=1
A
m
J
0
(k
0m
r),
A
m
=
2
J
2
1
(k
0m
)
1
_
0
rf(r)J
0
(k
0m
r)dr.
Rev. Mex. Fs. E 53 (1) (2007) 5666
64 G.M. ORTIGOZA CAPETILLO
Para la animaci on asumiremos
c = 1, u(r, , 0) = J
0
(2.4r) +
1
2
J
0
(8.65r),
u
t
(r, , 0) = 0.
Por lo tanto la soluci on u es
u(r, t) = J
0
(2.4r) cos(2.4t) +
1
2
J
0
(8.65r) cos(8.65t).
La Fig. 7 muestra la soluci on para t=0, 0.25, 0.5, 0.75, 1 y
1.25. Notamos que la membrana oscila verticalmente.
4.2. La ecuaci on del calor
Considere el problema de valor inicial con condiciones de
frontera:
u
t
= k
_

2
u
x
2
+

2
u
y
2
_
, (32)
u(0, y, t)=u(1, y, t)=0, u(x, 0, t)=u(x, 1, t)=0, t>0, (33)
u(x, y, 0)=f(x, y), 0 x 1, 0 y 1. (34)
Este problema de valor inicial modela la variaci on de la tem-
peratura de una placa cuadrada, cuya frontera se mantiene a
temperatura cero. Usando separaci on de variables [5] obte-
nemos:
u(x, y, t)
=

m=1

n=1
B
mn
e
k(m
2
+n
2
)
2
t
sin(mx) sin(ny), (35)
donde
f(x, y) =

m=1

n=1
B
mn
sin(mx) sin(ny),
B
mn
= 4
1
_
0
1
_
0
f(x, y) sin(mx) sin(ny)dxdy.
Para la animaci on tomamos
k =
1
8
f(x, y) = sin(2x) sin(2y).
As, la soluci on u est a dada por
u(x, y, t) = e

2
t
sin(2x) sin(2y).
La Fig. 8 muestra la temperatura para t=0, 0.2, 0.4, 0.6,
0.8, 1. La temperatura toma el valor mnimo -1 y m aximo 1.
Conforme pasa el tiempo los puntos m as fros (azul) aumen-
tan su temperatura (rojo) y los m as calientes disminuyen has-
ta alcanzar el estado estacionario de temperatura cero.
FIGURA 8.
4.3. Ecuaciones de Maxwell : dipole el ectrico
Las ecuaciones de Maxwell en espacio libre en ausencia de
cargas est an dadas por


H
t
=

E,

E = 0,

E
t
=

H,

H = 0. (36)
En este ejemplo usaremos el m etodo de potenciales [9]. Su-
pongamos que el dipolo es peque no y que la corriente I es
uniforme sobre su longitud. Sea dl la longitud del dipolo.
Consideremos un sistema en coordenadas esf ericas. Supon-
gamos que la corriente vara en forma sinusoidal y as el vec-
tor potencial est a dado por
A(r) =

0
4
_
V
J(r)
e
jr
r
dv.
Supongamos adem as que la corriente est a encerrada en
un cable cuya secci on transversal ds es peque na. As,
Jdv = Jdsdl = Idl z para un dipolo localizado en el origen
y orientado en la direcci on del eje z, el vector potencial se
reduce a
A(r) =

0
Idl
4
e
jr
r
z,
donde =

0
.
El vector A en coordenadas esf ericas est a dado por
A =

0
Idl
4
e
jr
r
cos() r

0
Idl
4
e
jr
r
sin()

.
Los vectores de fase magn etico y el ectrico est an dados por
H =
1

0
A, E =
1
j
0
H,
Los vectores magn etico y el ectrico se obtienen como

H = Re{e
jt
H},

E = Re{e
jt
E},

H =
Idl
4
_
cos(t r)
r
2

sin(t r)
r
_
sin()

,
Rev. Mex. Fs. E 53 (1) (2007) 5666
ANIMACIONES EN MATLAB Y MAPLE DE ECUACIONES DIFERENCIALES PARCIALES DE LA F

ISICA-MATEM

ATICA 65
FIGURA 9.
FIGURA 10.

E =
Idl
2
0

_
cos(t r)
r
2
+
sin(t r)
r
3
_
cos() r
+
Idl
4
0

sin(t r)
r
+
cos(t r)
r
2
+
sin(t r)
r
3
_
sin()

Para la animaci on consideramos Idl = 4, = = 2,

0
=
0
= 1 y por simetra usamos la proyecci on sobre el
eje xy. La Fig. 9 muestra la superposici on de dos dipolos pa-
ra t=0.5, 1.0, 1.5, y 2.0, donde se ha gracado la intensidad
del campo magn etico. Observamos c omo se generan las on-
das electromagn eticas esf ericas propag andose hacia afuera y
se superponen de manera similar a las ondas en el agua. Por
simetra se grac o un corte por un plano, pero en realidad
este es un ejemplo de una soluci on exacta de las ecuaciones
de Maxwell en 3 dimensiones [10].
4.4. Una soluci on de la ecuaci on del calor en 3 dimen-
siones
Consideremos el problema de valor en la frontera con condi-
ciones iniciales
U
t
= (U
xx
+U
yy
+U
zz
) en ,
U(x, y, z, t)|

= 0, U(x, y, z, 0) = g(x, y, z), (37)


donde asumiremos que =[0, 1]
3
. Usando separa-
ci on de variables de manera similar al ejemplo bidi-
mensional, y suponiendo que la condici on inicial es
g(x, y, z) = sin(x) sin(y) sin(z), concluimos que
U(x, y, z, t) = e

2
t
sin(x) sin(y) sin(z)
es la soluci on de (37) con = 1/3. La Fig. 10 muestra la tem-
peratura a tiempos: t=0, 0.5, 0.1 y 1.5. Conforme el tiempo
avanza el cubo se enfria hasta alcanzar el estado estacionario
de temperatura cero. Para la visualizaci on se usaron cortes
con 3 planos.
Los gr acos de las Secs. 4.1, 4.2 y 4.3 fueron obtenidos
con c odigos Matlab muy similares al c odigo bidimensional
dado en la Sec. 2.2, mientras que el ejemplo tridimensional de
la Sec. 4.4 fue obtenido con el c odigo Matlab de la Sec. 2.3.
5. Conclusiones
En este trabajo se han presentado animaciones en Matlab de
soluciones exactas de edps de la forma u(x, t
k
) con x
R
n
, t
k
R
>0
. Se ha seleccionado un conjunto de las ecua-
ciones m as representativas de la fsica matem atica. Estas ani-
maciones pueden utilizarse para explicar fen omenos fsicos
como superposici on de ondas, transmici on de ondas de un
medio a otro, etc; as como para despertar el inter es de los es-
tudiantes y encaminarlos en el area de las edps y sus aplica-
ciones. Se han incluido c odigos en Matlab y Maple para crear
animaciones en 1, 2 y 3 dimensiones, as como brevemente
se describen algunas de las t ecnicas de soluci on de las edps:
escalamiento, cambio de variables, m etodo de caractersticas,
separaci on de variables, etc.
La mayoria de las veces las edps halladas en las aplicacio-
nes no tiene soluciones analticas, en cuyo caso se tienen que
emplear m etodos num ericos de aproximaci on. Contar con al-
gunas soluciones exactas nos permite vericar la veracidad
de los m etodos num ericos ( [10]). Por otra parte, el uso de
animaciones de ecuaciones puede ser util en el modelado:
modicando determinados par ametros en las ecuaciones o en
sus soluciones pueden ajustarse las animaciones a una me-
jor representaci on de un fen omeno fsico, obteniendo de esta
manera modelos matem aticos que describan con mayor exac-
titud un fen omeno.
Agradecimientos
Trabajo realizado con apoyo de proyecto Promep
103.5/05/1955.
Rev. Mex. Fs. E 53 (1) (2007) 5666
66 G.M. ORTIGOZA CAPETILLO
1. L.C. Evans, Partial Differential Equations (Graduate Studies in
Mathematics, American Mathematical Society, 1998).
2. J D. Logan, Applied Partial Differential Equations (Springer-
Verlag, Undergradute Texts in Mathematics, 1998).
3. J. Cooper, Introduction to Partial Differential Equations with
Matlab (Birkh auser, 1998).
4. S.J. Farlow, Partial Differential Equations for Scientists and en-
gineers (Dover, 1993).
5. P. Duchateau and D.W. Zachmann, Partial Differential Equa-
tions (Schaums Outline series, McGraw-Hill,1986).
6. I.P. Stavroulakis and S.A. Tersian, Partial Differential Equa-
tions: An Introduction with Mathematica and Maple (World
Scientic Publishing Company, 2004).
7. L. Elden, L. Wittmeyer-Koch, and H.B. Neilsen, Introduction to
Numerical Computation - Analysis and MATLAB Illustrations
(Studentlitteratur, 2004).
8. M.L. Abell and J.P. Braselton, Differential Equations with Mat-
hematica (Elsevier Science & Technology Books, 2004).
9. D.J. Grifths, Introduction to Electrodynamics (Prentice Hall,
1999).
10. G. Ortigoza, The Runge-Kutta Discontinuous Galerkin method
for Maxwell equations, Ph. D. thesis, 2003.
11. K.A. Lonngren and Sava Savov Fundamentals of Electromag-
netics with MATLAB (SciTech Publishing, Incorporated, 2005).
12. F. Wang, Physics with MAPLE: The Computer Algebra Resour-
ce for Mathematical Methods in Physics (Wiley, John and Sons
Incorporated, 2006).
13. Gerd Baumann , Mathematica for Theoretical Physics: Classi-
cal Mechanics and Nonlinear Dynamics (Springer-Verlag New
York, 2005).
14. Maple 10 ,user manual, maplesoft, 2005.
15. J. Putz,Maple Animation (CRC Press, May 2003).
16. D. Hanselman and B. Littleeld, Mastering Matlab 7, (Pear-
son/Prentice Hall, 2005).
Rev. Mex. Fs. E 53 (1) (2007) 5666

También podría gustarte