Você está na página 1de 48

Computacin Cientfica y Tcnica con Maple

Uso bsico de Maple


Version 1.2, Febrero 2012

Francisco Palacios Quionero


Departamento Matemtica Aplicada III
Universidad Politcnica de Catalua (UPC)

Computacin Cientfica y Tcnica con Maple: Uso Bsico de Maple. Versin 1.2. Febrero 2012 by Francisco
Palacios-Quionero is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter
to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

Uso bsico de Maple

F. Palacios 2012

Computacin cientfica y tcnica con Maple

Unidad 1: Uso bsico de Maple


F. Palacios Quionero
Dept. Matemtica Aplicada III. Universidad Politcnica de Catalua
Ver. 1.2

Febrero, 2012

Este documento se ha editado usando las hojas de trabajo (worksheet) de Maple 15

Contenido
1. Lnea de comandos, nombres, ayuda
2. Clculo simblico
3. Clculo exacto
4. Clculo aproximado
5. Evaluacin de expresiones
6. Mens de contexto
7. Grficos
8. Derivadas
9. Integrales
10. Ecuaciones
11. Ecuaciones Diferenciales Ordinarias (EDOs)
12. Resolucin simblica de EDOs
13. Resolucin grfica de EDOS: campos de pendientes
14. Resolucin numrica de EDOs
15. Maple vs Matlab

1. Linea de comandos, nombres, ayuda


Volver a la tabla de contenidos
Para ejecutar la lnea de comandos, presionamos [INTRO]
> 1 C1
2
Para asignar un nombre a un objeto, usamos :=
> ad1
a := 1
> bd3
b := 3
> c d a Cb
c := 4
La combinacin de teclas [Ctrl]+[t] crea de forma rpida una celda de texto (como esta)
Maple distingue entre maysculas y minsculas
> A d 0.5
A := 0.5
Pgina 1

Uso bsico de Maple

> ad1

F. Palacios 2012

a := 1

> a CA

1.5
Para suprimir la presentacin de resultados, terminamos la lnea de comandos con dos puntos (:)
> c d a CA :
> c
1.5
Maple puede manejar nombres no asignados, en ese caso se consideran objetos algebraicos
> d
d
> 1 Cd
1 Cd
> e d 1 Cd

e := 1 Cd 2
Podemos aadir comentarios a la lnea de comandos con el carcter #
> expand e # el comando expand( ) fuerza la evaluacin de los productos
1 C2 d Cd2
Si escribimos una expresin entre comillas simples, se evita su evaluacin
> c d'A Ca'
c := a CA
> c
1.5
La evaluacin de un nombre no asignado, devuelve el propio nombre
> a
1
> f
f
Para limpiar un nombre, escribimos nombre:='nombre' , por ejemplo
> c
1.5
> c d'c';
c := c
> c
c
El comando restart limpia todos los nombres
> b
3
> e
1 Cd 2
> restart
> b
Pgina 2

Uso bsico de Maple

F. Palacios 2012

b
> e
e
Podemos usar nombres de letras griegas como nombres de objetos, Maple los presenta usando los
smbolos del alfabeto griego. Observa que Maple interpreta un espacio blanco como una
multiplicacin implcita.
> alpha d 3;
:= 3
> c d A cos phi t

c := A cos t

Tambin podemos insertar letras griegas desde la Paleta Greek

> d d A sin t C4
d := A sin t C4
Ayuda. Podemos acceder al sistema de ayuda presionando [Ctrl]+[F1]

Grupos de ejecucin. Es posible escribir varios comandos en la misma lnea. En ese caso,
tenemos que separar los diferentes comandos usando un punto y coma (;).
2
> 1 C1; a d 3; expand b Ca
2
a := 3
2

b C6 b C9
Pgina 3

Uso bsico de Maple

F. Palacios 2012

Para obtener una presentacin ms clara y estructurada, podemos romper la lnea de comandos (sin
ejecutar el cdigo) pulsando la combinacin de teclas [SHIFT]+[INTRO].
Para entrar los subndices podemos usar las notaciones: e[0] e_0
> e0 d 14;
v 0 d 2;
a dK0.5;
t d 3;
1
ef d e0 Cv0$t C $a$t2
2
e0 := 14
v0 := 2
a := K0.5
t := 3
ef := 17.75000000

2. Clculo simblico
Volver a la tabla de contenidos
Maple usa los nombres "limpios" (no asignados) como objetos algebraicos
> x d 1; y d 2
x := 1
y := 2
> x Cy
3
> x d'x'; y d'y'
x := x
y := y
> p d x Cy

p := x Cy 3
El comando expand( ) fuerza la evaluacin de todos los productos
> expand p
x3 C3 x2 y C3 x y2 Cy3
El comando factor( ) factorizar expresiones algebraicas, y el comando simplify( ) realiza
simplificaciones
2
> q d x C3 x C2;
q := x2 C3 x C2
> factor q
x C2 x C1
2
x K4
> rd 3
x K6 x2 C11 x K6

r :=

x2 K4
x3 K6 x2 C11 x K6
Pgina 4

Uso bsico de Maple

F. Palacios 2012

> simplify r
x C2
x K4 x C3
2

> factor r
x C2
x K1 x K3
Los comandos numer( ) y denom( ) extraen el numerador y el denominador de una fraccin.
Para ver ms claramente la simplificacin realizada sobre la funcin racional r, podemos factorizar
por separado el numerador y el denominador
> n d numer r
n := x2 K4
> d d denom r
d := x3 K6 x2 C11 x K6
> factor n
x K2 x C2
> factor d
x K1 x K2 x K3
El comando simplify( ) tambin funciona con expresiones trigonomtricas
> a d sin phi ;
b d cos phi ;
c d a2 Cb2;
a := sin
b := cos
c := sin

Ccos

> c1 d simplify c

c1 := 1
El comando convert(expression , parfrac) calcula la descomposicin en fracciones simples de una
funcin racional (cociente de polinomios)
> r
2
x K4
x3 K6 x2 C11 x K6
> rp d convert r, parfrac
5
3
rp :=
K
2 x K3
2 x K1
En el siguient ejemplo, obtenemos la descomposicin en fracciones simples de una funcin racional
impropia en grado (grado del numerador R grado del denominador)
> r1 d x2 r
x2 x2 K4
r1 := 3
x K6 x2 C11 x K6
> r1p d convert r1, parfrac
Pgina 5

Uso bsico de Maple

r1p := x C6 C

F. Palacios 2012

45
3
K
2 x K3
2 x K1

3. Clculo exacto
Volver a la tabla de contenidos
Maple opera los nmeros exactos sin redondear
> ad3

1
2

a :=
> b d 1 Ca

b := 1 C 3

> expand b
4 C2 3
Los nmeros enteros son nmeros exactos, Maple puede manipular nmeros enteros de tamao
arbitrario (dentro de las posibilidades del ordenador)
> p d 2325 C236 C321
p := 11045767571919545466173891589519882
El comando ifactor( ) obtiene la descomposicin en factores primos
> ifactor 5525432216
2 3 61 349 32443
> ifactor p
2 3 15532109237 314098893699477827 377353
Maple simplifica fracciones automticamente
12
> ad
32
3
a :=
8
tambin opera fracciones de forma exacta, reduciendo a comn denominador
2
Ca
> bd
3
25
b :=
24
La evaluacin de una funcin para un argumento exacto, da como resulado un nmero exacto
Pi
> a d sin
4
1
a :=
2
2
Pi
> b d tan
3
b := 3
> c d a Cb

Pgina 6

Uso bsico de Maple

c :=
> expand c

1
2

3 C
7
C 3
2

