INTRODUCCIÓN A MAPLE Prof. Carlos Conde LázaroL Prof. Arturo Hidalgo LópezL Prof. Alfredo López L Benito Febrero, 2007 1
OPCIONES 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 las versiones anteriores) 2
TIPOS DE LÍNEAS EN 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 3
Grupos de 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 4
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 + - 5
Finalizació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 6
Operadores Aritméticos + - * / ** ^ sqrt( ) ó Suma Resta Producto 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 (. ) 7
Ejercicio Programar en una línea y obtener el resultado decimal de : SOLUCIÓN: ( 5.23 + 2 4.23) 3 13 2+ 3 9 [> (5.23+2.*4.23)**3 - sqrt(13/(2+3*9)); Resultado: 2565.726409 1 377 29 8
Evaluación de 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 Número de dígitos del resultado 9
Ejercicio 1 Programar en una línea y obtener el resultado decimal de : ( 5.23 + 2 4.23) 3 13 2+ 3 9 a) con 10 dígitos; 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 10
Asignación de resultados a 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 11
Algunas Funciones Predefinidas de de MAPLE Las siguientes funciones se evalúan en lo que valga la la expresión expr. Sintaxis MAPLE [> exp(expr); [> log(expr); e expr ln(expr) [> ln(expr); ln(expr) [> log10(expr); log(expr) [> log[n](expr); log n (expr) [> abs(expr); expr Equivalencia matemática 12
Algunas Funciones Predefinidas de de 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) expr se considera en radianes 13
Algunas Funciones Predefinidas de de 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); arctg(expr) [> arcsec(expr); arcsec(expr) [> arccsc(expr); arccosec(expr) [> arccot(expr); arccotg(expr) resultado en radianes 14
Algunas constantes en MAPLE Número e: Número : exp(1); 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; 15
Ejercicio 2 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: ln cos e 9 π 3º) Obtén el resultado de A B. Deben evaluarse con 20 dígitos los valores de A, B y A B 16
Solución al al ejercicio 2 [> A:=evalf(5*sin(4*Pi/3),20); A:= -4.3301270189221932338 [> B:=evalf(ln(cos(exp(1)/sqrt(9*Pi))),20); [> evalf(a**b,20); B:= -.13678951856254066353.74393206723465541471.34094605986448542823 I 17
Reinicio de procesos de 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 18
Definición de funciones Definición de funciones en MAPLE [> nombre_función:= (argumentos) -> expresión Ejemplos: (4/x ) f(x) 5 x cos(e ) 2 = [> f:=x->5*x*cos(exp(4/x^2)); g(x, y) sen(x + y) = 2 + cos(x y) [> g:=(x,y)->sin(x+y)/(2+cos(x-y)); 19
Evaluació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 20
Dibujo de de de de funciones y expresiones en en 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); 21
Dibujo de de de de funciones y expresiones en en MAPLE (algunas 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,.. 22
Dibujo de de de de funciones y expresiones en en MAPLE (algunas opciones) axesfont = [Tipo, Aspecto, Tamaño] Tipo de letra de los ejes labels = [ Eje X, Eje Y ] Etiquetas de los ejes linestyle = 1, 2, 3 ó 4 Tipo de línea 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) 23
Ejercicio 3 1º) Dibujar la función f(x) = x 1 e 1.5 + cos(x) en [0, 5] 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 24
Solución al al ejercicio 3 [> f:=x->(1-exp(-x))/(1.5+cos(x)): [> plot(f,0..5); [>plot(f,0..5,thickness=4,linestyle=3,color=blue); 25
Solución al al ejercicio 3 (cont.) [> plot(f,0..5,thickness=4,linestyle=3,color=blue, title="mi primer dibujo", titlefont=[helvetica,bold,20]); 26
Otra 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 27
Dibujo 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 variable a la que se asignó la expresión 28
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]); 29
Visualización de de varios dibujos en en un 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): 30
Paso 2º: Visualización de de varios dibujos en en un un mismo gráfico (cont.) Visualizar los dibujos con el comando display [> display(dibu1, dibu2, dibu3); 31
Ejercicio 4 Representar en una misma gráfica y en el intervalo [0, 5] el grafo (en verde) de la función: x 1 e 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); 32
Ejercicio (cont.) 33
Comandos 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 instrucción por: [> display(dibf,diba,title="dibujo de dos curvas"); 34
Comandos plot y 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]); 35
Insertando textos en los 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. 36
Ejercicio 5 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]): 37
Solución al 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); 38
Solución al al ejercicio nº 5 39
FIN DE LA 1ª 1 SESIÓN 40