Professional Documents
Culture Documents
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
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.
-1-
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
-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
Constantes
Las constantes como el nmero e o se ingresan precedidos del signo %
Ej: %pi, %e, %phi (razn urea), %i (unidad imaginaria)
-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.
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
-5-
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
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.
-7-
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
-8-
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
Argumento pred: Provoca la evaluacin de las expr. que pueden ser true o false.
Equivalente a is(expr.)
-9-
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
- 10 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
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.
- 11 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
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.
- 12 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
- 13 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
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.
- 15 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
Nmeros complejos
Los nmeros complejos se ingresan como a+%i*b
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
Matrices y vectores
Los vectores se ingresan entre corchetes.
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
Y el producto escalar.
- 18 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
- 19 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
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
- 21 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
- 22 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
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
Variable solveradcan: Si vale True solve llama a radcan, esto permite que pueda
resolver ciertas ecuaciones con logaritmos y exponenciales.
Valor por defecto: false
Algunas ecuaciones no son totalmente resueltas por solve, en ese caso puede utilizarse
find_root (ecuacin, variable, cota inf, cota sup)
- 24 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
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
- 26 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
Sistemas de ecuaciones
Men Ecuaciones:
solve
find_root
allroots
bfallroots
realroots
linsolve
algsys
- 27 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
ecuacin
asignacin
- 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
- 29 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
Es necesario
declarar a n
como entero
para que la
simplificacin
ocurra
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
Conjuntos y listas
Los conjuntos se definen por extensin, utilizando el comando set o entre llaves
Ejemplos:
Si existen listas dentro de otra lista se debe utilizar fullsetify si se quiere convertir a
conjunto cada una de las sublistas
- 31 -
UNNOBA
UNIVERSIDAD NACIONAL
NOROESTE | BUENOS AIRES
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:
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
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.
- 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:
- 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
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)
- 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
- 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
- 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)
- 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
- 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:
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
- 47 -