Un ejemplo trigonomtrico
> a d sin 3 ;
b d cos 3 ;
c d a Cb 2;
c1 d expand c ;
simplify c1 ;

F. Palacios 2012

a := sin 3
b := cos 3
c := cos 3 Csin 3
c1 := cos 3

C2 cos 3 sin 3 Csin 3


2 cos 3 sin 3 C1

El nmero se escribe Pi
Pi
> cos
4

1
2

pi es la letra griega . No es un nmero!


pi
> cos
4
cos

!!! No debemos confundir el nmero Pi con la letra del alfabeto


griego pi

4. Clculo aproximado
Volver a la tabla de contenidos
Los nmeros de punto flotante (floats) permiten aproximar el valor de nmeros exactos usando una
cantidad limitada de dgitos
12.34
> ad
4.56
a := 2.706140351
Operaciones aritmticas de nmeros exactos y aproximados suelen producir resultados aproximados
2
> b daC
7
b := 2.991854637
El comando evalf( ) proporciona aproximaciones float de nmeros exactos
Pgina 7

Uso bsico de Maple

F. Palacios 2012

> a d sqrt 2
a :=

> af d evalf a

af := 1.414213562
En clculos que contienen nmeros exactos y aproximados, algunas veces es necesarios usar el
comando evalf( ) para obtener una evaluacin float completa
7
> ad
Csqrt 2 C1.23
5
a := 2.630000000 C 2
> af d evalf a
af := 4.044213562
Funciones aplicadas sobre nmeros aproximados producen resultados aproximados
> b d exp 2
b := e2
> bf d evalf b
bf := 7.389056099
> exp 2.
7.389056099
> cos 0.2
0.9800665778
Por defecto, Maple realiza evaluaciones float con 10 dgitos.
El comando evalf(valor exacto,n) calcula una evaluacin float con n dgitos
> evalf Pi
3.141592654
> evalf Pi, 150
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089\
9862803482534211706798214808651328230664709384460955058223172535940813
La variable de sistema Digits establece el nmero de dgitos empleado por Maple para presentar y
calcular los nmeros aproximados.
Por defecto, el valor de Digits is 10.
Podemos reasignar el valor de la variable Digits.
> cos 2.
K0.4161468365
> Digits d 20
Digits := 20
> cos 2.
K0.41614683654714238700
!!! Todas las operaciones con floats se realizan usando el nmero de
dgitos indicado en la variable de sistema Digits.
Observa que Digits empieza por mayscula, la asignacin digits:=
16 no produce ningn efecto en el nmero de dgitos

Pgina 8

Uso bsico de Maple

F. Palacios 2012

!!! El comando restart, adems de borrar todas las asignaciones de


nombres, reestablece la variable de sistema Digits a su valor por
defecto (10)
> restart
> Digits

10

> cos 2.

K0.4161468365

5. Evaluacin de expresiones
Volver a la tabla de contenidos
El comando eval(expression, var=valor) permite evaluar expresiones.
!!! Observa que para indicar el valor a sustituir se usa el signo = (no
se trata de una asignacin)
> restart
> f d x2 Ccos x

f := x2 Ccos x

> vf d eval f, x = 2

vf := 4 Ccos 2
La evaluacin con floats suele producir resultados float
> vf2 d eval f, x = 3.
vf2 := 8.010007503
eval( ) tambin admite evaluaciones simblicas
> f d x2 Ca x Cb
f := x2 Ca x Cb
> fp d eval f, a = phi Calpha
fp := x2 C C x Cb
Podemos realizar evaluaciones mltiples usando una lista de sustituciones
> pvals d a = 1, b = z Ky, x = 2
pvals := a = 1, b = z Ky, x = 2
> fp d eval f, pvals
fp := 6 Cz Ky
Observa que los nombres a, b, x permanecen sin asignar.
!!! Es muy importante mantener sin asignar los nombres usados
como variables simblicas
> a
a
> b
b
Pgina 9

Uso bsico de Maple

F. Palacios 2012

> x
x

6. Mens de contexto
Volver a la tabla de contenidos
Los comandos de uso ms frecuente pueden ejecutarse desde Mens de Contexto que se activan
haciendo click con el botn derecho del ratn sobre el objeto correspondiente

En las hojas de trabajo (worksheet), cuando aplicamos un comando desde un men de contexto,
Maple escribe el comando y lo ejecuta. En el modo documento, Maple slo muestra el resultado.
> f d sin 5 t Ccos 20 t
f := sin 5 t Ccos 20 t
El siguiente grfico se ha obtenido pulsando el boton derecho sobre la expresin anterior y
seleccionando Plots > 2D
> smartplot sin 5 * t Ccos 20 * t

2
K2

3
K
2

K K1
2

3
2

t
> f

sin 5 t Ccos 20 t
La siguiente derivada se ha calculado pulsando el boton derecho sobre la expresin anterior y
seleccionando Differenciate > With Respect To > t
> diff sin 5 * t Ccos 20 * t , t
5 cos 5 t K20 sin 20 t
!!! Podemos dibujar un grfico simplemente seleccionando una
expresin y arrastrndola sobre un smartplot

7. Grficos
Volver a la tabla de contenidos
El comando plot(expresion, variable=Vmin..Vmax ) dibuja grficos 2D. El intervalo [a,b] se
representa por a..b
> f d 1 K4 x Cx3
f := 1 K4 x Cx3
> plot f, x =K3 .. 3
Pgina 10

Uso bsico de Maple

F. Palacios 2012

10
K3

K2

K10

Si no inicamos nada, el intervalo por omisin es -10..10


> plot f

800
K10

K5 K400

5
x

10

Para ver con mayor detalle el grfico en el intervalo [0..2], basta con especificar el intervalo
> plot f, x = 0 ..2

1
0
K1
K2

0.5

1
x

1.5

A veces es necesario restingir el intervalo de representacion para el eje vertical


1
> gd 2
x
1
g := 2
x
> plot g, x =K2 ..2

8.# 108
3.# 108
K2

K1

1
x

El grfico anterior no se representa adecuadamente debido a la asntota vertical en x=0.


Restringimos el intervalo de representacin para el eje vertical especificando un segundo intervalo
en el comando plot( )
> plot g, x =K2 ..2,K1 ..10

K2

K1

10
6
2
0

1
x

Pgina 11

Uso bsico de Maple

F. Palacios 2012

Algunas opciones interesantes del comando plot( ) son:


gridlines, dibuja la cuadrcula
thickness, controla el grosor de la lnea
color, controla el color de linea
> plot g, x =K2 ..2, y =K1 ..10, thickness = 2, color = blue, gridlines

10
y 6
2
K2

K1

1
x

Para dibujar grficos mltiples, pasamos al comando plot( ) una lista de expresiones [f1,f2,....]
> plot f, g , x =K4 ..4, y =K2 ..10

10
y 6
2
K4 K3 K2 K1 K2

2
x

En el siguiente grfico, hemos asignado colores de forma ordenada a las curvas con la opcin color
= [red, blue], tambin hemos modificado el gosor, aadido la cuadrcula, e incluido la leyenda.
> plot f, g , x =K4 ..4, y =K2 ..10, color = red, blue , thickness = 2, gridlines, legend = y = f, y
=g

10
8
y

6
4
2

K4

K3

K2

K1

K2

y = 1 K 4 x C x3

2
x

y=

x2

>
Haciendo click con el botn izquierdo del ratn sobre un grfico se activa la barra de herramientas
Pgina 12

Uso bsico de Maple

F. Palacios 2012

de grficos

Esta barra de herramientas permite modificar el estilo de ejes, dibujar la cuadrcula, etc. Tambin
podemos activar la funcin de lectura de datos mediante el cursor (probe). Si selecionamos la ltima
opcin del men desplegable, al posicionar el cursor sobre el grfico obtendremos las coordenadas
del punto ms prximo al cursor

