![]() |
![]() |
![]() |
Uno de los interfaces para mejorar la ergonomía en el trabajo con Maxima es xMaxima. Esta sección tiene la peculiaridad de que algunos de sus contenidos son específicos de la interface xMaxima, mientras que otros son genéricos de Maxima. Conviene recordar que el código fuente de este documento está escrito de forma que puede ser leído con un navegador estándar pero que si tiene instalado en su computadora xMaxima lo mejor es abrirlo en el navegador de dicho programa ya que el documento contiene instruciones html no estandar destinadas al navegador que xMaxima tiene en su ventana inferior y entonces el código maxima que contiene puede ser ejecutado de forma interactiva.
Por ello puede ser de utilidad iniciar xMaxima con el "Manualico" en la ventana de su navegador utilizando para ello desde la consola (o similar) de sistema operativo la instrucción siguiente:
xmaxima -url http://webs.um.es/mira/maxima/manualico.htmlSentencias o comandos. Cada sentencia o comando de Maxima puede finalizar con punto y coma ; o bien con dólar $. Para ejecutar la sentencia se pulsa el "Retorno de carro". Se pueden escribir varias sentencias una a continuación de otra, cada una de las cuales finaliza con su correspondiente punto y coma o dólar, y pulsar "Retorno de carro" al final de las mismas para ejecutarlas. En el caso del punto y coma, aunque aparezcan escritas en la misma línea cada una de tales sentencias aparecerá con una etiqueta diferente. En cambio si se usa el dólar como finalización de sentencia, las operaciones que correspondan serán realizadas por Maxima, pero el resultado de las mismas no se será mostrado, salvo última.
La etiqueta (%i1) es la que corresponde a la primera sentencia de entrada (input) después de iniciar xMaxima (Maxima); la siguiente es (%i2) y así sucesivamente. Las salidas (output) se identifican con (%o1), (%o2), etc. Maxima utiliza un contador identificar las entradas y salidas secuencialmente.
En versiones anteriores del programa en lugar de (%i1), (%i2) etc. aparece (C1), (C2) etc. y en lugar de (%o1), (%o2) aparece (D1) , (D2) etc. De hecho las etiquetas %i, %o (o bien C D) son variables, de nombres respectivos inchar y outchar, y pueden ser cambiadas a voluntad (véase más adelante el procedimiento de asignación de valores), mediante, por ejemplo
Repetir una sentencia introducida anteriormente. Es posible repetir la acción de una sentencia anterior sin más que escribir la etiqueta numerada del comando precedido de las dobles comillas. Así ''%i15 repetiría en la entrada que corresponda a ese momento la sentencia que se escribió en la entrada número 15
Reutilizar un resultado. Es posible utilizar la salida de la ejecución de una sentencia anterior a través de su etiqueta identificativa de la salida. Así %o5 se referiría al resultado producido por el comando %i5. En el caso de que se trata del resultado inmediantamente anterior puede utilizarse el símbolo % en lugar del identificativo del resultado.
Una vez ejecutada una sentencia para volverla a ejecutar más tarde en xMaxima hay diferentes posibilidades:
La última es la forma más rápida de proceder cuando se quiere modificar el código ligeramente, pues XMaxima se ocupa de realizar automáticamente las tareas del proceso 1), pero tiene el inconveniente de que el código original desaparece del histórico.
El tratamiento de mayúsculas y minúsculas en los nombres de los comandos no ha permanecido estable a lo largo de las diferentes versiones de Maxima. Hay versiones en las que los comandos pueden ser escritos indistintamente en mayúsculas o minúsculas, pero las última tendencia es que los comandos definidos ya en Maxima deben ser utilizados en minúsculas. Las variables definidas por el usuario son sensibles a mayúsculas y minúsculas (x y X son diferentes para Maxima). Por su parte Maxima actualmente utiliza minúsculas en sus respuestas, aunque en según que versiones los resultados se expresan con mayúsculas.
En algunos casos, como ocurre con el ejemplo que viene a continuación, se ha previsto que el resultado de la ejecución de la sentencia aparezca en la propia ventana del navegador de xMaxima, además de en la ventana superior, donde siempre se muestra. Aquí se supone que se ha ejecutado previamente la última de las sentencias del grupo precedente de ejemplos, de suerte que Maxima ha asignado valores constantes a "x" e "y" que no ha olvidado y que le permiten dar como resultado un número.
El que Maxima recuerde los valores asignados puede resultar útil en algunos casos, pero en otros puede ser un inconveniente. Por ejemplo si queremos derivar la función cos(x) el que Maxima recuerde que x:9 es un inconveniente, porque x ahora interesa que x represente a una variable y no a una constante. Necesitamos decirle a Maxima que olvide el valor constante anteriormente asignado a x. Eso se consigue con ayuda del comando
all. Por ejemplo, podríamos escribir kill(x) o bien kill(y) e incluso kill(all).
La asignación de valores se realiza utilizando uno de los siguientes formatos:
Es una buena práctica iniciar la asignaciones, "matando" previamente la asignación que se va a realizar, por si acaso hubiera sido asignada con anterioridad. Para ello se utiliza el comando kill antes indicado.
Cuando una expresión va a ser utilizada repetidas veces puede ser de interés definirla como una nueva función, que quedará añadida en esa sesión a las funciones que Maxima conoce
Para definir una nueva función, digamos NombreFun en la variable x, se emplea la sintaxis siguiente
NombreFun(x):=expresión
Vea la sección Funciones para más detalles.
Ayuda en línea. Además de utilizando el menú Ayuda|Help de xMaxima, desde la línea de comandos de Maxima podemos obtener ayuda inmediata sobre un comando concreto conociendo su nombre. Esto es cierto para la mayor parte de los comandos. Y la sintaxis es
Los dos primeros son equivalentes y también lo son los dos segundos (el espacio de separación después de ? es muy importante). El quinto lista todos los comandos para los que existe documentación en línea. Veamos algún ejemplo (la salida en la pantalla superior).
Relacionado con... Para buscar los comandos relacionados con una cadena se puede utilizar
Ejemplos en línea. Para algunos de los comandos puede además obtenerse ejemplos de uso mediante
El segundo de los ítems de la lista anterior muestra la relación de todos los ejemplos disponibles.
Programas demo. Existe una colección de ejemplos de demostración en forma de batería de sentencias Maxima que se van ejecutando paso a paso una tras otra. En cada una de las etapas es necesario que el operador introduzca el punto y coma de rigor y pulse retorno de carro para pasar a la siguiente. El acceso para ejecución de dichos archivos, cuyo nombre genérico es del tipo Archivo.dem y que están ubicados en el directorio maxima/5.Version/share, se realiza con la instrucción
En el ejemplo precedente las comillas no son necesarias porque el archivo cartan.dem está ubicado en el lugar que Maxima espera; pero si estuviera ubicado, digamos, en /media/usb/maxima/ejemplo.dem entonces tendríamos que ejecutarlo como demo("/media/usb/maxima/ejemplo").
Maxima es en realidad un programa que funciona en línea de comandos. Si desea ejecutarlo de ese modo ejecute a nivel de la consola de su sistema operativo el comando "maxima" (sin comillas) y obtendrá el indicativo de que el programa ha arrancado y que está dispuesto a tratar de ejecutar la sentencia que usted le escriba.
Si lo hace (y maxima está en el path), encontrará algo similar a esto
Maxima 5.24.0 http://maxima.sourceforge.net using Lisp CLISP 2.44.1 (2008-02-23) Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information. (%i1)
Para salir de Maxima desde la consola se utiliza
quit();
Si está trabando en entornos gráficos como xMaxima o wxMaxima no tendrá dificulta en salir de dichos programas desde los menus desplegables y ellos se ocuparán de cerrar la sesión de Maxima que subyace.
En el entorno gráfico xMaxima existe una posibilidad de reiniciar Maxima sin cerrar xMaxima. Eso es útil cuando, por ejemplo, generamos sin querer un bucle en la ejecución de Maxima. Se accede a esa utilidad desde los menús: Archivo->Reiniciar (File->Restart)
Si antes de salir del programa se desea guardar parte o la totalidad del trabajo realizado pueden utilizarse diferentes procedimientos, dependiendo de la GUI o incluso utilizando el propio Maxima.
Es posible escribir comentarios en el código (es decir textos que Maxima ignora) delimitándolos por /* que lo inicia y */ que lo finaliza.
También posible conocer en cualquier momento la versión de Maxima que está en uso mediante el comando
![]() |
![]() |
![]() |