Está en la página 1de 48

UNNOBA

UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

WXMAXIMA 13.04.2 MAXIMA 5.31.2


ndice
Instalacin ................................................................................................................ 1
Introduccin de expresiones y operaciones ................................................................ 2
Constantes ................................................................................................................ 3
Variables booleanas .................................................................................................. 3
Evaluacin de expresiones
Definicin de variables y funciones........................................................................... 4
Algunas funciones bsicas ...................................................................................... 10
Simplificacin y expansin de expresiones
Expansin de expresiones- Distribuir potencias y productos.................................... 12
Simplificaciones ..................................................................................................... 15
Nmeros complejos ................................................................................................ 16
Matrices y vectores ................................................................................................. 17
Ecuaciones .............................................................................................................. 23
Polinomios y races de una ecuacin ....................................................................... 24
Sistemas de ecuaciones ........................................................................................... 27
Funciones trigonomtricas ...................................................................................... 29
Evaluacin de expresiones ...................................................................................... 25
Conjuntos y Listas .................................................................................................. 31
Grficos .................................................................................................................. 38
Animaciones ........................................................................................................... 43
El paquete draw ...................................................................................................... 43

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

WXMAXIMA 13.04.2 MAXIMA 5.31.2


Mxima es un sistema de clculo numrico y simblico que incluye tanto operaciones
en todos los campos numricos como races, logaritmos, potencias, etc. como lmites,
derivadas, integrales, series, grficos en 2D y 3D.

Instalacin
Ingresando en http://maxima.sourceforge.net/es, accedemos a la pgina principal.
Debemos seleccionar la opcin Descargar del men de la izquierda y luego ingresar por
el link a la pgina de descargas de Sourceforge.

En esta pantalla podemos seleccionar instaladores de Mxima para distintos sistemas


operativos. Para instalar la ltima versin de Mxima para Windows elegimos
Looking for the latest version? Download maxima-5.31.2.exe (32.7 MB)

-1-

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Introduccin de expresiones y operaciones


Cada instruccin se ingresa utilizando el men o tipeando el comando correspondiente y
presionando shift+enter.

Los comandos que ingresamos se identifican con %i (input) y un nmero correlativo y


cada respuesta del programa del identifica con %o (output) y un nmero. Podemos
referenciar estas lneas por su etiqueta, como en la 3ra. lnea del ejemplo donde se
solicit calcular el valor de la primera expresin ingresada (log 3x) habindole asignado
en la 2da. lnea el valor 23 a la variable x.
Como puede observarse en la salida de la 3ra lnea las respuestas de Mxima se dan en
forma exacta. Si queremos el resultado en forma decimal podemos utilizar el comando
float. El % utilizado como argumento de float en la 4ta. lnea hace referencia a la ltima
salida (log(69)).
Las expresiones se ingresan en las celdas de entrada utilizando los siguientes
operadores:
Aritmticos
+
Suma
a+b
Resta
a-b
*
Multiplicacin
a*b
/
Divisin
a/b
^
**
Exponenciacin
a^b
Multiplicacin de matrices (no
a.b
.
conmutativo) y producto escalar
^^
Exponenciacin no conmutativa
Para ecuaciones
=
Igual
a=b*5
#
Distinto
m#a+b
Relacionales
>
Mayor
a>b*3
>=
Mayor o igual
-a>=b

-2-

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

<
<=

Menor
Menor o igual

a<b^2
a<=c
Lgicos

and
or
not
:

::
::=
:=
%
%in
%on

Y
O
negacin

a>b and m=n


a-b>0 or a=b
not(a>=5)
De Asignacin
Asignacin de valor o expresin a:5
a una variable simple,
x:m[2]  x toma el valor del segundo
subindicada o a una lista
elemento de m
list[3]:2*x  el 3 elemento de list
toma el valor 2*x
[a,b,c]:[1,2,3]  asigna cada valor a
cada variable en ese orden
Similar a : pero evala ambos
miembros derecho e izquierdo
Definicin de macros
Definicin de funciones
f(x):=sin(x)
Referencia a celdas
Ultima salida
float(%)  expresa la ultima salida
con decimales
Celda de entrada especificada
%i3
por el numero n
Celda de salida especificada por sqrt(%o2)  calcula la raz cuadrada
el numero n
de la salida numero 2

Constantes
Las constantes como el nmero e o se ingresan precedidos del signo %
Ej: %pi, %e, %phi (razn urea), %i (unidad imaginaria)

Variables booleanas (interruptor):


Estas variables definen el entorno de trabajo
Para conocer el estado de una variable booleana se debe escribir su nombre. Para
cambiarlo se le debe asignar con el signo : el valor true o false.

En el ejemplo se observa que el valor predeterminado de simp: true (las expresiones se


simplificarn automticamente).
Puede resultar til activar el panel Matemticas Generales desde el men Mxima
Paneles.

