Está en la página 1de 29

Introduccin a Maxima

Miguel Arsuaga Franco Rosa Ramos Palanco Lic. CC. Matemticas Profesores del Departamento de Matemticas del I.E.S. Almunia de Jerez de la Frontera

Indice de materias
Table of Contents

Presentacin A quin va dirigido este documento Breve historia de Maxima Otras consideraciones Normas bsicas Descripcin de la pantalla El navegador NetMath rdenes Modos de clculo Aritmtica Operadores aritmticos Funciones predefinidas Algunas constantes tiles Exponenciales y logartmicas Trigonomtricas Otras funciones interesantes lgebra Operaciones con polinomios y razones algebraicas. Resolucin de ecuaciones y sistemas de ecuaciones Inecuaciones Matrices y determinantes Operaciones Anlisis Sucesiones Funciones. Composicin de funciones Funciones a trozos: Lmites de funciones Derivadas Integrales Grficos Cmo verlos? Grficos bidimensionales Grficos tridimensionales Consideraciones finales Recapitulemos Materiales Derechos de copia

1 1 1 1 3 3 3 3 4 5 5 7 7 7 7 9 11 11 12 14 15 15 17 17 17 18 18 19 19 21 21 21 24 25 25 25 25

Introduccin a Maxima - Presentacin

Presentacin
Maxima es un programa de clculo simblico bajo licencia GNU-GPL. Es, por tanto, software libre en su doble acepcin: est disponible el cdigo fuente para que todo el que lo desee adapte el programa a sus propias necesi dades y es gratuito por lo que es posible distribuirlo libremente a cuantos es tuvieren interesados en el mismo. Adems puede ejecutarse sobre diferentes sistemas operativos, entre otros las diversas versiones de MS-Windows y de Linux.

A quin va dirigido este documento


Esta introduccin a Maxima tiene por destinatario a los alumnos de Matem ticas I y II de lo que queda del Bachillerato de Ciencias y, por extensin, a to dos los alumnos y profesores a los que pueda servir de ayuda. No cubre, por tanto, muchas de las capacidades del programa sino que se res tringe a los contenidos bsicos del bachillerato y, dentro de estos contenidos se ha procurado recurrir a ejemplos sencillos para que todos los alumnos pue dan seguir este manual, aunque su nivel de competencia en la materia sea ba jo. Para la Estadstica descriptiva y distribuciones de probabilidad, tanto para va riables discretas como continuas, Mario Rodrguez Riotorto ha preparado dos paquetes, descriptive.mac y distrib.mac que se pueden descar gar desde www.biomates.net junto a la documentacin y archivos con datos muestrales. Un estudio de los mismos y algo de tiempo disponible nos permi tirn ampliar este manual con aquellas funciones que hagan referencia a los contenidos en el Bachillerato.

Breve historia de Maxima


El proyecto Matemticas y Computacin (MAC) se inicia en la dcada de los 60 del siglo pasado en el Instituto de Tecnologa de Massachusetts (MIT), con el apoyo financiero, entre otros, de los departamentos de defensa (DOD), de Energa (DOE) y de la Agencia de Proyectos de Investigacin Avanzada (ARPA) para atender a las necesidades de clculo matemtico de fsicos, in genieros y tcnicos en general. A finales de la dcada, el proyecto/programa Macsyma (MAC symbolic ma nipulator) se convierte en el primer programa de clculo simblico. Desarro llos posteriores dieron origen a mltiples variantes. Una de ellas es Maxima, heredera del DOE-Macsyma, que ha sido mantenida por el Dr. Wiliam Shel ter de la Universidad Austin de Texas hasta su fallecimiento, fecha en la que un equipo de seguidores Ha asumido su mantenimiento y desarrollo. En octu bre de 1998 el DOE autoriz la distribucin de Maxima bajo licencia GNUGPL. Las actualizaciones del programa y de su documentacin estn disponi bles en http://maxima.sourceforge.net/.

Otras consideraciones
Hay ligeras diferencias entre la versin utilizada en este documento y la in cluida en Guadalinex. Por ejemplo: las lneas de comando C1 y de respuesta D1 son ahora %i1 y %o1 (input y output). Ms adelante veremos que son mo dificables por el usuario.