8. Derivadas
Volver a la tabla de contenidos
El comando diff(f,x) calcula la derivada de f con respecto de x.
> f d x sin x
f := x sin x
> df d diff f, x ;
df := sin x Cx cos x
Para calcular la segunda derivada usamos diff(f,x,x).
> df2 d diff f, x, x
df2 := 2 cos x Kx sin x
Para calcular derivadas de orden superior, podemos utilizar el operator $
> x$4
x, x, x, x
Derivada cuarta
> df4 d diff f, x$4
df4 := K4 cos x Cx sin x
En algunos caso, Maple puede incluso realizar un clculo inductivo de la n-sima derivada.
Primero, limpiamos el nombre n para asegurarnos que puede actuar como variable simblica
> n d'n'
n := n
Pgina 13

Uso bsico de Maple

F. Palacios 2012

> g d x exp x
g := x ex
> dfn d diff g, x$n
dfn := ex x Cn
Veamos otro ejemplo, esta vez para una expresin que contiene parmetros indeterminados
> h d exp Kalpha t sin omega t
h := eK t sin t
Derivada primera
> h1 d diff h, t

h1 := K eK t sin t CeK t cos t

Derivada segunda
> h2 d diff h, t, t
2
2
h2 := eK t sin t K2 eK t cos t KeK t sin t
Derivada cuarta
> h4 d diff h, t$4
4
3
2
2
3
h4 := eK t sin t K4 eK t cos t K6 eK t sin t C4 eK t cos t
4

CeK t sin t

El comando collect( ) extrae un trmino especificado como factor comn


> collect h4, exp Kalpha t
4

sin t K4 cos t K6 sin t C4 cos t Csin t

eK t

Para establecer una secuencia ordenada de trminos que han de extraerse como factor comn,
podemos especificar una lista de expresiones en el comando collect( ). As, la lista
exp Kalpha t , sin omega t , cos omega t
indica que primero ha de extaerse el factor eK t , seguidamente el factor sin t , y finalmente el
factor cos t .
> collect h4, exp Kalpha t , sin omega t , cos omega t
4
2 2
4
3
3
K6 C sin t C K4 C4 cos t eK t
Veamos el resultado con la derivada 10
> h10 d diff h, t$10
10
9
8
2
h10 := eK t sin t K10 eK t cos t K45 eK t sin t
7

C120 eK t cos t C210 eK t sin t K252 eK t cos t


2

K210 eK t sin t C120 eK t cos t C45 eK t sin t


9

10

K10 eK t cos t KeK t sin t

> collect h10, exp Kalpha t , sin omega t , cos omega t


10
8 2
6 4
4 6
2 8
10
9
7 3
K45 C210 K210 C45 K
sin t C K10 C120
5

K252 C120 K10

cos t

eK t

Notacin prima para derivadas. Las derivadas con respecto de la variable independient x pueden
Pgina 14

Uso bsico de Maple

calcularse usando la notacin prima


> f d x$sin x
> f'

F. Palacios 2012

f := x sin x
sin x Cx cos x