-3-

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Evaluacin de expresiones
Definicin de variables y funciones
Para asignarle un valor a una variable se utilizan los dos puntos. Los nombres de
variables pueden contener letras y/o nmeros. Mxima distingue maysculas y
minsculas en los nombres.

La definicin de funciones se realiza con el operador :=

Si se define una funcin a partir de una expresin asignada a una variable sta no se
evala a menos que se le indique con (doble comilla simple)

-4-

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Cuando el ltimo o nico argumento x_n es una lista de un solo elemento, la funcin
definida por := acepta un nmero variable de argumentos
Ejemplo 1
Al indicar apply + la
salida es una nica
expresin o un
resultado

Ejemplo 2

La expr sin(x) se aplica a cada


elemento, la salida es una lista.

Funcin: ev(expr,arg1,argn): evalua la expresin expr. segn los argumentos


especificados.
ev puede omitirse y escribir directamente el clculo. ev es requerido cuando se
introduce el clculo y los argumentos dentro de otras expresiones como funciones,
bloques, etc.

-5-

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Pueden especificarse argumentos separados por comas que modifican la forma en se


muestran los resultados.
Argumento noeval: evita la fase de evaluacin de ev. Es til conjuntamente con otras
variables globales y para poder volver a simplificar expresiones sin tener que evaluarlas
otra vez. (Equivale a comilla simple)

Argumento nouns cuando se utilice como una opcin de la instruccin ev, todas las
formas nominales que aparezcan en una expresin las convierte en verbales, esto es, las
evala. (equivale a doble comilla simple)
Argumento expand: causa la expansin.
Dos formas de hacer lo mismo:

Argumento float: Convierte los enteros, nmeros racionales y los decimales de punto
flotante grandes ("bigfloats") que estn presentes en expr a nmeros de punto flotante
Valor predeterminado de la variable float: False

Argumento numer: La variable numer hace que algunas funciones matemticas con
argumentos numricos se evalen como decimales de punto flotante. Tambin hace que

-6-

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

las variables de una expresin a las cuales se les ha asignado un nmero sean sustituidas
por sus valores. Adems, activa la variable float.

Float no evala el
log y numer s

Tanto float como numer devuelven una expresin decimal de punto flotante
aproximada para determinadas expresiones.
Puede combinarse float(expr), numer para mostrar el resultado en decimales para
cualquier expresin que no sea una constante.
Para evitar escribir float o numer se puede ingresar uno de los valores con punto
decimal.

Men Numrico de WxMaxima

1 opcin: analiza el estado de la variable numer, y la cambia (de True a False o a la


inversa)

-7-

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

2 opcin: Convierte la ltima salida a nmero decimal de punto flotante

3 opcin: Convierte la ltima salida a nmero decimal de precisin ilimitada

3 opcin: Establece la precisin numrica solo para los nmeros bigfloat

Numero bigfloat- Solo en


ellos acta fpprec

-8-

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Argumento detout: Si la expr contiene la inversa de una matriz, el valor del


determinante queda como un factor fuera de la matriz en lugar de dividir a cada
elemento

Argumento pred: Provoca la evaluacin de las expr. que pueden ser true o false.
Equivalente a is(expr.)

Argumento V:expresin ( o V= expresin): causa que la variable V tome el valor de la


expresin durante la evaluacin.

Cuando se realizan varias asignaciones de valores o de expresiones a una variable de


expr estas se aplican de izquierda a derecha, en una primera evaluacin se aplica solo la
primera que aparece.

-9-

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Algunas funciones bsicas


abs(expr): Valor absoluto de la expresin. La expresin puede ser un nmero real, un
nmero complejo o un clculo simblico. Si el argumento es un complejo abs calcula su
mdulo.

log(expr): Logaritmo natural de la expresin.


Para calcular logaritmos en otra base, debe aplicarse la frmula para el cambio de base
log a
log b a =
log b

sqrt(expr): Raz cuadrada de la expresin. Si la variable radexpand vale True, y


domian:real (valores predeterminados) se extraern de la raz los factores que sean
potencias de exponente par.

- 10 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

exp(x): Equivale a %e^x

entier(x): Devuelve el mayor entero menor o igual a x, siendo x numrico

floor (expr): Si expr es un nmero real, devuelve el mayor entero menor o igual que
expr. Si expr es una expresin constante (por ejemplo, 10 * %pi), floor evala expr
haciendo uso de nmeros grandes en coma flotante (big floats), aplicando a
continuacin floor al nmero decimal obtenido. Para argumentos no constantes, floor
intenta devolver un valor simplificado.
ceiling (expr): Si x es un nmero real, devuelve el menor entero mayor o igual que x.

mod(x,y): Si x e y son nmeros reales e y es distinto de cero, devuelve el resto de