Pgina 1

Introduccin a Maxima - Otras consideraciones

Est disponible la extensin wxMaxima que le da un aspecto al programa que recuerda a Derive y que permite introducir las rdenes ms frecuentes me diante botones y opciones de men. Es una ayuda que agradecemos los que no somos buenos mecangrafos. Esperemos que sea incluida en Guadalinex.
Ilustracin 1: Ventana de inicio de xMaxima

Ilustracin 2: Ventana de inicio de xMaxima

Ilustracin 3: Ventana de Inicio de wxMaxima

Pgina 2

Introduccin a Maxima - Normas bsicas

Normas bsicas
Descripcin de la pantalla
Como puede observarse en la ventana de inicio de xMaxima, sta se divide en dos ventanas. En la ventana superior es donde introducimos las rdenes que el programa procesar. Las rdenes se numeran de forma automtica %i1, %i2, etc. y las respuestas correspondientes %o1, %o2, etc. Podemos hacer referencia a resultados anteriores por su etiqueta. Si se trata del resultado inmediatamente anterior basta %. Las variables inchar y outchar controlan las etiquetas de entrada y salida. Ob serva el siguiente ejemplo:

Ilustracin 4: Cambiando las etiquetas de entrada y salida

El navegador NetMath
La ventana inferior es un navegador, NetMath, muy limitado pero eficiente. Es posible desactivarlo seleccionando [Options] [Toggle Brow ser Visibility], de esta forma dispondremos de un espacio de trabajo con ms lneas visibles. Para recuperarlo basta repetir la orden anterior. Abriremos pginas web utilizando el habitual http://direccin completa de in ternet. Abriremos archivos sustituyendo http por file y proporcionando la ruta com pleta y nombre del archivo. En esta ventana es posible abrir documentos .htm preparados para ejecutar comandos. Los resultados pueden visualizarse en el propio documento o en la consola. La pgina de inicio es un ejemplo muy completo; contiene enlaces a la documentacin de maxima, por la que podemos navegar, y ejemplos de co mandos. Anmate a experimentar con ella.

rdenes
Las rdenes en Maxima terminan con ;. Si no deseamos que el resultado de una orden aparezca terminaremos con $.

Pgina 3

Introduccin a Maxima - rdenes

Es posible introducir varias rdenes en una lnea. Todo lo que introduzcamos entre /* y */ ser ignorado por Maxima, lo que nos permite comentar las rdenes. Para asignar valor a una variable utilizamos :. variable:valor. Para definir una funcin usaremos :=. funcin:=definicin.

Ilustracin 5: rdenes en Maxima. Variables y funciones.

Cuando dejemos de usar una variable conviene matarla con la funcin kill(nombre de la variable) para no llevarnos sorpresas.

Modos de clculo
Por defecto, Maxima hace clculos exactos. La orden numer nos da el valor aproximado. Tambin podemos hacer esto con float. Podemos fijar la precisin de los clculos asignando el valor deseado a la va riable fpprec y obtener el valor deseado en notacin cientfica con bflo at. Observa el siguiente ejemplo:

Pgina 4

Introduccin a Maxima - Aritmtica

Aritmtica
Operadores aritmticos

Ilustracin 6: Aritmtica con Maxima

Pgina 5

Introduccin a Maxima - Operadores aritmticos

La suma (+) y la resta (-), el producto (*), el cociente (/) y las potencias (^) usan los mismos operadores que la mayora de los programas (por ejemplo: las hojas de clculo). La raz cuadrada puede calcularse con la funcin sqrt (square root), el resto de las races habr de calcularse como exponentes frac cionarios. Para efectuar la divisin entera disponemos de divide(dividen do, divisor). Nos devuelve una lista con el cociente y el resto. Si nica mente necesitamos uno u otro usaremos quotient o remainder respecti vamente. Podemos averiguar si un nmero es primo, o no con la funcin primep. Para descomponer en factores primos usaremos factor. Las funciones gcd (greatest common divisor) y lcm (least common multiple) permiten obtener el mximo comn divisor y el mnimo comn mltiplo, respectivamente. Para calcular ste ltimo es preciso cargar previamente el paquete functs. Maxi ma avisa de que ello supone redefinir algunas funciones. No le hacemos mu cho caso. Todo lo anterior queda explicado con la Ilustracin 6.

