Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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.
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
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
Pgina 2
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:
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
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.
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
Aritmtica
Operadores aritmticos
Pgina 5
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
Funciones predefinidas
Algunas constantes tiles
Se utilizan:
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 ^.
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
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 -
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
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
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
Pgina 13
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 .
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.
Pgina 14
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.
Pgina 15
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.
Pgina 17
Funciones a trozos:
x2 si x 0 Vamos a definir f x = 2x 1 si 0 x 4 1 x si x 4
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
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.
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
Pgina 20
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.
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
20
15
10
-5 -4
-2
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
Y sta es su grfica.
Pgina 23
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"])$
-6
-4
-2
6-6
-4
-2
Pgina 24
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