Publicado el 27 de Julio del 2017
507 visualizaciones desde el 27 de Julio del 2017
1,5 MB
132 paginas
Creado hace 16a (11/03/2008)
Primeros pasos en Maxima
Mario Rodríguez Riotorto
www.telefonica.net/web2/biomates
11 de marzo de 2008
Copyright c2004-2008 Mario Rodríguez Riotorto
Este documento es libre; se puede redistribuir y/o modificar bajo los térmi-
nos de la GNU General Public License tal como lo publica la Free Softwa-
re Foundation. Para más detalles véase la GNU General Public License en
http://www.gnu.org/copyleft/gpl.html
This document is free; you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Founda-
tion. See the GNU General Public License for more details at
http://www.gnu.org/copyleft/gpl.html
ÍNDICE
Índice
1. Introducción
2. Despegando con Maxima
2.1.
Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Una primera sesión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
4
4
6
3. Números, estructuras de datos y sus operaciones
18
3.1. Operaciones aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2. Números complejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3. Listas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4. Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5. Cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6. Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.7. Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4. Álgebra
43
4.1. Transformaciones simbólicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2. Ecuaciones
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4. Patrones y reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5. Cálculo
69
5.1. Funciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2. Límites
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.3. Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.4.
Integrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.5. Ecuaciones diferenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.6. Vectores y campos vectoriales . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6. Análisis de datos
90
6.1. Probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.2. Estadística descriptiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.3. Estadística inferencial
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.4.
7. Gráficos
107
7.1. El módulo ”plot” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.2. El módulo ”draw” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8. Programando en Maxima
114
8.1. Programación a nivel de Maxima . . . . . . . . . . . . . . . . . . . . . . . . 114
8.2. Programación a nivel de Lisp . . . . . . . . . . . . . . . . . . . . . . . . . . 121
1
INTRODUCCI ÓN
1.
Introducción
2
Este es un manual introductorio al entorno de cálculo simbólico Maxima, directo su-
cesor del legendario Macsyma.
El objetivo del manual es facilitar el acceso a este programa a todas aquellas personas
que por vez primera se acercan a él.
Maxima es un programa cuyo objeto es la realización de cálculos matemáticos, tanto
simbólicos como numéricos; es capaz de manipular expresiones algebraicas y matriciales,
derivar e integrar funciones, realizar diversos tipos de gráficos, etc.
Su nombre original fue Macsyma (MAC’s SYmbolic MAnipulation System, donde
MAC, Machine Aided Cognition, era el nombre del Laboratory for Computer Science del
MIT durante la fase inicial del proyecto Macsyma). Se desarrolló en estos laboratorios a
partir del año 1969 con fondos aportados por varias agencias gubernamentales norteame-
ricanas (National Aeronautics and Space Administration, Office of Naval Research, U.S.
Department of Energy y U.S. Air Force).
El concepto y la organización interna del programa están basados en la tesis doctoral
que Joel Moses elaboró en el MIT sobre integración simbólica. Según Marvin Minsky,
director de esta tesis, Macsyma pretendía automatizar las manipulaciones simbólicas que
realizaban los matemáticos, a fin de entender la capacidad de los ordenadores para actuar
de forma inteligente.
El año 1982 es clave. El MIT transfiere una copia de Macsyma a la empresa Symbolics
Inc. para su explotación económica, haciendo el código propietario, y otra al Departamen-
to de Energía, copia ésta que será conocida con el nombre de DOE-Macsyma. En 1992 la
versión comercial de Macsyma sería adquirida por una empresa que se llamaría precisa-
mente Macsyma Inc, y el programa iría perdiendo fuelle progresivamente ante la presencia
en el mercado de otros programas similares como Maple o Mathematica, ambos los dos
inspirados en sus orígenes en el propio Macsyma.
Pero ocurrieron dos historias paralelas. Desde el año 1982, y hasta su fallecimiento en el
2001, William Schelter de la Universidad de Texas mantuvo una versión de este programa
adaptada al estándar Common Lisp, la cual ya se conocía con el nombre de Maxima
para diferenciarla de la versión comercial. En el año 1998 Schelter había conseguido del
DOE permiso para distribuir Maxima bajo la licencia GNU-GPL (www.gnu.org); con
este paso, muchas más personas empezaron a dirigir su mirada hacia Maxima, justo en
el momento en el que la versión comercial estaba declinando. Actualmente, el proyecto
está siendo mantenido por un grupo de desarrolladores originarios de varios países, asistidos
y ayudados por otras muchas personas interesadas en Maxima y que mantienen un cauce
de comunicación a través de la lista de correo
http://maxima.sourceforge.net/maximalist.html
Además, desde el año 2006, se ha activado una lista de correos para usuarios de habla
hispana en
http://sourceforge.net/mailarchive/forum.php?forum id=50322
1
INTRODUCCI ÓN
3
Puesto que Maxima se distribuye bajo la licencia GNU-GPL, tanto el código fuente
como los manuales son de libre acceso a través de la página web del proyecto,
http://maxima.sourceforge.net
Uno de los aspectos más relevantes de este programa es su naturaleza libre; la licencia
GPL en la que se distribuye brinda al usuario ciertas libertades:
libertad para utilizarlo,
libertad para modificarlo y adaptarlo a sus propias necesidades,
libertad para distribuirlo,
libertad para estudiarlo y aprender su funcionamiento.
La gratuidad del programa, junto con las libertades recién mencionadas, hacen de
Maxima una formidable herramienta pedagógica, de investigación y de cálculo técnico,
accesible a todos los presupuestos, tanto institucionales como individuales.
No quiero terminar esta breve introducción sin antes recordar y agradecer a todo
el equipo humano que ha estado y está detrás de este proyecto, desde el comienzo de
su andadura allá por los años 70 hasta el momento actual; incluyo también a todas las
personas que, aún no siendo desarrolladoras del programa, colaboran haciendo uso de él,
presentando y aportando continuamente propuestas e ideas a través de las listas de correos.
Un agradecimiento especial a Robert Dodier y James Amundson, quienes me brindaron
la oportunidad de formar parte del equipo de desarrollo de Maxima y me abrieron las
puertas a una experiencia verdaderamente enriquecedora.
Finalmente, un recuerdo a William Schelter. Gracias a él disponemos hoy de un Maxima
que, paradójicamente, por ser libre, no pertenece a nadie pero que es de todos.
Ferrol-A Coruña
2 DESPEGANDO CON MAXIMA
4
2. Despegando con Maxima
2.1.
Instalación
Maxima funciona en Windows, Linux y Mac-OS.
En Windows, la instalación consiste en descargar el binario exe desde el enlace corres-
pondiente en la página del proyecto y ejecutarlo.
En Linux, la mayoría de las distribuciones tienen ficheros precompilados en sus respec-
tivos repositorios con las extensiones rpm o deb, según el caso. Sin embargo, en algunas
distribuciones las versiones oficiales no suelen estar muy actualizadas, por lo que podría
ser recomendable proceder con la compilación de las fuentes, tal como se expone a conti-
nuación.
Las siguientes indicaciones hacen referencia al sistema operativo Linux.
Si se quiere instalar Maxima en su estado actual de desarrollo, será necesario descar-
gar los ficheros fuente completos del CVS de Sourceforge y proceder posteriormente a su
compilación. Se deberá tener operativo un entorno Common Lisp en la máquina (clisp,
cmucl, sbcl o gcl son todas ellas alternativas válidas), así como todos los programas que
permitan ejecutar las instrucciones que se indican a continuación, incluidas las dependen-
cias tcl-tk y gnuplot. Grosso modo, estos son los pasos a seguir para tener Maxima
operativo en el sistema1:
1. Descargar las fuentes a un directorio local siguiendo las instrucciones que se indican
en el enlace al CVS de la página del proyecto.
2. Acceder a la carpeta local de nombre maxima y ejecutar las instrucciones
./bootstrap
./configure --enable-clisp --enable-lang-es-utf8
make
make check
sudo make install
make clean
3. Para ejecutar Maxima desde la línea de comandos (Figura 1) se deberá escribir
maxima
si se quiere trabajar con la interfaz gráfica (Figura 2), teclear
xmaxima
Otro entorno gráfico es Wxmaxima2 (Figura 3), que se distribuye conjuntamente con
el ejecutable para Windows. En Linux, una vez instalado Maxima, se podrá instalar este
entorno separadamente.
1S
Comentarios de: Primeros pasos en Maxima (0)
No hay comentarios