Beruflich Dokumente
Kultur Dokumente
nb 1
casos, la distribucin inicial de la temperatura vendr dada por una funcin f !x" .
En esta prctica, estudiaremos dicha ecuacin con condiciones de contorno homogneas y no homognas. En ambos
El mtodo de resolucin es separacin de variables, en el que la solucin u!x, t" se expresa como producto de dos
funciones, una de la variable x y otra de la variable t. La ecuacin se transforma entonces en un par de ecuaciones
diferenciales ordinarias que, en la mayora de los casos, se resuelven sin dificultad.
Ejemplo 1
En este ejemplo, analizaremos el caso de temperatura cero en los extremos de una varilla con k 1 y L 2 .
Este problema de contorno viene dado por:
ut uxx , 0 x 2, t 0;
u#x, 0$ f #x$,
u#0, t$ u#2, t$ 0, t 0;
0 x 2.
Plot[f[x],{x,0,2},PlotStyle->RGBColor[1,0,0]];
1.75
1.5
1.25
1
0.75
0.5
0.25
0.5 1 1.5 2
eqcalor.nb 2
" Exp%t #
u!x, t, n" b!n" Sin ! $ & ,
Sabemos que la solucin es una suma infinita (en el ndice n) de trminos de la forma:
nx n 2
2 2
donde los coeficientes b!n" estn dados por la siguiente frmula integral. Observemos que la integral se calcula numri-
camente, con el comando NIntegrate. El comando Chop se usa para redondear a cero cantidades muy pequeas.
b[1]
1.73685
A continuacin, generamos una tabla con los seis primeros coeficientes b!n" .
coefi=Table[b[n],{n,1,6}]
Table[{n,coefi[[n]]},{n,1,6}]//TableForm
1 1.73685
2 0
3 0.890548
4 0
5 0.206635
6 0
Por tanto, la aproximacin dada por los seis primeros trminos del desarrollo es
aprou[x_,t_]=Sum[u[x,t,j],{j,1,6}]
Pi x 3 Pi x
1.73685 Sin[----]
--- 0.890548 Sin[------]
-----
2 2
-----------------
---------------- + --------------------
------------------- +
2 2
(Pi t)/4 (9 Pi t)/4
E E
5 Pi x
0.206635 Sin[------]
-----
2
--------------------
-------------------
2
(25 Pi t)/4
E
eqcalor.nb 3
Para dibujar esta solucin aproximada, construiremos una tabla de grficos. Estos grficos representan la solucin para
los valores del tiempo comprendidos entre t 0 y t 0.7, usando un incremento de 0.7/11. Esto produce exactamente
doce grficos de la solucin. Observemos que cuando t crece, la temperatura u!x, t" se aproxima a cero.
grafico=Table[Plot[aprou[x,t],{x,0,2},PlotRange->{0,2},
DisplayFunction->Identity], {t,0,.7,.7/11}];
gratabla=Partition[grafico,3];
Show[GraphicsArray[gratabla]];
2 2 2
1.75 1.75 1.75
1.5 1.5 1.5
1.25 1.25 1.25
1 1 1
0.75 0.75 0.75
0.5 0.5 0.5
0.25 0.25 0.25
0.5 1 1.5 2 0.5 1 1.5 2 0.5 1 1.5 2
2 2 2
1.75 1.75 1.75
1.5 1.5 1.5
1.25 1.25 1.25
1 1 1
0.75 0.75 0.75
0.5 0.5 0.5
0.25 0.25 0.25
0.5 1 1.5 2 0.5 1 1.5 2 0.5 1 1.5 2
2 2 2
1.75 1.75 1.75
1.5 1.5 1.5
1.25 1.25 1.25
1 1 1
0.75 0.75 0.75
0.5 0.5 0.5
0.25 0.25 0.25
0.5 1 1.5 2 0.5 1 1.5 2 0.5 1 1.5 2
2 2 2
1.75 1.75 1.75
1.5 1.5 1.5
1.25 1.25 1.25
1 1 1
0.75 0.75 0.75
0.5 0.5 0.5
0.25 0.25 0.25
0.5 1 1.5 2 0.5 1 1.5 2 0.5 1 1.5 2
Ejemplo 2
u#x, 0$ f #x$,
ux #0, t$ ux #L, t$ 0, t 0;
0 x L.
" Exp%t #
u!x, t, n" a!n" Cos ! $ &. Los coeficientes a!n" estn dados por la siguiente frmula integral.
Sean k 1 y L 2 . Consideremos la misma distribucin inicial de temperatura que en el ejemplo anterior. Entonces
nx n 2
2 2
eqcalor.nb 4
a[0]=(1/2)NIntegrate[f[x],{x,0,2}]//Chop
1.33333
coeficos=Table[a[n],{n,1,6}]
aprou[x_,t_]=a[0]+Sum[u[x,t,j],{j,1,6}]
grafico2=Table[Plot[aprou[x,t],{x,0,2},PlotRange->{0,2},
DisplayFunction->Identity], {t,0,0.1,.1/8}];
gratabla2=Partition[grafico2,3];
eqcalor.nb 5
Show[GraphicsArray[gratabla2]];
2 2 2
1.75 1.75 1.75
1.5 1.5 1.5
1.25 1.25 1.25
1 1 1
0.75 0.75 0.75
0.5 0.5 0.5
0.25 0.25 0.25
0.5 1 1.5 2 0.5 1 1.5 2 0.5 1 1.5 2
2 2 2
1.75 1.75 1.75
1.5 1.5 1.5
1.25 1.25 1.25
1 1 1
0.75 0.75 0.75
0.5 0.5 0.5
0.25 0.25 0.25
0.5 1 1.5 2 0.5 1 1.5 2 0.5 1 1.5 2
2 2 2
1.75 1.75 1.75
1.5 1.5 1.5
1.25 1.25 1.25
1 1 1
0.75 0.75 0.75
0.5 0.5 0.5
0.25 0.25 0.25
0.5 1 1.5 2 0.5 1 1.5 2 0.5 1 1.5 2
ut k uxx , 0 x L, t 0;
u#x, 0$ f #x$,
u#0, t$ T0 , u#L, t$ T1 , t 0;
0 x L;
El mtodo de separacin de variables falla si alguna de las condiciones de contorno no es homognea. En el caso de la
ecuacin del calor podemos hacer alguna modificacin para seguir aplicando este mtodo. Observemos que cuando t
crece la temperatura se aproxima a un estado estacionario que slo depende de x, digamos s#x$ . Entonces tenemos que
T1 T0
u#x, t$ s#x$ v#x, t$, donde s#x$
L x T0 , y v#x, t$ verifica el siguiente problema de contorno:
vt k vxx , 0 x L, t 0;
Ejercicio
Analizar el problema de contorno propuesto, para los valores k L 1, T0 0, T1 1 ' 2 y la distribucin inicial de
temperatura dada por f !x" x2 . Entonces,
s[x_]:=x/2; f[x_]:=x^2;
eqcalor.nb 6
Plot[{f[x],s[x]},{x,0,1}, PlotStyle->{RGBColor[1,0,0],RGBColor[0,0,1]}];
1
0.8
0.6
0.4
0.2
coe=Table[a[n],{n,1,6}]
vapro[x_,t_]=Sum[v[x,t,j],{j,1,6}]
La solucin aproximada de la ecuacin del calor con condiciones no homogneas es la suma de la solucin
estacionaria y la solucin transitoria. Se define con uapro.
eqcalor.nb 7
uapro[x_,t_]=s[x]+vapro[x,t]
Por ltimo, dibujaremos la solucin aproximada para valores del tiempo comprendidos entre t 0 y t 0.1 , usando
0.1
un incremento de
. Observemos que cuando t crece la solucin se aproxima a la funcin que describe el estado
8
estacionario de temperatura.
grafico3=Table[Plot[uapro[x,t],{x,0,1},
PlotRange->{0,1}, PlotStyle->RGBColor[0,0,1],
DisplayFunction->Identity], {t,0,.1,.1/8}];
gratabla3=Partition[grafico3,3];
Show[GraphicsArray[gratabla3]];
1 1 1
0.8 0.8 0.8
0.6 0.6 0.6
0.4 0.4 0.4
0.2 0.2 0.2
0.20.40.60.8 1 0.20.40.60.8 1 0.20.40.60.8 1
1 1 1
0.8 0.8 0.8
0.6 0.6 0.6
0.4 0.4 0.4
0.2 0.2 0.2
0.20.40.60.8 1 0.20.40.60.8 1 0.20.40.60.8 1
1 1 1
0.8 0.8 0.8
0.6 0.6 0.6
0.4 0.4 0.4
0.2 0.2 0.2
0.20.40.60.8 1 0.20.40.60.8 1 0.20.40.60.8 1
Plot3D[uapro[x,t],{x,0,1},{t,0,.1},
Boxed->True,ViewPoint->{-1,3,1}];
0
0.025
0.05
0.075
0.1
0.8
0.6
0.4
0.2
0
1
0.75
0.5
0.25
0