Pgina 6

Introduccin a Maxima - Funciones predefinidas

Funciones predefinidas
Algunas constantes tiles
Se utilizan:

%E para el nmero e %pi para el nmero %i para i= 1

Exponenciales y logartmicas
Maxima utiliza el logaritmo natural (neperiano) como funcin logartmica predefinida.. Es posible definir una funcin alternativa, le hemos llamado logb(x,b), para calcular logb x. Conviene observar que tal funcin puede utilizarse para obtener el antilogarit mo o la base logartmica. En el segundo caso, conviene simplicar con la fun cin radcan. Las funciones exponenciales se introducen con el operador ^.

Ilustracin 7: Clculo de logaritmos

Trigonomtricas
Las usuales funciones trigonomtricas y sus respectivas inversas arco ... estn definidas en Maxima pero, eso s, sus argumentos son radianes. Si se desea calcular el seno, por ejemplo, de un ngulo expresado en grados sexagesima les u obtener los ngulos de las inversas en grados habr que definir las co rrespondientes funciones.

Pgina 7

Introduccin a Maxima - Trigonomtricas

Las funciones trigonomtricas ms usuales predefinidas en Maxima se rese an a continuacin. sin cos tan sec csc cot Seno Coseno Tangente Secante Cosecante Cotangente

asin Arco-seno acos Arco-coseno atan Arco-tangente asec Arco-secante acsc Arco-cosecante cot Cotangente Las funciones trigsimp, trigrat, trigreduce y trigexpand reali zan diferentes simplificaciones y/o transformaciones trigonomtricas, experi menta con ellas.

Pgina 8

Introduccin a Maxima -

Otras funciones interesantes


abs(x) min(x1,x2,...) max(x1,x2,...) signum(x) x! binomial(m,n) abs(x) exp(x) Valor absoluto de x Valor mnimo de una lista de valores Valor mximo de una lista de valores
signum x =

1 si x 0 0 si x = 0 1 si x 0

Factorial de x
m Cn m= n
x

Valor absoluto de x
e

Pgina 9

Introduccin a Maxima - lgebra

lgebra
Operaciones con polinomios y razones algebraicas.
Para las operaciones de suma, resta, multiplicacin, divisin, factorizacin, mximo comn divisor y mnimo comn mltiplo de polinomios, hay que te ner en cuenta lo explicado en el captulo de aritmtica. Para desarrollar expresiones algebraicas usaremos la funcin expand.

Para simplificar disponemos de las funciones ratsimp, fullratsimp y radcan. En algunas operaciones Maxima separa una fraccin en varias con el mismo denominador, la orden combine las convierte en una. Podemos seleccionar el numerador o el denominador de una fraccin alge braica con las funciones num y denom respectivamente. Ver los ejemplos.

Pgina 11

Introduccin a Maxima - Resolucin de ecuaciones y sistemas de ecuaciones

Resolucin de ecuaciones y sistemas de ecuaciones


Usaremos la funcin solve para resolver ecuaciones y sistemas de ecuacio nes. Vemoslo.

Ilustracin 11: Resolviendo ecuaciones

Observa que si no hay un signo =, Maxima asume que buscamos los ceros de la ecuacin. En la lnea %i15 se explica cmo sustituir la solucin para com probar la validez de la solucin. Resolviendo manualmente la ecuacin de %o13 obtenemos [ x =0, x =10 ]. Maxima elimina las pseudo soluciones. La instruccin algsys permite obtener soluciones aproximadas cuando no se dispone de un mtodo algebraico de resolucin de la ecuacin. Con la op cin realonly:true obtenemos exclusivamente soluciones reales. La funcin solve se puede usar tambin para despejar algn trmino en una ecuacin. Observa cmo enseamos a Maxima a resolver una ecuacin con radicales. Las dos ilustraciones siguientes ejemplifican lo que decimos.