dividir x por y (aplicando x - y * floor(x / y)).
Para todos los reales x, mod (x, 0) = x.

factorial(x) o x!: Calcula el factorial de x

- 11 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Simplificacin y Expansin de expresiones


Las expresiones que involucran clculos simblicos y las expresiones con operadores
aritmticos no son evaluadas sino simplificadas.
Algunas simplificaciones se aplican automticamente, si la variable simp vale True
(valor predeterminado). Para controlar las simplificaciones pueden aplicarse ciertas
funciones.

Adems puede dotarse a una funcin o a un operador de ciertas propiedades para que
sobre ellos se aplique determinada simplificacin.
Por ejemplo el seno de un mltiplo de es simplificado a 0, luego si establecemos que n
es un nmero entero, la expresin sen(n*pi) ser simplificada a 0.

Funcin combine(expr): combina trminos con igual denominador

Expansin de expresiones- Distribuir potencias y productos


Funcin xthru(expr): combina todos los trminos de expr. (la cual debe ser una suma)
sobre un comn denominador sin expandir productos ni potencias de sumas. Cancela
factores comunes solo si son explcitos.

- 12 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Funciones: distrib(expr) expand(expr) multthru(expr): realizan expansiones a


distintos niveles. Expand es la que aplica distributiva a toda la expresin.

expand(m,n) expande la expresin tomando como mximo exponente positivo a


expandir al valor de m y como mximo exponente negativo a expandir al valor de n.

multthru se puede usar con dos o ms expresiones como argumento.


multthru no expande potencias

Funcin expandwrt(expr,x1,x2,.xn): expande la expresin nicamente para las


variables especificadas en x1, x2xn.

- 13 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Funcin ratexpand(expr): Expande expr multiplicando productos de sumas y sumas


con exponentes, combinando fracciones con comn denominador, cancelando el
mximo comn divisor del numerador y del denominador y luego dividiendo los
sumandos del numerador por el denominador.

Variable negdistrib: Por defecto su valor es True, esto hace que -1 se distribuya
cuando multiplica a una suma. Si se establece en False el 1 no se distribuir.

- 14 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Simplificaciones
Funcin ratsimp(expr): Simplifica la expresin expr y todas sus subexpresiones,
incluyendo los argumentos de funciones no racionales.

Funcin radcan(expr): Simplifica las expr. que pueden contener logaritmos,


exponenciales y radicales.

Variable radexpand: Controla si se extraern factores de un radical


Valor por defecto: True
Valores posibles: True, False, all
Si radexpand vale True, la salida tambin depende del valor de domain
Domain puede ser integer, real o complex

- 15 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Funcin scsimp(expr, regla1,regla2reglan): simplifica la expresin aplicando las


reglas definidas en regal1, reglan.

Nmeros complejos
Los nmeros complejos se ingresan como a+%i*b

Funciones para nmeros complejos


cabs(expr): calcula el mdulo del complejo.
cabs se distribuye sobre listas y a ambos miembros de una igualdad.
cabs no es una funcin apropiada para clculos simblicos; en tales casos, que incluyen
la integracin, diferenciacin y lmites que contienen valores absolutos, es mejor utilizar
abs.

carg(z): devuelve el argumento de complejo z. El argumento es un ngulo entre - y .


- 16 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

polarform(z): Expresa el complejo z en forma polar.

rectform(expr): Convierte la expresin polar de un complejo a su forma binmico.

realpart(z) e imagpart(z): devuelve la parte real y la parte imaginaria respectivamente


del complejo z.

Matrices y vectores
Los vectores se ingresan entre corchetes.

La funcin matrix(fila1,fila2,.,filan) define una matriz

Operaciones posibles:
Mdulo de un vector: Mxima no incorpora un comando para calcular el mdulo de un
vector, pero puede definirse una funcin que lo calcule.

- 17 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Para vectores en el espacio habr que definir la funcin con 3 variables.


Tomando m del primer ejemplo y n=

Operador + : suma elemento a elemento

Operador - : resta elemento a elemento

Operador * : multiplica elemento a elemento o multiplica por un escalar

Operador . : efecta el producto matricial (no conmutativo)

Y el producto escalar.

- 18 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Operador ^ : eleva cada elemento de la matriz a un escalar (si el exponente es escalar)


o eleva una base escalar a cada elemento de una matriz. Si base y exponente son
matrices no realiza la operacin elemento a elemento.

Operador ^^ (Exponenciacin no conmutativa): Si la base es una matriz y el


exponente un escalar n, multiplica la base n veces como si se hubiera utilizado el
operador . (multiplicacin matricial no conmutativa).

Si la base es un escalar y el exponente es una matriz b^^m es equivalente a b^m.


