m1_introduccion a maple - OCW UPM

Anuncio
Universidad Politécnica de Madrid
Ingeniería de Minas
INTRODUCCIÓN
INTRODUCCIÓN A
A MAPLE
MAPLE
Prof. Carlos Conde Lázaro
Prof. Arturo Hidalgo López
Prof. Alfredo López Benito
Departamento de Matemática Aplicada y Métodos Informáticos
Febrero, 2007
1
Universidad Politécnica de Madrid
Ingeniería de Minas
OPCIONES
OPCIONES INICIALES
INICIALES DE
DE ENTORNO
ENTORNO
Classic Worksheet Maple 9.lnk
Maple 9.lnk
Entorno Clásico
(similar al de versiones de
MAPLE anteriores)
Nuevo entorno
(no existente en las
versiones anteriores)
Departamento de Matemática Aplicada y Métodos Informáticos
2
Universidad Politécnica de Madrid
Ingeniería de Minas
TIPOS
TIPOS DE
DE LÍNEAS
LÍNEAS EN
EN MAPLE
MAPLE
[>
Líneas para escribir instrucciones ejecutables
[
Líneas de texto (no ejecutables)
Por defecto se ceran como ejecutables ( [ > ). Se
convierten en líneas de texto pinchando sobre el icono T
Para abrir nuevas líneas:
Icono [> : Abre línea debajo de la actual
Ubicarse sobre el corchete [ y pulsar “return”:
Abre línea encima de la actual
Departamento de Matemática Aplicada y Métodos Informáticos
3
Universidad Politécnica de Madrid
Ingeniería de Minas
Grupos
Grupos de
de ejecución
ejecución
Instrucciones y textos pueden escribirse en más de una
línea. Y más de una línea pueden escribirse dentro de un
mismo “corchete” formando un “grupo de ejecución”.
Para agrupar en un mismo “corchete” más de una línea,
puede presionarse la tecla de mayúscula ( ) y, sin dejar
de presionarla, presionar la tecla de Return ( )
> Tras esta línea se presionó “Mayúscula + Return”
Y tras esta también
Y se volvió a presionar “Mayúscula + Return”
Para finalizar el ejemplo presionando sólo “Return”
Departamento de Matemática Aplicada y Métodos Informáticos
4
Universidad Politécnica de Madrid
Ingeniería de Minas
Secciones
Secciones en
en una
una “Hoja
“Hoja MAPLE”
MAPLE”
Los programas, o procedimientos, pueden escribirse en
secciones de MAPLE. Se identifican con un botón
o
en los que se pueden incluir nuevas secciones.
+ -
Para crear una sección se usa el botón
Con el mismo botón pueden crearse subsecciones y
sub-sub-secciones.
Para deshacer una sección se utiliza el botón
Departamento de Matemática Aplicada y Métodos Informáticos
5
Universidad Politécnica de Madrid
Ingeniería de Minas
Finalización
Finalización de
de líneas
líneas ejecutables
ejecutables
Finalización de las líneas ejecutables:
:
;
Ejecuta la instrucción sin mostrar el resultado
Ejecuta la instrucción mostrando el resultado
Departamento de Matemática Aplicada y Métodos Informáticos
6
Ingeniería de Minas
Universidad Politécnica de Madrid
Operadores
Operadores Aritméticos
Aritméticos
+
Suma
-
Resta
*
Producto
/
** ó ^
sqrt( )
División Potenciación Raíz
Cuadrada
Las operaciones se pueden agrupar usando paréntesis ( )
En los números decimales se separa la parte entera de
la decimal con un punto decimal ( . )
Departamento de Matemática Aplicada y Métodos Informáticos
7
Ingeniería de Minas
Universidad Politécnica de Madrid
Ejercicio
Ejercicio
Programar en una línea y obtener el resultado decimal de :
( 5.23 + 2·4.23 )
3
13
−
2 + 3·9
SOLUCIÓN:
[ > (5.23+2.*4.23)**3 - sqrt(13/(2+3*9));
1
Resultado: 2565.726409 − · 377
29
Departamento de Matemática Aplicada y Métodos Informáticos
8
Ingeniería de Minas
Universidad Politécnica de Madrid
Evaluación
Evaluación de
de expresiones
expresiones
MAPLE opera en aritmética exacta
Para obtener el número decimal que aproxima el resultado
de una operación se puede seguir alguno de los dos
caminos siguientes:
Escribir los números enteros acabando en un
punto decimal
Utilizar el comando [> evalf( expresión, n)
Expresión
a evaluar
Departamento de Matemática Aplicada y Métodos Informáticos
Número de
dígitos
del resultado
9
Ingeniería de Minas
Universidad Politécnica de Madrid
Ejercicio
Ejercicio 11
Programar en una línea y obtener el resultado decimal de :
( 5.23 + 2·4.23 )
a) con 10 dígitos;
3
13
−
2 + 3·9
b) con 14 dígitos
Solución:
[ > (5.23+2.*4.23)**3 - sqrt(13./(2+3*9));
2565.056875
[ > evalf((5.23+2.*4.23)**3-sqrt(13./(2+3*9)),14);
2565.0568749366
Departamento de Matemática Aplicada y Métodos Informáticos
10
Universidad Politécnica de Madrid
Ingeniería de Minas
Asignación
Asignación de
de resultados
resultados aa variables
variables
Los resultados de una operación se pueden conservar
asignándoselos a un nombre. El operador de asignación
es:
:=
[> nombre := lo que se quiere guardar con el nombre
Para visualizar lo que se almacena en una variable basta
con escribir su nombre (y acabar en ; o en :)
Ejemplo:
[> resultado1:=7*24.:
[> resultado1;
168.
IMPORTANTE: MAPLE diferencia mayúsculas de minúsculas
Departamento de Matemática Aplicada y Métodos Informáticos
11
Ingeniería de Minas
Universidad Politécnica de Madrid
Algunas
Algunas Funciones
Funciones Predefinidas
Predefinidas de
de MAPLE
MAPLE
Las siguientes funciones se evalúan en lo que valga la
la expresión expr.
Sintaxis MAPLE
Equivalencia matemática
[> exp(expr);
eexpr
[> log(expr);
ln(expr)
[> ln(expr);
ln(expr)
[> log10(expr);
log(expr)
[> log[n](expr);
logn(expr)
[> abs(expr);
|expr|
Departamento de Matemática Aplicada y Métodos Informáticos
12
Ingeniería de Minas
Universidad Politécnica de Madrid
Algunas
Algunas Funciones
Funciones Predefinidas
Predefinidas de
de MAPLE
MAPLE (cont.)
(cont.)
Las siguientes funciones se evalúan en lo que valga la
la expresión expr.
Sintaxis MAPLE
Equivalencia matemática
[> sin(expr);
sin(expr)
[> cos(expr);
cos(expr)
[> tan(expr);
tg(expr)
[> sec(expr);
sec(expr)
[> csc(expr);
cosec(expr)
[> cot(expr);
cotg(expr)
Departamento de Matemática Aplicada y Métodos Informáticos
expr se
considera
en radianes
13
Universidad Politécnica de Madrid
Ingeniería de Minas
Algunas
Algunas Funciones
Funciones Predefinidas
Predefinidas de
de MAPLE
MAPLE (cont.)
(cont.)
Las siguientes funciones se evalúan en lo que valga la
la expresión expr.
Sintaxis MAPLE
Equivalencia matemática
[> arcsin(expr);
arcsen(expr)
[> arccos(expr);
arccos(expr)
[> arctan(expr);
[> arcsec(expr);
arctg(expr)
arcsec(expr)
[> arccsc(expr);
[> arccot(expr);
arccosec(expr)
arccotg(expr)
Departamento de Matemática Aplicada y Métodos Informáticos
resultado
en
radianes
14
Ingeniería de Minas
Universidad Politécnica de Madrid
Algunas
Algunas constantes
constantes en
en MAPLE
MAPLE
Número e:
exp(1);
Número S:
Pi
Unidad imaginaria: I
Modificación de los dígitos de trabajo en MAPLE por defecto
Por defecto MAPLE trabaja con números de 10 dígitos.
Si se desea variar para que trabaje con n dígitos se debe
escribir la instrucción:
[> Digits:=n;
Departamento de Matemática Aplicada y Métodos Informáticos
15
Universidad Politécnica de Madrid
Ingeniería de Minas
Ejercicio
Ejercicio 22
Trabajando con 20 dígitos:
1º) Almacena en la variable A el valor de la expresión:
⎛4 ⎞
5 * sen ⎜ ·π ⎟
⎝3 ⎠
2º) Almacena en la variable B el valor de:
⎛
⎛ e ⎞⎞
ln ⎜ cos ⎜
⎟⎟
⎝ 9·π ⎠ ⎠
⎝
3º) Obtén el resultado de AB.
Deben evaluarse con 20 dígitos los valores de A, B y AB
Departamento de Matemática Aplicada y Métodos Informáticos
16
Universidad Politécnica de Madrid
Ingeniería de Minas
Solución
Solución al
al ejercicio
ejercicio 22
[> A:=evalf(5*sin(4*Pi/3),20);
A:= -4.3301270189221932338
[> B:=evalf(ln(cos(exp(1)/sqrt(9*Pi))),20);
B:= -.13678951856254066353
[> evalf(A**B,20);
.74393206723465541471 – .34094605986448542823 I
Departamento de Matemática Aplicada y Métodos Informáticos
17
Universidad Politécnica de Madrid
Ingeniería de Minas
Reinicio
Reinicio de
de procesos
procesos de
de cálculo
cálculo
Para “limpiar” los valores de todas las variables y comenzar un proceso nuevo se utiliza la instrucción:
[> restart;
Cuando se ejecuta “restart” es como si se iniciase MAPLE
Departamento de Matemática Aplicada y Métodos Informáticos
18
Universidad Politécnica de Madrid
Ingeniería de Minas
Definición
Definición de
de funciones
funciones
Definición de funciones en MAPLE
[> nombre_función:= (argumentos) -> expresión
Ejemplos:
f(x) = 5·x·cos(e
(4 / x 2 )
)
[> f:=x->5*x*cos(exp(4/x^2));
sen(x + y)
g(x, y) =
2 + cos(x − y)
[> g:=(x,y)->sin(x+y)/(2+cos(x-y));
Departamento de Matemática Aplicada y Métodos Informáticos
19
Universidad Politécnica de Madrid
Ingeniería de Minas
Evaluación
Evaluación de
de funciones
funciones en
en MAPLE
MAPLE
[> nombre_función(valor argumentos);
Ejemplos:
[> f:=x->5*x*cos(exp(4/x^2)):
[> f(7.);
16.34017590
[> g:=(x,y)->sin(x+y)/(2+cos(x-y));
[> g(0.36,4.*Pi);
[> evalf(%);
sin(.36 + 4·π)
2 + cos(−.36 + 4·π )
.1199886302
% usa el último valor calculado por MAPLE
Departamento de Matemática Aplicada y Métodos Informáticos
20
Universidad Politécnica de Madrid
Ingeniería de Minas
Dibujo
Dibujo de
de de
de funciones
funciones yy expresiones
expresiones
en
en MAPLE
MAPLE
“Conviene” cargar la librería plots:
[> with(plots):
Para dibujar una función:
Comando básico:
Intervalo de dibujo
[> plot(nombre_función, a..b);
Ejemplo:
[> f:=x->5*x*cos(exp(4*x**2)):
[> plot(f,0..Pi/3);
Departamento de Matemática Aplicada y Métodos Informáticos
21
Universidad Politécnica de Madrid
Ingeniería de Minas
Dibujo
Dibujo de
de de
de funciones
funciones yy expresiones
expresiones
en
en MAPLE
MAPLE (algunas
(algunas opciones)
opciones)
[> plot(nombre_función, a..b, opciones);
Se pueden indicar las opciones que se deseen (separadas
por comas) entre las siguientes:
color = black, red, blue, green, gray, yellow, pink,
brown, gold, ...... Æ Color del gráfico
thickness = 0, 1, 2 ó 3 Æ Grosor del grafo
title = “Título” Æ Título del dibujo
font = [Tipo, Aspecto, Tamaño] Æ Tipo de letra
TIMES, COURIER, HELVETICA, .. BOLD, OBLIQUE, ...
8, 10, 12, 24, ..
Departamento de Matemática Aplicada y Métodos Informáticos
22
Universidad Politécnica de Madrid
Ingeniería de Minas
Dibujo
Dibujo de
de de
de funciones
funciones yy expresiones
expresiones
en
en MAPLE
MAPLE (algunas
(algunas opciones)
opciones)
axesfont =
[Tipo, Aspecto, Tamaño] Æ Tipo de letra
linestyle =
1, 2, 3 ó 4 Æ Tipo de línea
de los ejes
labels = [“Eje X”, “Eje Y”] Æ Etiquetas de los ejes
Continua
Punteada Discontinua
a tramos
Discontinua a tramos
separados por puntos
numpoints = n Æ Número de puntos para hacer el dibujo
tickmarks = [n, m] Æ Número de coordenadas señaladas
en los ejes del dibujo
.....
y otras (que pueden consultarse con Help)
Departamento de Matemática Aplicada y Métodos Informáticos
23
Universidad Politécnica de Madrid
Ingeniería de Minas
Ejercicio
Ejercicio 33
1 − e− x
1º) Dibujar la función f(x) =
en [0, 5]
1.5 + cos(x)
2º) Repetir el dibujo en trazo grueso, discontinuo y color
azul
3º) Añadir al gráfico anterior el título ‘Mi primer dibujo’
escribiendo el título en letra Helvética negrita y con
tamaño de 20 puntos
Departamento de Matemática Aplicada y Métodos Informáticos
24
Universidad Politécnica de Madrid
Ingeniería de Minas
Solución
Solución al
al ejercicio
ejercicio 33
[> f:=x->(1-exp(-x))/(1.5+cos(x)):
[> plot(f,0..5);
[>plot(f,0..5,thickness=4,linestyle=3,color=blue);
Departamento de Matemática Aplicada y Métodos Informáticos
25
Universidad Politécnica de Madrid
Ingeniería de Minas
Solución
Solución al
al ejercicio
ejercicio 33 (cont.)
(cont.)
[> plot(f,0..5,thickness=4,linestyle=3,color=blue,
title="Mi primer dibujo",
titlefont=[HELVETICA,BOLD,20]);
Departamento de Matemática Aplicada y Métodos Informáticos
26
Universidad Politécnica de Madrid
Ingeniería de Minas
Otra
Otra forma
forma de
de dibujar
dibujar funciones
funciones
[> plot(nombre_función(argumento), argumento= a..b, opciones);
Diferencia: En el eje X pone el nombre de la variable
“argumento”
Departamento de Matemática Aplicada y Métodos Informáticos
27
Universidad Politécnica de Madrid
Ingeniería de Minas
Dibujo
Dibujo de
de expresiones
expresiones
Para dibujar una expresión:
[> plot(expr , arg= a..b, opciones);
Donde arg es el nombre de la variable que figure en la
expresión y expr es la expresión o el nombre de la variable a la que se asignó la expresión
Departamento de Matemática Aplicada y Métodos Informáticos
28
Universidad Politécnica de Madrid
Ingeniería de Minas
Ejemplo
Ejemplo
[> a:=x*(x+cos(x)):
[> plot(a,x=0..5,thickness=2,linestyle=2,
color=brown,title="x*(x+cos(x))",
titlefont=[TIMES,ITALIC,18],tickmarks=[5,10]);
Departamento de Matemática Aplicada y Métodos Informáticos
29
Universidad Politécnica de Madrid
Ingeniería de Minas
Visualización
Visualización de
de varios
varios dibujos
dibujos en
en
un
un mismo
mismo gráfico
gráfico
Se usa el comando display de la librería plots. Por ello,
antes de usarlo debe cargarse la librería: [> with(plots):
Paso 1º:
Construir cada una de las gráficas asignándoselas a una
variable
[> dibu1:=plot(expr1 , arg= a..b, opciones):
[> dibu2:=plot(expr2 , arg= a..b, opciones):
[> dibu3:=plot(nombre_func , a..b, opciones):
Departamento de Matemática Aplicada y Métodos Informáticos
30
Universidad Politécnica de Madrid
Ingeniería de Minas
Visualización
Visualización de
de varios
varios dibujos
dibujos en
en
un
un mismo
mismo gráfico
gráfico (cont.)
(cont.)
Paso 2º:
Visualizar los dibujos con el comando display
[> display(dibu1, dibu2, dibu3);
Departamento de Matemática Aplicada y Métodos Informáticos
31
Universidad Politécnica de Madrid
Ingeniería de Minas
Ejercicio
Ejercicio 44
Representar en una misma gráfica y en el intervalo [0, 5]
el grafo (en verde) de la función:
1 − e− x
f(x) =
1.5 + cos(x)
y el grafo (en marrón) de la expresión: x · (x + cos(x))
SOLUCIÓN:
[>dibf:=plot(f,0..5,thickness=4,linestyle=3,
color=green):
[> diba:=plot(a,x=0..5,thickness=2,linestyle=2,
color=brown):
[> display(dibf,diba);
Departamento de Matemática Aplicada y Métodos Informáticos
32
Universidad Politécnica de Madrid
Ingeniería de Minas
Ejercicio
Ejercicio (cont.)
(cont.)
Departamento de Matemática Aplicada y Métodos Informáticos
33
Universidad Politécnica de Madrid
Ingeniería de Minas
Comandos
Comandos plot
plot yy display
display
En el comando display pueden introducirse muchas de las
opciones de dibujo (ver anteriormente las señaladas para
plot) aunque no todas
Ejemplo:
En el ejercicio anterior puede sustituirse la última instrucción por:
[> display(dibf,diba,title="Dibujo de dos curvas");
Departamento de Matemática Aplicada y Métodos Informáticos
34
Universidad Politécnica de Madrid
Ingeniería de Minas
Comandos
Comandos plot
plot yy display
display (2)
(2)
Otra forma (sin usar display) consiste en escribir todas las
funciones a dibujar en el mismo comando plot.
Ejemplo:
[> plot([f(x),x*(x+cos(x))],x=0..5, y=-4..26,
thickness=2,linestyle=2,color=[green,brown],
legend=["(1-exp(-x))/(1.5+cos(x))",
"x*(x+cos(x))"], title=
"Dibujo de dos funciones",
titlefont=[TIMES,ITALIC,18],
tickmarks=[5,10]);
Departamento de Matemática Aplicada y Métodos Informáticos
35
Universidad Politécnica de Madrid
Ingeniería de Minas
Insertando
Insertando textos
textos en
en los
los dibujos
dibujos
Se usa el comando textplot de la librería plots. Por ello,
antes de usarlo debe cargarse la librería:
[> with(plots):
Primer paso
[> dtexto:= textplot([abscisa, ordenada, “texto”],opciones):
Nombre de la variable
en la que se almacena el texto
Posición
Segundo paso
Visualizarlo (junto con el dibujo correspondiente)
usando el comando display.
Departamento de Matemática Aplicada y Métodos Informáticos
36
Universidad Politécnica de Madrid
Ingeniería de Minas
Ejercicio
Ejercicio 55
Dibujar en una misma gráfica la función f(x) del ejercicio
Nº 4 y la expresión x·(x+cos(x)) en el intervalo [0, 5],
y en una ventana de ordenadas [-4, 26] usando colores
distintos para cada grafo e incluyendo un título al gráfico
y para cada función
SOLUCIÓN:
[> grafos:=plot([f(x),x*(x+cos(x))],x=0..5,
y=-4..26,thickness=2,linestyle=2,
color=[green,brown],
title="Dibujo de dos funciones",
tickmarks=[5,10]):
Departamento de Matemática Aplicada y Métodos Informáticos
37
Universidad Politécnica de Madrid
Ingeniería de Minas
Solución
Solución al
al ejercicio
ejercicio nº
nº 55
[> leyenda1:=textplot([0.2,24,
"(1-exp(-x))/(1.5+cos(x))"],
align={ABOVE,RIGHT},color=green):
[> leyenda2:=textplot([0.2,20,"x*(x+cos(x))"],
align={ABOVE,RIGHT},color=brown):
[> display(grafos,leyenda1,leyenda2);
Departamento de Matemática Aplicada y Métodos Informáticos
38
Universidad Politécnica de Madrid
Ingeniería de Minas
Solución
Solución al
al ejercicio
ejercicio nº
nº 55
Departamento de Matemática Aplicada y Métodos Informáticos
39
Universidad Politécnica de Madrid
Ingeniería de Minas
FIN DE LA 1ª SESIÓN
Departamento de Matemática Aplicada y Métodos Informáticos
40
Descargar