Pgina 12

Introduccin a Maxima - Resolucin de ecuaciones y sistemas de ecuaciones

Ilustracin 12: Obteniendo soluciones reales aproximadas..

Ilustracin 13: Despejando para resolver una ecuacin irracional.

Pgina 13

Introduccin a Maxima - Resolucin de ecuaciones y sistemas de ecuaciones

Igualmente podemos resolver sistemas de ecuaciones lineales. Cuando son in determinados, obtiene las soluciones en funcin de uno o ms parmetros. Los %R3 y %R4 seran como y .

Ilustracin 14: Resolucin de sistemas de ecuaciones

Inecuaciones
Maxima no resuelve inecuaciones, pero le podemos ensear buscando los ce ros y estudiando el signo en los intervalos que corresponda. De eso trata el si guiente ejercicio.

Ilustracin 15: Resolviendo una inecuacin estudiando el signo

Est claro que la solucin es x [1,1 ].

Pgina 14

Introduccin a Maxima - Matrices y determinantes

Matrices y determinantes
Operaciones
Para Maxima, una matriz es una lista de listas en la que cada elemento es una fila. Observa que el operador * multiplica elemento a elemento dos matri ces. Para el producto matricial usaremos . Para calcular la inversa podemos utilizar la funcin invert o el operador ^^-1. El determinante de una matriz lo calculamos con determinant y el rango con rank.

Ilustracin 16: Operaciones con matrices.

Pgina 15

Introduccin a Maxima - Anlisis

Anlisis
Sucesiones
Las sucesiones se definen de manera anloga a las funciones, salvo en el uso de corchetes para encerrar la variable. En el siguiente ejemplo definimos una sucesin, calculamos algunos trminos y su lmite.

Ilustracin 17: Definiendo una sucesin

Funciones. Composicin de funciones


Definimos un par de funciones, por el mtodo ya conocido y las compone mos.

Ilustracin 18: Componiendo funciones

Pgina 17

Introduccin a Maxima - Funciones a trozos:

Funciones a trozos:

x2 si x 0 Vamos a definir f x = 2x 1 si 0 x 4 1 x si x 4

Ilustracin 19: Definiendo una funcin a trozos

Lmites de funciones
Para calcular lmites de funciones usaremos limit. La estructura de la instruccin es: limit(funcin, variable, punto). Donde punto puede ser un valor, inf () o minf, (-). En el caso primero admite un modifica dor minus o plus para indicar por la izquierda o por la derecha.

Pgina 18

Introduccin a Maxima - Derivadas

Ilustracin 20: Calculando lmites

Derivadas
La instruccin diff nos permite obtener la funcin derivada de una funcin, indicando opcionalmente el orden de la derivada. Por sustitucin podemos obtener la derivada de una funcin en un punto.

Ilustracin 21: Derivadas.

Integrales
Las integrales indefinidas (es decir, el clculo dde la antiderivada o primitiva de una funcin) y la integral definida (el clculo de la medida del rea bajo una curva, por ejemplo) hacen uso de la misma instruccin integrate, que Ma xima interpreta de una forma u otra segn omitamos o no los lmites inferior o superior del intervalo.

Pgina 19

Introduccin a Maxima - Integrales

Ilustracin 22: Clculo de integrales.

Pgina 20

Introduccin a Maxima - Grficos

Grficos
Cmo verlos?
Conviene indicar que Maxima no tiene capacidades grficas. Sino que acta de interfaz de un programa de generacin de grficos GNUplot . Este pro grama admite gran nmero de opciones que precisaran de otro manual. Nos limitaremos a lo ms elemental con algunos ejemplos sencillos. Los grficos pueden verse incrustados en la consola de trabajo, en una venta na independiente cuyo contenido se actualiza segn vamos creando nuevos grficos, o en mltiples ventanas; en este ltimo caso cada nuevo grfico fuerza la apertura de una ventana nueva.

Ilustracin 23: Opciones de la ventana de grficos.