Para calcular la inversa de una matriz debe utilizarse el operador ^^ o utilizar la
funcin invert(m).

- 19 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Funcin unitvector(x) o univect(x): Devuelve el vector x normalizado (vector unitario


de igual direccin y sentido que x). Se debe cargar el paquete eigen.

Funciones addcol(M, fila1,.filan) y addrow(M,fila1,.filan): aaden


columnas/filas a la matriz M.
Funciones col(M,i) y row(M,i): devuelven una matriz columna/fila con los elementos
de la columna/fila i de la matriz M.
Funcin copymatrix(M): devuelve una copia de la matriz. No es posible realizar
asignaciones del tipo m:n dado que ambas matrices quedaran relacionadas.
Funcin ematrix(m,n,x,i,j): genera una matriz con todos sus elementos nulos excepto
el que ocupa la posicin i,j cuyo valor ser igual a x.

Funcin ident(n): genera la matriz identidad de orden n


Funcin diagmatrix(n,x): genera una matriz diagonal de orden n con lo elementos de
la diagonal iguales a x.

Funcin zeromatrix(m,n): genera una matriz rectangular mxn con todos sus elementos
igual a cero.
Funcin genmatrix(a,i,j): genera una matriz de ixj a partir de a. Donde a es una
expresin lambda de dos argumentos (ejemplo 1). Si los ai,j no estn definidos se
expresarn genricamente (ejemplo 2).
- 20 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Funcin setelmx(x,i,j,M): Asigna al elemento de posicin i, j de la matriz M el valor x


y devuelve la matriz actualizada.
La asignacin M[i,j]:x tambin reemplaza el valor del elemento por x pero devuelve x.

Funcin submatrix(il,i,m,M,jl,,jm): Devuelve una matriz generada a partir de M


eliminando las filas il,..,im y columnas jl,,jm.

Funcin list_matrix_entries(M): Devuelve una lista con todos los elementos de la


matriz.

- 21 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Funcin determinant(M): calcula el determinante de la matriz.

Funcin rank(M): Calcula el rango de la matriz.

Funcin echelon(M): devuelve la matriz escalonada equivalente a M.

Funcin triangularize(M): Devuelve la matriz triangular equivalente a M.

Funcin transpose(M): devuelve la transpuesta de la matriz.

Funcin adjoint(M): devuelve el adjunto de la matriz M (Transpuesta de la matriz de


cofactores de M)

- 22 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Funcin coefmatrix([eqn1,eqn2,eqnn],[var1,var2,varn]): Devuelve la matriz de


coeficientes del sistema de ecuaciones.

Funcin augcoefmatrix([eqn1,eqn2,eqnn],[var1,var2,varn]): Devuelve la matriz


ampliada del sistema de ecuaciones (matriz de coeficientes de las ecuaciones mas la
columna de trminos independientes)

Ecuaciones
La expresin a = b representa una ecuacin sin evaluar, la cual puede verificarse o no.
Para resolver una ecuacin puede utilizarle la funcin solve.

- 23 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Funcin solve(expr,x): Resuelve expresiones algebraicas de una o mas incgnitas. La


expresin puede ser racional y puede contener funciones trigonomtricas,
exponenciales, etc. Tambin resuelve sistemas de ecuaciones polinmicas.
Si no se especifica una igualdad, las expresiones son igualadas a cero.
Si hay una nica incgnita no es necesario especificarla como argumento.
Puede especificarse como argumento para resolver la ecuacin una funcin, u otra
expresin no atmica excepto una suma o producto.

Si hay ms de una variable debe especificarse una como incgnita a despejar.

Variable solveradcan: Si vale True solve llama a radcan, esto permite que pueda
resolver ciertas ecuaciones con logaritmos y exponenciales.
Valor por defecto: false

Polinomios y races de una ecuacin

Algunas ecuaciones no son totalmente resueltas por solve, en ese caso puede utilizarse
find_root (ecuacin, variable, cota inf, cota sup)

Funcin allroots(expr): Calcula aproximaciones numricas de las races reales y


complejas de un polinomio o de una ecuacin polinmica de una variable.
La funcin allroots puede dar resultados inexactos en caso de que haya races mltiples.
Si el polinomio es real, allroots (%i*p)) puede alcanzar mejores aproximaciones que
allroots (p), ya que allroots ejecuta entonces un algoritmo diferente.

- 24 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Funcin realroots(expr,bound): Calcula aproximaciones racionales de las races reales


de un polinomio o de una ecuacin polinmica de una variable, dentro de la tolerancia
especificada por bound (tolerancia que establece el intervalo de confianza de las races
calculadas)
Si bound es menor que la unidad, todas las races enteras se expresan en forma exacta.
Si no se especifica bound, se le supone igual al valor de la variable global rootsepsilon
(1.0e-7).
La funcin realroots guarda las multiplicidades de las races encontradas en la variable
global multiplicities.