> f'''

K3 sin x Kx cos x
Notacin punto para derivadas. Las derivadas con respecto de la variable independiente t pueden
calcularse usando la notacin punto. Presionar [Ctrl]+[Shift]+["] para acceso rpido a la notacin
punto
!!! La combinacin de teclas [Ctrl]+[Shift]+["] proporciona acceso
rpido a la notacin punto para derivadas. En la notacin punto, la
variable independient es t

> yd

sin t
t
y :=

.
> y1 d y
y1 :=
..
> y2 d y

sin t
t

cos t
sin t
K
t
t2

sin t
2 cos t
2 sin t
K
C
y2 := K
2
t
t
t3
Es aconsejable limpiar la variable y, ya que esta variable suele usarse frecuentemente como variable
simblica
> y d'y'
y := y

9. Integrales
Volver a la tabla de contenidos
El comando int(f,variable) calcula la primitiva de f con respecto de la variable indicada.
Nos aseguramos que la variable x est limpia
> x d'x'
x := x
> f d x sin x
f := x sin x
> F d int f, x
F := sin x Kx cos x
Para calcular integrales definidas, basta con indicar el intervalo de integracin int(f,x=a..b).
> f d x2
f := x2
Pgina 15

Uso bsico de Maple

F. Palacios 2012

> v d int f, x = 0 ..1

1
3
El comando int( ) tambin admite lmites de integracin simblicos
> a d'a'; b d'b';
a := a
b := b
> v d int f, x = a ..b
1 3
1 3
v :=
b K
a
3
3
Si Maple no puede calcular el valor exacto, la integral se devuelve sin evaluar. En ese caso,
podemos obtener una aproximacin float con evalf( ), para ello Maple aplica automticamte un
mtodo de clculo numrico.
> f d sin x6 Cx
f := sin x6 Cx
> v d int f, x = 0 ..1
v :=

sin x6 Cx dx

v :=
0

> vf d evalf v

vf := 0.5163377908
Para entrar derivadas, integrales, lmites, ..., de forma cmoda y en notacin matemtica natural,
podemos usar la Paleta Expression

sin a x cos b x dx

>
0

a cos
K

1
1
a cos
b Ka Cb sin
2
2
a2 Kb2

1
1
a sin
b
2
2

>
>
Tambin podemos acceder de forma rpida a las plantillas de expresiones escribiendo el comando
Pgina 16

Uso bsico de Maple

F. Palacios 2012

correspondiente y presionando [ctrl]+[barra espaciadora]

Maple tambin calcula integrales impropias de forma exacta. La opcin assuming permite
establecer propiedades de los parmetros, en nuestro caso establecemos que el parmetro es
positivo.
N

x2 eK xdx assuming alpha O 0

>
1

1
e

La integral impropia es divergente para ! 0


N

x2 eK xdx assuming alpha ! 0

>
1

El nombre Maple de N es infinity


1
>
infinity
> limit

ax
, x = infinity
x C1
a

>

>

lim x e

x /KN

0
x

lim x e

x /CN

x
> plot x e , x =K5 ..1

2
1
K5

K4

K3

K2

K1

Pgina 17

Uso bsico de Maple

F. Palacios 2012

10. Ecuaciones
Volver a la tabla de contenidos
El comando solve( ) resuelve ecuaciones de formas exacta y simblica
> eq d a x2 Cb x Cc = 0
eq := a x2 Cb x Cc = 0
> solve eq, a
b x Cc
K 2
x
> solve eq, x
1 Kb C b2 K4 a c
1 bC
,K
2
a
2
> eq2 d x3 Kx2 C3 = 0
> s d solve eq2
1
s := K
316 C36
6
C
C

77

1
3 316 C36
2

77

b2 K4 a c
a

eq2 := x3 Kx2 C3 = 0
1/3

1/3

1/3

1/3

3 316 C36 77
1
1
1
C C
I 3 K
6
3
2
,

3 316 C36 77
1
1
K
I 3 K
316 C36
2
6

1
12
77

316 C36
1/3

77

1 1
,
3 12

316 C36
1/3

77

3 316 C36

3 316 C36

77

77

1/3

1/3

316 C36

77

1/3

1
3

1/3

> sf d evalf s
sf := K1.174559411, 1.087279705 K1.171312112 I, 1.087279705 C1.171312112 I
El comando fsolve( ), calcula aproximaciones numricas de las soluciones de una ecuacin.
Podemos indicar un intervalo de bsqueda a fsolve( )
> f d exp K0.23 x Cexp K0.5 x
f := eK0.23 x CeK0.5 x
> g d 1.5 cos 3 x C2.5 sin 5 x
g := 1.5 cos 3 x C2.5 sin 5 x
Grfico conjunto de f y g.
> plot f, g , x =K3 ..4, color = red, blue , gridlines, thickness = 2

6
2
K3 K2

K2

2
x

Observamos que hay cuatro soluciones en el intervalo [0,2]. Inicialmente, el comando fsolve( ) nos
Pgina 18

Uso bsico de Maple

F. Palacios 2012

proporciona una de ellas


> s1 d fsolve f = g

s1 := 0.03880717791
Para que fsolve( ) calcule la solucin del intervalo [1,1.5], basta con indicarle el intervalo de
bsqueda
> s2 d fsolve f = g, x = 1 ..1.5
s2 := 1.423574342
Cuando se aplica a ecuaciones polinmicas, el comando fsolve( ) proporciona una aproximacin de
todas las soluciones reales
> p d x6 Kx4 C0.75 x3 C0.25 xK1.32
p := x6 Kx4 C0.75 x3 C0.25 x K1.32
> fsolve p = 0, x
K1.402393886, 1.060940356
Dibujamos un grfico del polinomio para confirmar los valores de las raices proporcianados por
fsolve( )
> plot p, x =K2 ..2, y =K5 ..5

y
K2

K1

4
K2

1
x

Con la opcin complex, fsolve( ) proporciona tambin las soluciones complejas


> fsolve p = 0, x, complex
K1.40239388561125, K0.492204872015816 K0.745677422358486 I, K0.492204872015816
C0.745677422358486 I, 0.662931636809589 K0.819671091123570 I, 0.662931636809589
C0.819671091123570 I, 1.06094035602370

11. Ecuaciones diferenciales ordinarias (EDOs)


Volver a la tabla de contenidos
El comando dsolve(edo) resuelve ecuaciones diferenciales ordinarias
Obtencin de la solucin general
> edo d y'C2 y = sin x
d
edo :=
y x C2 y x = sin x
dx
> s d dsolve edo
1
2
K2 x
s := y x = K cos x C
sin x Ce _C1
5
5
El comando dsolve([edo,cond]) resuelve problemas de valor inicial, cond representa una secuencia
de condiciones iniciales (separadas por comas, cuando hay ms de una)
.
> edo d x C2 x = t
d
x t C2 x t = t
edo :=
dt
Pgina 19

Uso bsico de Maple

> cond d x 0 = 2

F. Palacios 2012

cond := x 0 = 2

> s d dsolve edo, cond

1
1
9 K2 t
C
tC
e
4
2
4
El comando odetest( ) permite verificar la correccin de la solucin obtenida con dsolve( ). Una lista
con dos ceros indica que la solucin verifica la EDO y la condicin inicial
> odetest s, edo, cond
0, 0
Podemos extraer una expresin de la solucin con el comando eval( )
> fx d eval x t , s
1
1
9
fx := K C
t C eK2 t
4
2
4
Una vez obtenida la expresin correspondiente a la solucin, podemos evaluarla con eval( ) o
representarla grficamente con plot( )
Valor de x t para t = 0.12
> vx d eval fx, t = 0.12
vx := 1.579912687
Representacin grfica de f en el intervalo t = [0,4]
> plot fx, t = 0 ..4, x = 0 ..2, gridlines, thickness = 2, color = blue
s := x t = K

2
1.5
x 1
0.5
0

2
t

Problema de valor inicial para EDO de segundo orden


Entramos la EDO usando la notacin punto para las derivadas. En esta caso la variable
independiente es t
..
.
> edo d x C2 x C5 x = 0
d2
d
edo := 2 x t C2
x t C5 x t = 0
dt
dt
Condiciones iniciales
.
> cond d x 0 = 2, x 0 =K1

cond := x 0 = 2, D x 0 = K1
Solucin del problema de valor inicial
> s d dsolve edo, cond
1 Kt
s := x t =
e sin 2 t C2 eKt cos 2 t
2
Obtenemos una expresin con la solucin
> fx d eval x t , s
Pgina 20

Uso bsico de Maple

fx :=

F. Palacios 2012

1 Kt
e sin 2 t C2 eKt cos 2 t
2

Valor de x t para t =1.6


> vx d eval fx, t = 1.6

vx := K0.4089972466
Representacin grfica de x(t) para valores de t en [0,6]
> plot fx, t = 0 ..6, gridlines, thickness = 2

2
1
0

3
t

Tiempo necesario para que x t tome el valor 0.75


> t1 d fsolve fx = 0.75
t1 := 0.5618757616
Tiempo necesario para que la solucin pase del valor x t = 1 hasta el valor x t = 0.25
> t1 d fsolve fx = 1
t1 := 0.4660615600
> t2 d fsolve fx = 0.25
t2 := 0.7747419625
> Delta t = t2 Kt1
t = 0.3086804025

12. Resolucin simblica de EDOs


Volver a la tabla de contenidos
El comando dsolve( ) puede manejar ecuaciones diferenciales y condiciones iniciales con
parmetros simblicos
> restart
.
> edo d y Ca y = cos w t
d
edo :=
y t Ca y t = cos w t
dt
> cond d y 0 = y0
cond := y 0 = y0
> s d dsolve edo, cond
s := y t = eKa t y0 K
Verificamos la correccin de la solucin
> odetest s, edo, cond

a
2
a Cw
2

cos w t a Csin w t w
2
2
a Cw

0, 0

Extraemos una expresin para la solucin


Pgina 21

Uso bsico de Maple

F. Palacios 2012

> fy d eval y t , s

a
cos w t a Csin w t w
C
2
a Cw
a2 Cw2
Usamos el comando eval( ) para calcular la solucin correspondiente a conjunto de valores
concretos de los parmetros
> valp d a = 2, w = 10, y0 = 3
valp := a = 2, w = 10, y0 = 3
fy := eKa t y0 K

> fyp d eval fy, valp

155 K2 t
1
5
e C
cos 10 t C
sin 10 t
52
52
52
Obtenemos una versin float con evalf( )
> fypf d evalf fyp
K2. t
fypf := 2.980769231 e C0.01923076923 cos 10. t C0.09615384615 sin 10. t
Grfico y valor de la solucin en t=1.3
> vy d eval fypf, t = 1.3
vy := 0.2792439728
> plot fypf, t = 0 ..4, gridlines, thickness = 2
fyp :=

3
2
1
0

2
t

Grfico mltiple que muestra la salida y la excitacin


> plot cos 10 t , fyp , t = 0 ..4, color = blue, red , gridlines, legend = "Excitacin",
"Respuesta" , thickness = 2

3
2
1
0
K1

Excitacin

2
t

Respuesta

>

Pgina 22

Uso bsico de Maple

F. Palacios 2012

13. Resolucin grfica de ODEs: campos de pendientes


Volver a la tabla de contenidos
Los campos de pendientes son una excelente representacin grfica para ODEs de primer orden en
la forma y' x = F x, y x . Los campos de pendientes permiten apreciar claramente el
comportamiento cualitativo de las soluciones.
El comando DEplot( ) de la libreria DEtools pemite dibujar los campos de pendientes de forma muy
simple.
!!! Para acceder a los comandos contenidos en una libreria, debemos
cargar previamente la libreria con el comando with( )
> with DEtools
AreSimilar, Closure, DEnormal, DEplot, DEplot3d, DEplot_polygon, DFactor, DFactorLCLM,
DFactorsols, Dchangevar, Desingularize, FunctionDecomposition, GCRD, Gosper, Heunsols,
Homomorphisms, IVPsol, IsHyperexponential, LCLM, MeijerGsols,
MultiplicativeDecomposition, ODEInvariants, PDEchangecoords, PolynomialNormalForm,
RationalCanonicalForm, ReduceHyperexp, RiemannPsols, Xchange, Xcommutator, Xgauge,
Zeilberger, abelsol, adjoint, autonomous, bernoullisol, buildsol, buildsym, canoni, caseplot,
casesplit, checkrank, chinisol, clairautsol, constcoeffsols, convertAlg, convertsys, dalembertsol,
dcoeffs, de2diffop, dfieldplot, diff_table, diffop2de, dperiodic_sols, dpolyform, dsubs, eigenring,
endomorphism_charpoly, equinv, eta_k, eulersols, exactsol, expsols, exterior_power, firint,
firtest, formal_sol, gen_exp, generate_ic, genhomosol, gensys, hamilton_eqs, hypergeomsols,
hyperode, indicialeq, infgen, initialdata, integrate_sols, intfactor, invariants, kovacicsols,
leftdivision, liesol, line_int, linearsol, matrixDE, matrix_riccati, maxdimsystems, moser_reduce,
muchange, mult, mutest, newton_polygon, normalG2, ode_int_y, ode_y1, odeadvisor, odepde,
parametricsol, particularsol, phaseportrait, poincare, polysols, power_equivalent,
rational_equivalent, ratsols, redode, reduceOrder, reduce_order, regular_parts, regularsp,
remove_RootOf, riccati_system, riccatisol, rifread, rifsimp, rightdivision, rtaylor, separablesol,
singularities, solve_group, super_reduce, symgen, symmetric_power, symmetric_product,
symtest, transinv, translate, untranslate, varparam, zoom
Escribimos la EDO usando la notacin prima para la derivada, en esta caso la variable independiente
es x
> edo d y'= x Ky2
d
edo :=
y x = x Ky x 2
dx
> DEplot edo, y x , x = 0 ..5, y =K2 ..2

2
y(x) 1
K1
K2

Pgina 23

Uso bsico de Maple

F. Palacios 2012

Tambin podemos incluir algunas soluciones particulares suminstrando a DEplot( ) una lista de
valores iniciales
> vinics d y 0 = 0 , y 0 = 1 , y 0 = 2 , y 0 =K0.7 , y 0 =K0.8
vinics := y 0 = 0 , y 0 = 1 , y 0 = 2 , y 0 = K0.7 , y 0 = K0.8
> DEplot edo, y x , x = 0 ..5, y =K2 ..2, vinics

2
y(x)

1
1

K1
K2

La opcin linecolor permite asignar ordenadamente colores a las diferentes soluciones particulares.
La opcin color controla el color de las flechas del campo
> vcols d black, blue, green, cyan, red
vcols := black, blue, green, cyan, red
> DEplot edo, y x , x = 0 ..5, y =K2 ..2, vinics , linecolor = vcols , color = gray

2
y(x)

1
1

K1

K2

14. Resolucin numrica de EDOs


Volver a la tabla de contenidos
La mayora de EDOs no tienen una solucin exacta, expresable como una combinacin de funciones
elementales
> restart
> edo d y'=Kx2 y Ccos x
d
edo :=
y x = Kx2 y x Ccos x
dx
> s d dsolve edo, y 0 = 1 , y x

1 3
x
3

s := y x = e

cos _z1 e

1
_z13
3

1 3
x
3

d_z1 Ce

Para estos casos, la opcin numeric del comando dsolve( ) nos permite obtener una aproximacin
numrica de la solucin
> sn d dsolve edo, y 0 = 1 , y x , numeric
sn := proc x_rkf45 ... end proc
El resultado que nos proporciona dsolve( ) con la opcin numeric es un programa (procedure) que
implementa un mtodo numrico para aproximar la funcin solucin. Por defecto, dsolve( )
Pgina 24

Uso bsico de Maple

F. Palacios 2012

implementa el mtodo de Runge-Kutta 45 forward. En caso necesario podemos indicar a dsolve( )


que implemente otros mtodos numricos
> sn 1.2
x = 1.2, y x = 1.14961123596730
El comando odeplot( ) de la libreria plots( ) nos permite dibujar una representacin grfica de la
solucin usando el programa proporcionado por dsolve( )
> with plots
animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal,
conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display,
dualaxisplot, fieldplot, fieldplot3d, gradplot, gradplot3d, implicitplot, implicitplot3d, inequal,
interactive, interactiveparams, intersectplot, listcontplot, listcontplot3d, listdensityplot, listplot,
listplot3d, loglogplot, logplot, matrixplot, multiple, odeplot, pareto, plotcompare, pointplot,
pointplot3d, polarplot, polygonplot, polygonplot3d, polyhedra_supported, polyhedraplot,
rootlocus, semilogplot, setcolors, setoptions, setoptions3d, spacecurve, sparsematrixplot,
surfdata, textplot, textplot3d, tubeplot
> odeplot sn, x = 0 ..5

1
0

x
Una EDO de segundo orden
> edo2 d y''Ccos x y'Cx sin x y = cos 20 x 2
d2
d
edo2 := 2 y x Ccos x
y x Cx sin x y x = cos 20 x 2
dx
dx
> cond d y 0 = 0, y' 0 =K1
cond := y 0 = 0, D y 0 = K1
> s d dsolve edo2, cond
s :=
Maple no consigue obtener una soluci exacta. Construimos una solucin aproximada con la opcin
numeric
> sn d dsolve edo2, cond , numeric
sn := proc x_rkf45 ... end proc
En este caso, el procedimiento programado por Maple nos proporciona, para cada x, una
aproximacin numrica del valor que toma la funcin y su derivada
> sn 1.2
d
x = 1.2, y x = K0.413056951893404,
y x = 0.187826374585524
dx
Representamos la solucin y x con odeplot( )
> odeplot sn, x = 0 ..10
Pgina 25

Uso bsico de Maple

1500
y 1000
500
0

F. Palacios 2012

10

x
Tambin podemos representar la derivada y' x como sigue
> odeplot sn, x, y' x , x = 0 ..10

4000
y' 2000
0

10

x
El siguiente comando dibuja el diagrama de fase
> odeplot sn, y x , y' x , x = 0 ..10

4000
3000
y' 2000
1000
0

500

1000
y

1500

Pgina 26

Uso bsico de Maple

F. Palacios 2012

15. Algunas diferencias entre Maple y Matlab


Volver a la tabla de contenidos
Acciones

Maple

Matlab

Editar

Edicin en hojas de trabajo y


documentos intractivos

Conjuntos de comandos en m-files

Presentacin de
resultados

Los resultados son presentados en la


misma hoja de trabajo, a continuacin
del comando

Los resultados se presenta en la


ventana de comandos

Ejecucin

[ENTER] ejecuta la lnea de comandos

[F5] ejecuta el m-file actual

Asignacin

:=

Eliminar presentacin
de resultados

Comentarios

Separacin de
comandos

Romper la lnea de
comandos sin ejecutar

[Shift]+[Enter]

[Enter], en el editor de m-files

Trabajo con nombres


no asignados

Los nombres no asignados actan


como variables simblicas

La evaluacin de un nombre no
asignado produce un error

Pgina 27

Prctica 1: Cada libre sin friccin

F. Palacios 2012

Computacin cientfica y tcnica con Maple

Prctica 1. Cada libre sin friccin


F. Palacios Quionero
Dept. Matemtica Aplicada III. Universidad Politcnica de Catalua
Ver. 1.1. Febrero, 2012

m, masa (in kg)


g = 9.81 m/s2, aceleracin de la gravedad
fg = m g, peso (en Newtons)
y t , posicin (en m)
.
v t = y t , velocidad (en m sK1
Ecuacin diferencial
..
..
m y =Km g 0 y t =Kg
El objetivo de este ejercicio prctico es obtener una experiencia directa en el
manejo de algunos comandos bsicos de Maple. Usamos para ello un problema
simple y bien conocido: la cada libre de un objeto cuando la friccin es
despreciable.

Ejemplo resuelto
Ecuacin diferencial, usando la notacin punto para las derivadas
> restart;
..
> edo d y =Kg
d2
edo := 2 y t = Kg
dt
Condiciones iniciales simblicas
.
> cond d y 0 = y0, y 0 = v0
cond := y 0 = y0, D y 0 = v0
Solucin simblica
> s d dsolve edo, cond

1
g t2 Cv0 t Cy0
2
Vemos que hemos obtenido la bien conocida frmula general del desplazaimento en el movimiento
uniformemente acelerado.
Lista de valores particulares
s := y t = K

Pgina 28

Prctica 1: Cada libre sin friccin

F. Palacios 2012

> vpart d y0 = 50, v0 = 10, g = 9.81


vpart := y0 = 50, v0 = 10, g = 9.81
Extraemos la expresion general del desplazamiento y t
> fy d eval y t , s
1
fy := K g t2 Cv0 t Cy0
2
Expresion particular del desplazamiento para los valores particulares contenidos en la lista vpart
> fyp d eval fy, vpart
fyp := K4.905000000 t2 C10 t C50
Grfico de y t para t 2 0, 5
> plot fyp, t = 0 ..5, gridlines

50
20
0
K20

La posicin despus de 4 segundos es un poco mayor de 10m


Posicin despus de t = 4 segundos
> tp d 4
tp := 4
> yp d eval fyp, t = tp
yp := 11.52000000
Expresin particular para la velocidad
> fvp d diff fyp, t
fvp := K9.810000000 t C10
Grafico de la velocidad para t 2 0, 5
> plot fvp, t = 0 ..5, gridlines

10
0
K10
K20
K30

3
t

La velocidad despus de 4 segundos est alrededor de -30m/s


Velocidad para t = 4s
> vp d eval fvp, t = tp
vp := K29.24000000
Tiempo de impacto contra el suelo
> ts d fsolve fyp = 0, t = 0 ..50
Pgina 29

Prctica 1: Cada libre sin friccin

F. Palacios 2012

ts := 4.370903613
Velocidad en el instante del impacto
> vs d eval fvp, t = ts

vs := K32.87856444

Grfico t-y
> plot fyp, t = 0 ..ts, gridlines

50
20
0

t
Tiempo para altura mxima (pico)
> tp d solve fvp = 0
Altura mxima
> yp d eval fyp, t = tp

tp := 1.019367992

yp := 55.09683996

Pgina 30

Prctica 1: Cada libre sin friccin

F. Palacios 2012

Actividades

..
Resuelve los siguientes apartados para la EDO y t =Kg
.
1. Calcula la solucin simblica para las condiciones iniciales y 0 = y0, y 0 = v0.
2. Calcula la solucin particular correspondiente a la posicin inicial y0 = 75m, la
velocidad inicial v0 = 28 m/ s, y el valor g = 9.81m/s2.

3. Dibuja el grfico de y t para 0 % t % 8s.


.
4. Calcula la velocidad v t = y t y dibuja el grfico de v t para 0 % t % 8s.
5. A partir de los grficos, realiza una estimacin aproximada del valor de la
posicin y la velocidad del objeto para t = 2.5 s
6. Calcula los valores de la posicin y la velocidad del objeto para t = 2.5s
7. Calcula la altura mxima y el tiempo correspondiente (Indicacin: la velocidad es
nula en cuando se alcanza la altura mxima). Observa los grficos
correspondientes para verificar que los valores obtenidos son consistentes con la
informacin grfica disponible.
8. Calcula el instante en que el objeto impacta contra el suelo, y la velocidad de
impacto. Observa los grficos para verificar la consistencia de los resultados
obtenidos.
9. Compara tus resultados con los obtenidos por alguno de tus compaeros. En caso
de discrepancia, intentad encontrar el error.
Nota. Como gua, puedes consultar el tutorial de Maple y el ejemplo resuelto. Sin
embargo, es recomendable que evites copiar literalmente los comandos, y/o copiarpegar fragmentos de cdigo. Recuerda que el objectivo de este ejercicio prctico es
obtener una experiencia prctica en el manejo de los comandos bsicos de Maple.

Soluciones
> restart;
Ecuacin diferencial, usamos la notacin punto para derivadas
..
> edo d y =Kg
d2
edo := 2 y t = Kg
dt
Condiciones iniciales simblicas
.
> cond d y 0 = y0, y 0 = v0

cond := y 0 = y0, D y 0 = v0

Solucin simblica
Pgina 31

Prctica 1: Cada libre sin friccin

> s d dsolve edo, cond

F. Palacios 2012

1
g t2 Cv0 t Cy0
2

s := y t = K

Lista de valores particulares


> vpart d y0 = 75, v0 = 28, g = 9.81
vpart := y0 = 75, v0 = 28, g = 9.81
Extraemos la expresion del desplazamiento y t
> fy d eval y t , s
1
fy := K g t2 Cv0 t Cy0
2
Expresion particular del desplazamiento para los valores particulares contenidos en la lista vpart
> fyp d eval fy, vpart
fyp := K4.905000000 t2 C28 t C75
Grfico de y t para t 2 0, 8
> plot fyp, t = 0 ..8, gridlines

100
60
0

4
t

La posicin despus de 2.5 segundos es un poco mayor de 110m


Posicin despus de t = 2.5 segundos
> tp d 2.5
tp := 2.5
> yp d eval fyp, t = tp
yp := 114.3437500
Expresin particular para la velocidad
> fvp d diff fyp, t
fvp := K9.810000000 t C28
Grfico de v t para t 2 0, 8
> plot fvp, t = 0 ..8, gridlines

20
K10
K30

4
t

K50
La velocidad en el instante t = 2.5 est alrededor de 4m/s. El cuerpo an est ascendiendo en ese
instante

Pgina 32

Prctica 1: Cada libre sin friccin

Velocidad para t = 2.5 s


> vp d eval fvp, t = tp

F. Palacios 2012

vp := 3.47500000

Tiempo de impacto contra el suelo


> ts d fsolve fyp = 0, t = 0 ..50

ts := 7.695423507

Velocidad en el instante del impacto


> vs d eval fvp, t = ts

vs := K47.49210460

Grfico t-y, ajustado al tiempo de vuelo


> plot fyp, t = 0 ..ts, gridlines

100
60
0
Tiempo para altura mxima (pico)
> tp d solve fvp = 0
Altura mxima
> yp d eval fyp, t = tp

4
t

tp := 2.854230377

yp := 114.9592253

>

Pgina 33

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

Computacin cientfica y tcnica con Maple

Prctica 2. Ley de enfriamiento de Newton


F. Palacios Quionero
Dept. Matemtica Aplicada III. Universidad Politcnica de Catalua
Ver. 1.1. Febrero, 2012

En este ejercicio prctico, vamos a estudiar la evolucin de la temperatura de un objeto


x t ubicado en un entorno con una temperatura Text t . Para este problema, la Ley de
enfriamiento de Newton establece que el cambio de temperatura en el objeto es
proporcional a la diferencia de temperatura entre el objeto y el medio Text Kx t .
Con mayor precisin,
d
x t = a Text t K x t ,
dt
donde los distintos smbolos tienen el siguiente significado:
t, tiempo (en minutos)
x t temperatura del cuerpo (en C)
Text t temperatura externa (en C)
a O 0, constante de proporcionalidad
.
Observa que si Text t O x t 0 x t O 0. Por lo tanto, x t es creciente en este
caso. Anlogamente, x t decrece para Text t ! x t .

Ejemplo 1. Un ejemplo bsico


> restart
Ecuacin diferencial
.
> edo d x = a Text Kx
edo :=

d
x t = a Text Kx t
dt

Condiciones iniciales
Pgina 34

Prctica 2. Ley de enfriamiento de Newton

> cond d x 0 = x0

F. Palacios 2012

cond := x 0 = x0

Solucin simblica
> s d dsolve edo, cond
s := x t = Text CeKa t x0 KText
Test de la solucin
> odetest s, edo, cond

0, 0

Expresin para x t
> fx d eval x t , s

fx := Text CeKa t x0 KText

Valores particulares de los parmetros y la condicin inicial


1
> pvals d a = , x0 = 100, Text = 20
2
1
pvals := a = , x0 = 100, Text = 20
2
Expresin de la solucin para los valores particulares de los parmetros
> fxp d eval fx, pvals
1
t
2

fxp := 20 C80 e
Temperatura despus de 5 minutos
> vx d eval fxp, t = 5.

vx := 26.56679989
Evolucin de la temperatura x t para los primeros 40 minutos
> plot fxp, t = 0 ..40, x = 0 ..100, gridlines

100
x

60
0

10

20
t

30

40

Tiempo necesario para que la temperatua del objeto descienda hasta 45C
> vt d fsolve fxp = 45
vt := 2.326301620

Pgina 35

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

Ejemplo 2. Un ejemplo algo ms realista


En un determinado momento, la temperatura de un horno es de 220 C. Despus de
15 minutos, la temperatura ha descendido hasta 85 C.
a) Suponiendo que la temperatura ambiente se mantiene constante a 25C, usa la
Ley de Enfriamiento de Newton para calcular la temperatura del horno despus
de 30 minutos.
b) Asumiendo que el horno incorpora un mecanismo de seguridad que impide la
apertura a temperaturas superiores a 45C, calcula el tiempo necesario para la
apertura del horno.
Empezamos con los mismos cuatro pasos iniciales seguidos en el ejemplo anterior.
> restart;
Ecuacin diferencial
.
> edo d x = a Text Kx
d
edo :=
x t = a Text Kx t
dt
Condiciones iniciales
> cond d x 0 = x0
cond := x 0 = x0
Solucin simblica
> s d dsolve edo, cond
s := x t = Text CeKa t x0 KText
> fx d eval x t , s

fx := Text CeKa t x0 KText

Ahora, introducimos los valores particulares de la temperatura inicial x0 = 220 C, y la temperatura


exterior Text = 25 C
> pvals1 d Text = 25, x0 = 220

pvals1 := Text = 25, x0 = 220

Obenemos la expresin de la solucin con esos valores particulars de los parmetros


> fx1 d eval fx, pvals1
fx1 := 25 C195 eKa t
A continuacin, usamos la informacin adicional x 15 = 85 C para calcular el valor de la
constante de proporcionalidad a
> vx15 d eval fx1, t = 15
vx15 := 25 C195 eK15 a
Valor exacto de a
> va d solve vx15 = 85
Pgina 36

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

1
4
ln
15
13

va := K
Aproximacin float del valor de a
> vaf d evalf va

vaf := 0.07857699974
Una vez calculado el valor de a, obtenemos la expresion de la solucin
> fx2 d eval fx1, a = va
fx2 := 25 C195 e

4
1
ln
13
15

Expresion float
> fx2f d evalf fx2

fx2f := 25. C195. eK0.07857699974 t


Evolucin de la temperatura para los primeros 100 minutos
> plot fx2, t = 0 ..100, x = 0 ..220, gridlines, color = blue , thickness = 2

200
x 100
0

20

40

60

80

100

t
Temperatura del horno despus de 30 minuntos
> v30 d eval fx2f, t = 30.
v30 := 43.46153847
Tiempo para apertura de seguridad
> ts d solve fx2 = 45
4
15 ln
39
ts :=
4
ln
13
Aproximacin float
> tsf d evalf ts
tsf := 28.98134686
Resolucin grfica
> plot fx2, 45 , t = 0 ..60, x = 0 ..220, gridlines, color = blue, red , thickness = 2, 1

200
150
x 100
50
0

10

20

30
t

40

50

60
Pgina 37

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

Ejemplo 3. Estudio del tiempo de enfriamiento en funcin del valor de


la temperatura del medio
En el ejemplo anterior hemos obtenido una expresin genrica para la temperatura x t . El nombre
asignado a esa solucin es fx
> fx
Text CeKa t x0 KText
Maple nos permite resolver todas las cuestiones anteriores manteniendo indeterminado el valor de
los parmetros y la condicin inicial. Para ilustrar el inters de este enfoque, vamos a estudiar el
tiempo de enfriamiento en funcin de la temperatura del medio Text
Tiempo necesario para alcazar la temperatura de apertura segura 45 C
> t45 d solve fx = 45, t
Text K45
ln
Kx0 CText
t45 := K
a
Usando esta expresin, podemos investigar la dependencia del tiempo de apertura segura respecto
de la temperatura externa. En este ejemplo, tomaremos los valores correspondientes al horno del
Ejemplo 2
> pvals2 d a = va, x0 = 220
1
4
pvals2 := a = K
ln
, x0 = 220
15
13
Evaluamos el tiempo de enfriamiento seguro para los valores particulares de a y x0
> ts d eval t45, pvals2
15 ln
ts :=

Text K45
K220 CText
ln

4
13

Evaluacin float
> tsf d evalf ts
tsf := K12.72637035 ln

Text K45.
K220. CText

Grfico del tiempo de enfriamiento seguro en funcin de la temperatura exterior


> plot tsf, Text =K10 ..50, t = 0 ..80, gridlines, thickness = 2, title = "Tiempo de apertura"

Tiempo de apertura

80
t
K10

50
20
0

10

20 30
Text

40

50
Pgina 38

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

A partir del grfico, podemos apreciar claramente que el tiempo de enfriamieno seguro aumenta
significativamente cuando la temperatura del medio est alrededor de 40C. La asntota vertical
localizada en Text = 45 C indica que la temperatura de seguridad no puede alcanzarse (obviamente)
cuando Text R 45 C.
Si asumimos que el horno opera normalmente en el rango de temperaturas externas 20 % Text % 40,
podemos dibujar el siguiente grfico:
> plot tsf, Text = 20 ..40, t = 25 ..45, gridlines, thickness = 2, title = "Tiempo de apertura"

45
40
t 35
30
25

Tiempo de apertura

25

30
Text

35

40

En el grfico podemos apreciar una importante variabilidad en el tiempo de enfriamiento seguro,


con un rango aproximado de 20 minutos. A continuacin, calculamos con precisin ese rango
> ts20 d eval tsf, Text = 20.
ts20 := 26.46374318
> ts40 d eval tsf, Text = 40.
ts40 := 45.60518916
> rangts d ts40 Kts20
rangts := 19.14144598
>

Pgina 39

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

Actividad 1
Tomando como referencia el Ejemplo 1, resuelve las siguiente cuestiones para la EDO
d
x t = a Text t Kx t
dt
1. Resuelve la ecuacin diferencial para los valores particualres a = 0.2, Text = 35C,
y la temperatura inicial x 0 = 300 C
2. Dibuja el grfico de la temperatura x t para la primera media hora (t 2 0, 30 .
Incluye la cuadrcula en el grfico.
3. A partir del grfico, estima aproximadamente el valor de la temperatura para
t = 10 min.
4. Calcula con eval( ) la temperatura x 10 . Compara el valor obtenido con la
estimacin que has hecho a partir del grfico.
5. Usa el grfico para estimar el tiempo necesario para que el objeto alcance una
temperatura de 150C.
6. Calcula con fsolve( ) el tiempo necesario para que el objeto alcance 150C.
Compara el resultado con la estimacin anterior.

Actividad 2
Ahora supongamos que tenemos un horno a 530C y que, despus de 15 minutos, la
temperatura ha decrecido hasta 110C.
1. Asumiendo que la temperatura del entorno se mantiene constante a 30C, usa la
ley de enfriamiento de Newton para determinar la temperatura despus de 22
minutos.
2. Dibuja un grfico de la evolucin de la temperatura x t a lo largo de la primera
media hora. Usa el grfico para estimar la temperatura despus de 10 minutos, y
el tiempo necesario para que el horno descienda hasta una temperatura de 150C.
3. Calcula con eval( ) la temperatura x 10 .
4. Calcula con fsolve( ) el tiempo t para x t = 150C.
Nota: Puedes usar el Ejemplo 2 como orientacin. Consulta el ejemplo e intenta escibir
tu propio cdigo, procurando comprender el funcionamiento de los comandos y su
sintaxis.

Pgina 40

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

Actividad 3
Para los valores particulares a = 0.3, y Text = 40C.
1. Dibuja el campo de pendientes de la ecuacin diferencial. Usa los intervalos
0 % t % 40 min, 0 % x t % 300 C.
2. Dibuja sobre el campo de pendientes la solucin particular correspondiente a la
temperatua inicial x 0 = 200 C. Para esta solucin particular, estima sobre el
grfico la temperatura en t = 5 min, y el tiempo requerido para x t = 150 C.
Dibuja la curva en color azul y grosor doble (opciones linecolor=blue y
thickness=2).
3. Dibuja el campo de pendientes con las soluciones particulares correspondientes a
las condiciones iniciales x 0 = 300 C, x 0 = 250 C, x 0 = 200 C, x 0 = 40
C, x 0 = 20 C. Dibuja las flechas del campo en color gris (opcin color=gray),
y assigna los colores black, red, green, blue, cyan a las diferentes curvas.
6. Suponiendo que la temperatura inicial se sita en el rango [200 C, 300 C],
realiza una estimacin del rango de temperaturas despus de 4 minutos.
7. Suponiendo que la temperatura inicial est en el rango [200 C, 300 C], realiza
una estimacin del tiempo requerido para que la temperatura del objeto descienda
hasta 100C.
8. Explica el comportamiento de las curvas con condiciones iniciales x 0 = 40 C,
x 0 = 20 C.
9. Calcula valores numricos para las estimaciones realizadas en los apartados (2),
(4) and (5).

Pgina 41

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

Soluciones
Actividad 1
EDO
> restart
.
> edo d x = a Text Kx
edo :=
Condiciones iniciales
> cond d x 0 = x0

d
x t = a Text Kx t
dt

cond := x 0 = x0

Solucin simblica
> s d dsolve edo, cond
s := x t = Text CeKa t x0 KText
Expresin para la solucin
> fx d eval x t , s

fx := Text CeKa t x0 KText

Valores particulares de los parmetros y la condicin inicial


> pvals d a = 0.2, Text = 35, x0 = 300
pvals := a = 0.2, Text = 35, x0 = 300
Espresin para la solucin particular
> fxp d eval fx, pvals

fxp := 35 C265 eK0.2 t

Grfico
> plot fxp, t = 0 ..30, gridlines

300
200
100
0

10

20

30

t
Valor estimado en el grfico x(10) z 75
Valor calculado para x 10
> vx10 d eval fxp, t = 10.
vx10 := 70.86385005
Tiempo estimado para x t = 150 / 4min
Tiempo calculado para x t = 150
Pgina 42

Prctica 2. Ley de enfriamiento de Newton

> t150 d fsolve fxp = 150

F. Palacios 2012

t150 := 4.173988488

Actividad 2
1. Temperatura despus de 22min.
> restart
Primero, calculamos el valor de la constante a
EDO
.
> edo d x = a$ Text Kx
d
edo :=
x t = a Text Kx t
dt
> cond d x 0 = 530
cond := x 0 = 530
> s d dsolve edo, cond
s := x t = Text CeKa t 530 KText
> fx d eval x t , s

fx := Text CeKa t 530 KText

> fxp d eval fx, Text = 30


fxp := 30 C500 eKa t
> vx15 d eval fxp, t = 15

vx15 := 30 C500 eK15 a

> va d solve vx15 = 110, a

1
4
ln
15
25

va := K
> vaf d evalf va

vaf := 0.1221720976

Expresin para x t
> fxp1 d eval fxp, a = vaf

fxp1 := 30 C500 eK0.1221720976 t

Temperatura despus de 22min


> vx22 d eval fxp1, t = 22

vx22 := 64.01569213

2.1 Grafico para la primer hora


> plot fxp1, t = 0 ..60, x = 0 ..600, gridlines

600
400
x
200
0

10

20

30
t

40

50

60
Pgina 43

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

Valores estimados: x 10 z 175 C; tiempo aproximado para x t = 150 C / t z 12 min.


2.3, 2.4 Valores calculados
> vx10 d eval fxp1, t = 10.
vx10 := 177.3612599
> vt150 d fsolve fxp1 = 150
vt150 := 11.68119713

Actividad 3
3.1 Campo de pendientes
> restart
.
> edo d x = a Text Kx
edo :=
> pvals d a = 0.3, Text = 40

d
x t = a Text Kx t
dt

pvals := a = 0.3, Text = 40

EDO particular para los valores de los parmetros


> edop d eval edo, pvals
d
edop :=
x t = 12.0 K0.3 x t
dt
Carga de la libreria DEtools
> with DEtools :
> DEplot edop, x t , t = 0 ..40, x = 0 ..300

300
x(t)

200
100
0

10

20
t

30

40

3.2 Grfico de la solucin del problema de valor inicial con x 0 = 200


> DEplot edop, x t , t = 0 ..40, x = 0 ..300, x 0 = 200 , linecolor = blue

300
x(t)

200
100
0

10

20
t

30

40

Valores estimados a partir del grfico: temperatura para t = 5min z 75 C. Tiempe para
x t = 150 C, approx 1.5 min.
Pgina 44

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

3.3 Conjunto de soluciones para los valores iniciales dados


> pvalins d x 0 = 300, x 0 = 250, x 0 = 200, x 0 = 40, x 0 = 20
pvalins := x 0 = 300, x 0 = 250, x 0 = 200, x 0 = 40, x 0 = 20
> pcols d black, red, green, blue, cyan
pcols := black, red, green, blue, cyan
> DEplot edop, x t , t = 0 ..40, x = 0 ..300, pvalins , linecolor = pcols , color = gray,
thickness = 2

300
x(t)

200
100
0

10

20
t

30

40

3.4 Estimacin del rango de temperaturas despus de 4 min para soluciones con valores
inciales en el rango [200,300]
> pvalins d x 0 = 300, x 0 = 250, x 0 = 200
pvalins := x 0 = 300, x 0 = 250, x 0 = 200
> pcols d black, red, green
pcols := black, red, green
> DEplot edop, x t , t = 0 ..4, x = 0 ..300, pvalins , linecolor = pcols , color = gray,
thickness = 2

300

x(t)

200
100
0

2
t

El rango aproximado de temperaturas es [90,120]


3.5 Estimacin del rango de tiempo para temp=100 C cuando la temperatura incial est en
el rango [200,300]
> DEplot edop, x t , t = 0 ..6, x = 0 ..300, pvalins , linecolor = pcols , thickness = 2, color
= gray

Pgina 45

Prctica 2. Ley de enfriamiento de Newton

F. Palacios 2012

300

x(t)

200
100

3
t

>
El rango aproximado de tiempos es 3-5 min.

Pgina 46

Você também pode gostar