Grficos bidimensionales
La funcin plot2d permite mltiples variantes, como incluir una lista de funciones en el mismo grfico, fijar el rango de valores de y, ... Lo mnimo que necesita es una funcin y el rango de valores de x. La s grficas siguientes se han producido con las rdenes: plot2d(sin(x),[x,-2*%pi,2*%pi]); y plot2d([x^2-4*x,-2*x-1,2*x-9], [x,-3,7], [y,-5,20], [gnuplot_preamble, "set zeroaxis"], [nticks,20]); En el caso de la segunda grfica no se ha capturado la pantalla sino que se ha hecho uso de las opciones de exportacin de grficos de gnuplot.

Pgina 21

Introduccin a Maxima - Grficos bidimensionales

Ilustracin 24: Grfica de la funcin seno.

20

x^2-4*x -2*x-1 2*x-9

15

10

-5 -4

-2

Ilustracin 25: Grfica de x^2 - 4x y sus tangentes en x=1 y x=3

Os acordis de la funcin a trozos anterior? Vamos a representarla. Observa que las discontinuidades vienen marcadas por dos segmentos verticales que no deberan aparecer pero...
x2 si x 0 Esta era la funcin: f x = 2x 1 si 0 x 4 1 x si x 4

Pgina 22

Introduccin a Maxima - Grficos bidimensionales

Y sta es su grfica.

Ilustracin 26: Grfica de una funcin a trozos

Pgina 23

Introduccin a Maxima - Grficos tridimensionales

Grficos tridimensionales
Para grficos tridimensionales tenemos la instruccin plot3d en la que hay que precisar, al menos, los rangos de x y de y. El siguiente ejemplo se ha hecho con la orden plot3d(1+x^2-y^2, [x,-5,5], [y,-5,5], [gnuplot_preamble, "set pm3d at s; unset surf; unset colorbox"])$

30 20 10 0 -10 -20 -30 2 4 6

-6

-4

-2

6-6

-4

-2

Ilustracin 27: Un grfico tridimensional

Pgina 24

Introduccin a Maxima - Consideraciones finales

Consideraciones finales
Recapitulemos
Maxima y otras herramientas CAS son una potente herramienta de aprendiza je. Si, como es el caso de Maxima o Yacas o... son libres y estn disponibles para Linux y Windows, entre otros sistemas operativos, mejor. Podemos proporcionarles a nuestros alumnos estas herramientas para que puedan usarlas en casa sin tener que cambiar su sistema operativo o hacer problemticas particiones del disco duro. Podemos trabajar en clase con Gua dalinex y en casa con Windows. El propsito de este manual es acercar al alumno al uso de estas herramientas no muy intuitivas pero que, una vez aprendido lo que se precisa, se convierte en un instrumento importante de aprendizaje. Y aumenta la autonoma, y por tanto, la seguridad en las propias capacidades, al poder contrastar rpidamen te la validez de los resultados obtenidos. Proporcionar a los alumnos en un CD OpenOffice, Maxima, wxMaxima y al gunos manuales adaptados a sus necesidades les abren puertas que algunos cruzan.

Materiales
Para redactar este manual hemos empleado OpenOffice 2.0, xMaxima y wx Maxima. Maxima reference manual y Primeros pasos en Maxima ha sido la documentacin que bsicamente hemos utilizado. Conseguir estos programas y su documentacin va internet es muy simple. En sourceforge.net estn alojadas un nmero casi inabarcable de herramientas matemticas, entre ellas Maxima y wxMaxima y, en cualquier caso, cualquier buscador nos llevar inmediatamente a mltiples pginas de ayuda y docu mentacin adicional. Es cuestin de ponerse.

Derechos de copia
Copyright 2004 Miguel Arsuaga Franco y Rosa Ramos Palanco. Este docu mento es libre. Se otorga permiso para copiarlo, distribuirlo y/o modificarlo en los trminos de la Licencia de Documentacin Libre GNU, versin 1.2 o posterior publicada por la Fundacin de Software Libre, http://es.g nu.org/licencias/fdles.html.

Pgina 25

También podría gustarte