Funcin nroots (p, low, high): Muestra la cantidad de races que tiene el polinomio en
el intervalo dado. El intervalo puede ser minf, inf (-, )

- 25 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Funcin subst(nuevo, anterior, exp.): Sustituye el nuevo valor en el anterior en la


expresin expr.

Pueden hacerse sustituciones en forma secuencial, es decir primero se realiza el primer


reemplazo y sobre este resultado se aplica el siguiente. En este caso debe indicarse
anterior=nuevo en forma de ecuacin.

sublis realiza sustituciones en paralelo.

- 26 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Sistemas de ecuaciones
Men Ecuaciones:
solve
find_root
allroots
bfallroots
realroots
linsolve
algsys

Los sistemas de ecuaciones pueden resolverse mediante solve, algsys y linsolve


solve resuelve sistemas de ecuaciones polinmicas (lineales o no) llamando a linsolve o
a algsys segn corresponda.
En el caso de linsolve las expresiones deben ser polinomios lineales respecto de las
variables o ecuaciones.
Con algsys se resuelven sistemas de ecuaciones polinmicas, si se escribe nicamente la
expresin, sta es igualada a 0.
Los resultados se mostrarn de diferentes formas segn el valor de las variables
programmode, globalsolve y linsolve_params
Ejemplo de sistema compatible indeterminado:
Las variables %r representan parmetros.

Variable realonly: si vale True, algsys solo encontrar soluciones reales.


Variable globalsolve: Cuando esta vale True, a las variables de un sistema de
ecuaciones resuelto por solve o linsolve se le asignan los valores de la solucin. Si vale
False, las soluciones se expresan como ecuaciones y las variables no guardan el valor
calculado. El valor predeterminado es False.
El valor de globalsolve es ignorado por solve cuando no se trata de un sistema de
ecuaciones y tambin es ignorado por algsys.

- 27 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

ecuacin

asignacin

Variable linsolve_params Si linsolve_params vale true, linsolve tambin genera


smbolos %r para representar parmetros arbitrarios. Si vale false, el resultado devuelto
por linsolve expresar, si es el sistema es indeterminado, unas variables en funcin de
otras.

- 28 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Variable programmode: Si vale False, se generan etiquetas intermedias (%tn) con las
soluciones de solve, realroots, allroots y linsolve y la solucin se expresa como una lista
con estas etiquetas. Si vale True la lista se forma directamente con la soluciones.

Funciones trigonomtricas:
Los argumentos de las funciones trigonomtricas deben expresarse en radianes

Funciones trigonomtricas
sin: seno
cos: coseno
tan: tangente
csc: cosecante
sec: secante
cot: cotangente

Funciones hiperblicas
sinh: seno hiperblico
cosh: coseno hiperblico
tanh: tangente hiperblica
csch: cosecante hiperblica
sech: secante hiperblica
coth: cotangente hiperblica

Funciones inversas
asin: arco seno
acos: arco coseno
atan: arco tangente
acsc: arco cosecante
asec: arco secante
acot:arco cotangente

asinh: arco seno hiperblico


acosh: arco coseno hiperblico
atanh: arco tangente hiperblica
acsch: arco cosecante hiperblica
asech: arco seno hiperblico
acoth: arco cotangente hiperblica

- 29 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Algunas simplificaciones se ejecutan automticamente cuando el argumento es un


mltiplo entero de %pi, %pi/2, %pi/3, %pi/4 o %pi/6. (siempre que la variable %piargs
conserve su valor en True)

Es necesario
declarar a n
como entero
para que la
simplificacin
ocurra

Mxima no conoce todas las identidades trigonomtricas pero podemos definirlas en


momento de aplicar la simplificacin

El paquete atrig1 tiene algunas reglas de simplificacin adicionales para las funciones
trigonomtricas inversas. Las simplificaciones se aplican a los ngulos 0, %pi/6, %pi/4,
%pi/3 y %pi/2. y los correspondientes en los otros tres cuadrantes

Funcin trigsimp (expr):Utiliza las identidades sin(x)^2 + cos(x)^2 = 1 y cosh(x)^2 sinh(x)^2 = 1 para simplificar expresiones que contienen tan, sec, etc., en expresiones
con sin, cos, sinh, cosh.
Las funciones trigonomtricas inversas se simplificarn segn el valor de la variable
triginverses. Valores posibles all, true, false

- 30 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Variable trigsign: Si vale True los argumentos negativos se simplifican a la expresin


equivalente con argumento positivo. Valor predeterminado True.

Conjuntos y listas
Los conjuntos se definen por extensin, utilizando el comando set o entre llaves
Ejemplos:

El comando setp(a) devuelve true si a es un conjunto


