M1 INTRODUCCIÓN A MAPLE - OCW...
Transcript of M1 INTRODUCCIÓN A MAPLE - OCW...
Departamento de Matemática Aplicada y Métodos Informáticos 1
Universidad Politécnica de Madrid Ingeniería de Minas
INTRODUCCIÓN A MAPLEINTRODUCCIÓN A MAPLE
Prof. Carlos Conde LProf. Carlos Conde LáázarozaroProf. Arturo Hidalgo LProf. Arturo Hidalgo LóópezpezProf. Alfredo LProf. Alfredo Lóópez Benitopez Benito
Febrero, 2007
Departamento de Matemática Aplicada y Métodos Informáticos 2
Universidad Politécnica de Madrid Ingeniería de Minas
OPCIONES INICIALES DE ENTORNOOPCIONES INICIALES DE ENTORNO
Classic Worksheet Maple 9.lnk Maple 9.lnk
Entorno Clásico (similar al de versiones de
MAPLE anteriores)
Nuevo entorno (no existente en lasversiones anteriores)
Departamento de Matemática Aplicada y Métodos Informáticos 3
Universidad Politécnica de Madrid Ingeniería de Minas
TIPOS DE LÍNEAS EN MAPLETIPOS DE LÍNEAS EN MAPLE
[ > Líneas para escribir instrucciones ejecutables
[ Líneas de texto (no ejecutables)
Por defecto se ceran como ejecutables ( [ > ). Seconvierten en líneas de texto pinchando sobre el icono T
Para abrir nuevas líneas:Icono [> : Abre línea debajo de la actualUbicarse sobre el corchete [ y pulsar “return”:
Abre línea encima de la actual
Departamento de Matemática Aplicada y Métodos Informáticos 4
Universidad Politécnica de Madrid Ingeniería de Minas
Grupos de ejecuciónGrupos de ejecución
Para agrupar en un mismo “corchete” más de una línea, puede presionarse la tecla de mayúscula ( ) y, sin dejarde 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”
Instrucciones y textos pueden escribirse en más de unalínea. Y más de una línea pueden escribirse dentro de unmismo “corchete” formando un “grupo de ejecución”.
Departamento de Matemática Aplicada y Métodos Informáticos 5
Universidad Politécnica de Madrid Ingeniería de Minas
Secciones en una “Hoja MAPLE”Secciones en una “Hoja 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 6
Universidad Politécnica de Madrid Ingeniería de Minas
Finalización de líneas ejecutablesFinalización de líneas 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 7
Universidad Politécnica de Madrid Ingeniería de Minas
Operadores AritméticosOperadores Aritméticos
Las operaciones se pueden agrupar usando paréntesis ( )
En los números decimales se separa la parte entera dela decimal con un punto decimal ( . )
+ - * / ** sqrt( )
Suma Resta Producto División Potenciación RaízCuadrada
ó ^
Departamento de Matemática Aplicada y Métodos Informáticos 8
Universidad Politécnica de Madrid Ingeniería de Minas
EjercicioEjercicio
Programar en una línea y obtener el resultado decimal de :
( )3 135.23 2·4.232 3·9
+ −+
Resultado: 2565.726409
> (5.23+2.*4.23)**3 - sqrt(13/(2+3*9));[
1 · 37729
−
SOLUCIÓN:
Departamento de Matemática Aplicada y Métodos Informáticos 9
Universidad Politécnica de Madrid Ingeniería de Minas
Evaluación de expresionesEvaluación de expresionesMAPLE opera en aritmética exacta
Para obtener el número decimal que aproxima el resultadode una operación se puede seguir alguno de los dos
caminos siguientes:Escribir los números enteros acabando en unpunto decimalUtilizar el comando [> evalf( expresión, n)
Expresión a evaluar
Número de dígitos
del resultado
Departamento de Matemática Aplicada y Métodos Informáticos 10
Universidad Politécnica de Madrid Ingeniería de Minas
Ejercicio 1Ejercicio 1
Programar en una línea y obtener el resultado decimal de :
( )3 135.23 2·4.232 3·9
+ −+
a) con 10 dígitos; b) con 14 dígitos
2565.056875> (5.23+2.*4.23)**3 - sqrt(13./(2+3*9));[
Solución:
> 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 11
Universidad Politécnica de Madrid Ingeniería de Minas
Asignación de resultados a variablesAsignación de resultados a variables
Los resultados de una operación se pueden conservarasignándoselos a un nombre. El operador de asignaciónes: :=
[> nombre := lo que se quiere guardar con el nombrePara visualizar lo que se almacena en una variable bastacon 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 12
Universidad Politécnica de Madrid Ingeniería de Minas
Algunas Funciones Predefinidas de MAPLEAlgunas Funciones Predefinidas de MAPLELas siguientes funciones se evalúan en lo que valga la la expresión expr.
[> exp(expr);
[> log(expr);
eexpr
ln(expr)
[> ln(expr); ln(expr)
[> log10(expr); log(expr)
[> log[n](expr); logn(expr)
[> abs(expr); |expr|
Sintaxis MAPLE Equivalencia matemática
Departamento de Matemática Aplicada y Métodos Informáticos 13
Universidad Politécnica de Madrid Ingeniería de Minas
Algunas Funciones Predefinidas de MAPLE (cont.)Algunas Funciones Predefinidas de MAPLE (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)
expr seconsideraen radianes
Departamento de Matemática Aplicada y Métodos Informáticos 14
Universidad Politécnica de Madrid Ingeniería de Minas
Algunas Funciones Predefinidas de MAPLE (cont.)Algunas Funciones Predefinidas de MAPLE (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); arctg(expr)[> arcsec(expr); arcsec(expr)
[> arccsc(expr); arccosec(expr)[> arccot(expr); arccotg(expr)
resultadoen
radianes
Departamento de Matemática Aplicada y Métodos Informáticos 15
Universidad Politécnica de Madrid Ingeniería de Minas
Algunas constantes en MAPLEAlgunas constantes en MAPLE
Número e: exp(1);Número : PiUnidad imaginaria: I
Modificación de los dígitos de trabajo en MAPLE por defecto
[> Digits:=n;
Por defecto MAPLE trabaja con números de 10 dígitos. Si se desea variar para que trabaje con n dígitos se debeescribir la instrucción:
Departamento de Matemática Aplicada y Métodos Informáticos 16
Universidad Politécnica de Madrid Ingeniería de Minas
Ejercicio 2Ejercicio 2Trabajando con 20 dígitos:
1º) Almacena en la variable A el valor de la expresión:45 * sen ·3
⎛ ⎞π⎜ ⎟⎝ ⎠
2º) Almacena en la variable B el valor de:eln cos9·
⎛ ⎞⎛ ⎞⎜ ⎟⎜ ⎟π⎝ ⎠⎝ ⎠
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 17
Universidad Politécnica de Madrid Ingeniería de Minas
Solución al ejercicio 2Solución al ejercicio 2
[> B:=evalf(ln(cos(exp(1)/sqrt(9*Pi))),20);
B:= -.13678951856254066353
[> evalf(A**B,20);
.74393206723465541471 – .34094605986448542823 I
A:= -4.3301270189221932338
[> A:=evalf(5*sin(4*Pi/3),20);
Departamento de Matemática Aplicada y Métodos Informáticos 18
Universidad Politécnica de Madrid Ingeniería de Minas
Reinicio de procesos de cálculoReinicio de procesos de cálculo
[> restart;
Para “limpiar” los valores de todas las variables y comen-zar un proceso nuevo se utiliza la instrucción:
Cuando se ejecuta “restart” es como si se iniciase MAPLE
Departamento de Matemática Aplicada y Métodos Informáticos 19
Universidad Politécnica de Madrid Ingeniería de Minas
Definición de funcionesDefinición de funciones
Definición de funciones en MAPLE
[> nombre_función:= (argumentos) -> expresión
Ejemplos:2(4 / x )f(x) 5·x·cos(e )= [> 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 20
Universidad Politécnica de Madrid Ingeniería de Minas
Evaluación de funciones en MAPLEEvaluación de funciones en 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); sin(.36 4· )2 cos( .36 4· )
+ π+ − + π
[> evalf(%);.1199886302 % usa el último valor calculado por MAPLE
Departamento de Matemática Aplicada y Métodos Informáticos 21
Universidad Politécnica de Madrid Ingeniería de Minas
Dibujo de de funciones y expresionesen MAPLE
Dibujo de de funciones y expresionesen MAPLE
“Conviene” cargar la librería plots:[> with(plots):
Para dibujar una función:
Comando básico:
[> plot(nombre_función, a..b);Intervalo de dibujo
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 22
Universidad Politécnica de Madrid Ingeniería de Minas
Dibujo de de funciones y expresionesen MAPLE (algunas opciones)
Dibujo de de funciones y expresionesen MAPLE (algunas opciones)
[> plot(nombre_función, a..b, opciones);
color = black, red, blue, green, gray, yellow, pink, brown, gold, ...... Color del gráfico
thickness = 0, 1, 2 ó 3 Grosor del grafotitle = “Título” Título del dibujo
Se pueden indicar las opciones que se deseen (separadaspor comas) entre las siguientes:
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 23
Universidad Politécnica de Madrid Ingeniería de Minas
Dibujo de de funciones y expresionesen MAPLE (algunas opciones)
Dibujo de de funciones y expresionesen MAPLE (algunas opciones)
axesfont = [Tipo, Aspecto, Tamaño] Tipo de letrade los ejes
labels = [“Eje X”, “Eje Y”] Etiquetas de los ejes
linestyle = 1, 2, 3 ó 4 Tipo de línea
Continua Punteada Discontinuaa tramos
Discontinua a tramos separados por puntos
numpoints =n Número de puntos para hacer el dibujotickmarks = [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 24
Universidad Politécnica de Madrid Ingeniería de Minas
Ejercicio 3Ejercicio 3
1º) Dibujar la función x1 ef(x)
1.5 cos(x)
−−=
+en [0, 5]
2º) Repetir el dibujo en trazo grueso, discontinuo y colorazul
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 25
Universidad Politécnica de Madrid Ingeniería de Minas
Solución al ejercicio 3Solución al ejercicio 3
[> plot(f,0..5);
[>plot(f,0..5,thickness=4,linestyle=3,color=blue);
[> f:=x->(1-exp(-x))/(1.5+cos(x)):
Departamento de Matemática Aplicada y Métodos Informáticos 26
Universidad Politécnica de Madrid Ingeniería de Minas
Solución al ejercicio 3 (cont.)Solución al ejercicio 3 (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 27
Universidad Politécnica de Madrid Ingeniería de Minas
Otra forma de dibujar funcionesOtra forma de dibujar 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 28
Universidad Politécnica de Madrid Ingeniería de Minas
Dibujo de expresionesDibujo de 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 varia-ble a la que se asignó la expresión
Departamento de Matemática Aplicada y Métodos Informáticos 29
Universidad Politécnica de Madrid Ingeniería de Minas
EjemploEjemplo
[> 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 30
Universidad Politécnica de Madrid Ingeniería de Minas
Visualización de varios dibujos en un mismo gráfico
Visualización de varios dibujos en un mismo 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 31
Universidad Politécnica de Madrid Ingeniería de Minas
Visualización de varios dibujos en un mismo gráfico (cont.)
Visualización de varios dibujos en un mismo gráfico (cont.)
Paso 2º:Visualizar los dibujos con el comando display
[> display(dibu1, dibu2, dibu3);
Departamento de Matemática Aplicada y Métodos Informáticos 32
Universidad Politécnica de Madrid Ingeniería de Minas
Ejercicio 4Ejercicio 4
Representar en una misma gráfica y en el intervalo [0, 5]el grafo (en verde) de la función: x1 ef(x)
1.5 cos(x)
−−=
+
y el grafo (en marrón) de la expresión: x · (x + cos(x))
[>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);
SOLUCIÓN:
Departamento de Matemática Aplicada y Métodos Informáticos 33
Universidad Politécnica de Madrid Ingeniería de Minas
Ejercicio (cont.)Ejercicio (cont.)
Departamento de Matemática Aplicada y Métodos Informáticos 34
Universidad Politécnica de Madrid Ingeniería de Minas
Comandos plot y displayComandos plot y 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 instruc-ción por:[> display(dibf,diba,title="Dibujo de dos curvas");
Departamento de Matemática Aplicada y Métodos Informáticos 35
Universidad Politécnica de Madrid Ingeniería de Minas
Comandos plot y display (2)Comandos plot y display (2)
Otra forma (sin usar display) consiste en escribir todas las funciones a dibujar en el mismo comando plot.
[> 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]);
Ejemplo:
Departamento de Matemática Aplicada y Métodos Informáticos 36
Universidad Politécnica de Madrid Ingeniería de Minas
Insertando textos en los dibujosInsertando textos en los dibujosSe usa el comando textplot de la librería plots. Por ello,antes de usarlo debe cargarse la librería:
[> with(plots):
[> dtexto:= textplot([abscisa, ordenada, “texto”],opciones):
Nombre de la variableen la que se almacena el texto Posición
Primer paso
Segundo paso
Visualizarlo (junto con el dibujo correspondiente) usando el comando display.
Departamento de Matemática Aplicada y Métodos Informáticos 37
Universidad Politécnica de Madrid Ingeniería de Minas
Ejercicio 5Ejercicio 5
[> 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]):
Dibujar en una misma gráfica la función f(x) del ejercicioNº 4 y la expresión x·(x+cos(x)) en el intervalo [0, 5],y en una ventana de ordenadas [-4, 26] usando coloresdistintos para cada grafo e incluyendo un título al gráficoy para cada función
SOLUCIÓN:
Departamento de Matemática Aplicada y Métodos Informáticos 38
Universidad Politécnica de Madrid Ingeniería de Minas
Solución al ejercicio nº 5Solución al ejercicio nº 5
[> 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 39
Universidad Politécnica de Madrid Ingeniería de Minas
Solución al ejercicio nº 5Solución al ejercicio nº 5
Departamento de Matemática Aplicada y Métodos Informáticos 40
Universidad Politécnica de Madrid Ingeniería de Minas
FIN DE LA 1FIN DE LA 1ªª SESISESIÓÓNN