Los elementos de una lista se encierran entre corchetes.
Si los elementos forman parte de una lista, estos pasan a ser los elementos de un
conjunto con el comando setify

Si existen listas dentro de otra lista se debe utilizar fullsetify si se quiere convertir a
conjunto cada una de las sublistas

A la inversa, los elementos de un conjunto se transforman en una lista con el comando


listify

- 31 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Si adems se quieren convertir los subconjuntos en sublistas se debe utilizar el comando


full_listify

Conjunto vaco
El conjunto vaco se ingresa con un par de llaves.
El comando emptyp devuelve true si el argumento es un conjunto vaco o una lista
vaca.

Cardinal
Cardinality calcula el nmero de elementos del conjunto

Pertenencia
El comando elementp(p,a) devuelve true si el elemento p pertenece al conjunto a.

- 32 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Producto cartesiano:
El producto cartesiano entre dos o ms conjuntos se obtiene con el comando
cartesian_product
Ejemplo:

Definir conjuntos y listas mediante expresiones


Para definir un conjunto a partir de una expresin se utiliza el comando
makeset(expresin, x,a)
makeset tiene los siguientes argumentos:
expresin: expresin que genera los elementos del conjunto
x: lista de variables que se encuentran en la expresin
a: conjunto de listas o lista de listas que se asignarn en paralelo a las variables de x
Ejemplo: para construir un conjunto con el cuadrado de los nmeros naturales menores
o iguales que 10.

Para generar una lista automticamente a partir de una expresin general se utiliza
makelist(expresin,x,vi,vf)
makelist tiene los siguientes argumentos:
expresin: clculo que determina cada elemento de la lista
x: variable sobre a que se aplica el clculo indicado en expresin
vi: que tomar la variable x
vf: que tomar la variable x

A partir de esta lista se puede crear una segunda lista con create_list(expresin,x,lista)
create_list tiene los siguientes argumentos
expresin: clculo que se aplicar a cada elemento de la lista
x: variable que se utiliza en la expresin que tomar los distintos valores de la lista

- 33 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

lista: lista que contiene los datos originales


Ejemplo sobre la lista del ejemplo anterior:

Para utilizar el valor de un elemento de una lista se debe indicar su posicin (subndice)
a continuacin del nombre la lista y entre corchetes.
De esta forma pueden extraerse los valores de un conjunto (convirtiendo previamente en
una lista con listify) para analizarlos o realizar una operacin.

Si la lista tiene sublistas, se utilizan 2 subndices.

Para recorrer los elementos de un conjunto se puede utilizar el comando map o la


secuencia for x in s do (donde x son los elementos del conjunto y s es el conjunto)
Ejemplos:

- 34 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Subconjunto
Para obtener un subconjunto de un conjunto cuyos elementos cumplan con un criterio se
utiliza el comando subset(a,f)
Subset tiene los siguientes argumentos:
a: conjunto
f: funcin booleana. Los elementos de a que devuelvan true al aplicrsele la funcin f
formarn el subconjunto.
Ejemplo:

La funcin subsetp(a,b) devuelve true si a es un subconjunto de b


Unin:
El comando unin realiza la unin de uno o ms conjuntos

El comando adjoin agrega un elemento a un conjunto, el elemento puede ser otro


conjunto.

- 35 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Interseccin
El comando intersection o su forma abreviada intersect determinan la interseccin de
dos o ms conjuntos.

Diferencia
La diferencia entre dos conjuntos se obtiene con el comando setdifference

Para quitar un elemento de un conjunto se utiliza el comando disjoin, delete o


setdifference.

Diferencia simtrica:
El comando symmdifference calcula la diferencia simtrica entre dos conjuntos.

- 36 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Conjuntos disjuntos
El comando disjointp evala si dos conjuntos son disjuntos (no tienen elementos en
comn)

Para particionar un conjunto en dos conjuntos segn un criterio, se utiliza partition_set.


El primer conjunto estar formado por los elementos que no cumplen la condicin y el
segundo estar formado por los elementos que la cumplen. La condicin debe ser una
expresin booleana, es decir que debe arrojar como resultado true o false.
Ejemplo1: para particionar el conjunto en dos segn sus elementos sean o no potencias
enteras de 2

Nota: la funcin sqrt(x) calcula la raz cuadrada de x y la funcin entier(x) devuelve la


parte entera de x.
Ejemplo 2: para particionar un conjunto en dos, uno formado por los positivos y el otro
por los negativos y el cero

Nota: la funcin signum(x) devuelve 1 si x es positivo, -1 si x es negativo y 0 si x es 0.

- 37 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Conjunto de partes.
El conjunto formado por todos los subconjuntos del conjunto a se obtiene con el
comando powerset(a)

Grficos
Los grficos en 2D se realizan con la funcin plot2d (abre una ventana con el grfico) y
wxplot2d (inserta el grfico a continuacin de la instruccin).
Mxima realiza los grficos llamando a un programa externo como Gnuplot, otros
formatos pueden seleccionarse en el men Grficos.
La expresin ms sencilla para realizar un grfico en 2d requiere los argumentos:
Funcin o lista de funciones a graficar y el rango de la variable x. Si se desea graficar
ms de una funcin estas se escriben entre corchetes.

- 38 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Los grficos se pueden definir en forma discreta o paramtrica. Tambin se pueden


combinar distintas formas de definir los puntos a graficar en un mismo grafico.

Grfico discreto: requiere la especificacin de los pares de puntos a graficar, ya sea en


una lista formada por los pares o en dos listas de igual cantidad de elementos donde la
coordenada x se encuentra en la primera lista y la coordenada y en la segunda.
Style, points indica que solo dibuje puntos en lugar de unir los puntos con lneas.

Grfico paramtrico: requiere como argumentos las expresiones a graficar utilizando


un parmetro y el rango de variacin del parmetro. El argumento nticks especifica la
cantidad de puntos a calcular.

- 39 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

En el ejemplo se realiz adems un grafico discreto (con los dos extremos del radio)
para establecer los valores mnimos y mximos de los ejes x e y y as lograr que la
circunferencia no se vea como una elipse.
Adems pueden agregarse las siguientes opciones:
Las opciones son listas con una palabra clave seguida de uno o ms valores.
[axes,symbol] la variable symbol puede ser
True: se muestran ambos ejes
False: no se muestran los ejes
x: se muestra solo el eje y
y: se muestra solo el eje y
[box,symbol] la variable symbol puede ser
True: el grfico se encuentra dentro de una caja con borde
False: no se dibuja el borde

[color,color1,color2,colorn] Establece el color de cada lnea, conjunto de puntos, o


cara en un grfico 3d.
Colores posibles: blue, red, green, magenta, black, cyan
Si hay ms grficos que colores, estos se repetirn cclicamente.
[legend, etiqueta1, etiqueta2,.. etiquetan] Establece la leyenda asociada a
cada grfico.
Si hay ms grficos que etiquetas, estas se repetirn cclicamente.
[legend, false] Hace que no se muestren leyendas.
[logx]/[logy] El eje de abscisas/ordenadas se dibujar en escala logartmica.
[nticks,numero] En grficos de funciones con plot2d establece el nmero inicial de
puntos que utilizar la rutina grfica.

- 40 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Con plot3d o con grficos paramtricos en plot2d establece el nmero de puntos que se
representarn en el grfico. Valor predeterminado: 29

[point_type, tipo1, tipo2, . tipon] Estable la forma del punto cuando el grfico se
representa con estilo points o linepoints.
Valores posibles: bullet, circle, plus, times, asterisk, box, square, triangle, delta, wedge,
nabla, diamond, lozenge
[style, tipo1, tipo2 . tipon] Establece el tipo de representacin para el grfico, lneas,
puntos, etc.
Tipos posibles: lines para segmentos lineales, points para puntos aislados, linespoints
para segmentos y puntos, dots para pequeos puntos aislados. Gnuplot tambin acepta
el estilo impulses.
Los estilos pueden acompaarse de una serie de argumentos escribiendo el tipo y sus
argumentos en forma de lista.
lines acepta uno o dos nmeros: el ancho de la lnea y un entero que identifica el color.
Los cdigos de color por defecto son: 1, azul; 2, rojo; 3, magenta; 4, naranja; 5, marrn;
6, verde lima; 7, aguamarina.
points acepta uno, dos o tres parmetros; el primer parmetro es el radio de los puntos,
el segundo es un entero para seleccionar el color, con igual codificacin que en lines y
el tercer parmetro slo es utilizado por Gnuplot y hace referencia a varios objetos para
representar los puntos. Los tipos de objetos disponibles son: 1, crculos rellenos; 2,
circunferencias; 3, +; 4, x; 5, *; 6, cuadrados rellenos; 7, cuadrados huecos; 8, tringulos
rellenos; 9, tringulos huecos; 10, tringulos rellenos invertidos; 11, tringulos huecos
invertidos; 12, rombos rellenos; 13, rombos huecos.
linesdots acepta hasta cuatro parmetros: ancho de lnea, radio de los puntos, color y
tipo de objetos para representar puntos.
[x,min,max] / [y,min,max] / [z, min, max] Establecen el rango a representar en el eje
x, y o z respectivamente.
[xlabel, etiqueta] / [ylabel, etiqueta] / [zlabel, etiqueta] Establecen la leyenda
de los eje x e y respectivamente.
Grficos en 3D
Los grficos en 3D se realizan con plot3D o wxplot3D.
Pueden utilizarse coordenadas cartesianas, polares o esfricas.

- 41 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Para realizar grficos a partir de sus coordenadas polares o sus coordenadas esfricas se
debe utilizar la funcin transform_xy con el argumento correspondiente: polar_to_xy
o spherical_to_xyz
polar_to_xy: se interpretan las dos primeras variables independientes como polares,
transformndolas luego a coordenadas cartesianas.
spherical_to_xyz: se interpretan las variables independientes como esfricas,
transformndolas luego a coordenadas cartesianas.
Ejemplo: Dibuja una esfera a partir de sus coordenadas esfricas. La opcin
plot_format,xmaxima utiliza el formato xmaxima en lugar de utilizar Gnuplop hace que
los ejes mantengan su escala proporcional y no se deforme las esfera.

Animaciones:
Para mostrar los cambios en la grfica de una funcin al variar uno de sus parmetros se
puede realizar una animacin, la que se ejecutar con el botn:
La funcin with_slider tiene los siguientes argumentos: parmetro, lista de valores para
el parmetro, funcin a graficar (debe incluir el parmetro), rango del eje x y rango del
eje y.
- 42 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Ejemplo1:

Ejemplo 2:

El paquete draw

Para utilizar las funciones de este paquete se debe cargar previamente con load(draw)

draw: Permite representar simultneamente varios grficos en distintos cuadros. Los


grficos pueden ser tanto en 2d como en 3d.
Ejemplo extrado de la ayuda del programa:

- 43 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Si solo se desea realizar un grfico, puede evitarse usar draw con el argumento gr2d o
gr3d y utilizar directamente darw2d o draw3d

Ejemplo de draw2d

Ejemplo de draw3d

- 44 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

La expresin a graficar se escribe como argumento de explicit, implicit, polar,


spherical o el nombre de algn objeto grfico. El rango de las variables se escribe a
continuacin separando los datos por comas.
En 2D: implicit(fcn,x,xmin,xmax,y,ymin,ymax): dibuja la funcin implcita fcn, con
la variable x tomando valores desde xmin hasta xmax, y la variable y tomando valores
desde ymin hasta ymax.
En 3D: implicit(fcn,x,xmin,xmax, y,ymin,ymax, z,zmin,zmax) dibuja la funcin
implcita fcn, con la variable x tomando valores desde xmin hasta xmax, la variable y
tomando valores desde ymin hasta ymax y la variable z tomando valores desde zmin
hasta zmax.
En 2D: explicit (fcn,var,minval,maxval) dibuja la funcin explcita fcn, con la variable
var tomando valores desde minval hasta maxval.
En 3D: explicit (fcn,var1,minval1,maxval1,var2,minval2,maxval2) dibuja la funcin
explcita fcn, con la variable var1 tomando valores desde minval1 hasta maxval1 y la
variable var2 tomando valores desde minval2 hasta maxval2.

polar (radius,ang,minang,maxang) dibuja la funcin radius(ang) definida en


coordenadas polares, con la variable ang tomando valores desde minang hasta maxang.
spherical (radius,azi,minazi,maxazi,zen,minzen,maxzen) dibuja la funcin
radius(azi,zen) definida en coordenadas esfricas, con el azimut azi tomando valores
desde minazi hasta maxazi y el zenit zen tomando valores desde minzen hasta maxzen.
Adems de estos argumentos pueden agregarse opciones como por ejemplo, fill_color
que especifica el color para rellenar polgonos y funciones explcitas bidimensionales o
line_type que indica cmo se van a dibujar las lneas, entre muchas otras.
Ejemplo:

- 45 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Los objetos grficos se utilizan para una figura o un cuerpo especfico como la elipse
del ejemplo anterior o el tubo del siguiente:

Algunos ejemplos de objetos grficos:

Cilindro: draw3d(cylindrical(1,z,-2,2,az,0,2*%pi))
Cilindro definido en coordenadas cilindricas: radio 1, eje z, con z entre -2 y 2, y azimut
entre 0 y 2
Elipse: draw2d(ellipse(2.5,6,2,3,30,-90))
En este caso dibuja un sector de la elipse con centro (2.5,6) de semiejes horizontal = 2 y
vertical = 3 comenzando en 30 y trazando un arco de -90.
Puntos: draw2d(point_type= circle,point_size= 3,color=red,points([[2,12],[3,4]]))
Dibuja los puntos de coordenadas (2,12) y (3,4)
Vector: draw2d(xrange= [0,12],yrange= [0,10],head_length = 1,vector([0,1],[5,5]))
Dibuja el vector (5,5) con origen en (0,1)

- 46 -

UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES

Adems de estos ejemplos se encuentran los objetos: rectangle, polygon, triangle,


regin (dibuja un regin del plano definida por desigualdades), etc. Se recomienda la
consultar de la ayuda de Mxima para ms opciones y objetos.

- 47 -