Está en la página 1de 17

MAXIMA: Reseña de comandos útiles

para Instrumentación y Control de


Procesos
Alejandro Regodesebes
2 de agosto de 2012

Este apunte presenta una escueta sı́ntesis de algunos comandos del software
Maxima que tienen utilidad práctica para el estudio de la asignatura Instru-
mentación y Control de Procesos. No pretende ser un manual ni una referencia
exaustiva del programa, por lo que se recomienda acudir al manual oficial de la
aplicación.

1. Introducción.

1.1. ¿Qué es Maxima?

“Maxima es un sistema para la manipulación de expresiones simbólicas y


numéricas, incluyendo diferenciación, integración, expansión en series de Tay-
lor, transformadas de Laplace, ecuaciones diferenciales ordinarias, sistemas de
ecuaciones lineales, y vectores, matrices y tensores. Maxima produce resultados
con alta precisión usando fracciones exactas y representaciones con aritmética
de coma flotante arbitraria. Adicionalmente puede graficar funciones y datos en
dos y tres dimensiones.” Extraı́do del website oficial de Maxima.

En nuestra materia utilizaremos Maxima (se escribe sin acento) principalmente para cal-
cular la Transformada y la Transformada inversa de Laplace de distintas funciones. Maxima
también puede efectuar el cálculo de los lı́mites utilizados en los teoremas del Valor Inicial
y del Valor Final, tanto en el dominio del tiempo como en el dominio complejo, calcular
expansiones en fracciones parciales y resolver sistemas de ecuaciones. Además, con Maxima
resulta muy sencillo graficar funciones.

La finalidad de la introducción de Maxima en la asignatura es dotar


al alumno con una herramienta de software libre con la que pueda
controlar los resultados de los problemas y facilitar su estudio si ası́ lo
desea, no la enseñanza del software en sı́. Su empleo es totalmente
optativo.

1.2. Enlaces útiles.

Website oficial de Maxima: http://maxima.sourceforge.net/es/


Manual en español: http://maxima.sourceforge.net/docs/manual/es/maxima.html

1
Instrumentación y Control de Procesos - FIQ - UNL

Descarga del programa: http://maxima.sourceforge.net/es/


Nota: Al momento de la publicación de este apunte, la última versión de Maxima es la
5.27.0. El archivo de instalación para MS-Windows incluye Maxima, wxMaxima, xMaxima
y la guı́a de referencia oficial en español completa. La mayorı́a de las distribuciones de Linux
tienen a Maxima, wxMaxima, xMaxima y la guı́a de referencia oficial disponibles en sus
repositorios.

1.3. ¿Qué es wxMaxima?

Maxima funciona a través de una colección de comandos que pueden ser introducidos desde
una consola de texto (desde una ventana de texto). El lenguaje de Maxima cuenta con
varias decenas de comandos que el usuario debe aprender para hacer un uso eficiente del
programa.
Sin embargo, para el usuario casual o para el usuario que sólo utilizará una pequeña fracción
de los comandos disponibles (como es nuestro caso en la aplicación de Maxima a la materia
Instrumentación y Control de procesos), resulta más conveniente utilizar una interfaz gráfica
que facilite la interacción con Maxima. Una interfaz gráfica es un programa que presenta
los comandos del lenguaje de Maxima agrupados en forma de menús y ventanas de diálogos
intuitivas, de modo que el usuario no necesite memorizarlos. La interfaz gráfica se encarga
de traducir las operaciones del usuario al lenguaje de Maxima.
Existen varias interfaces gráficas para Maxima. Dos de ellas vienen incluidas en el archivo de
instalación de Maxima que se descarga del website oficial: xMaxima y wxMaxima. La interfaz
gráfica que utilizaremos es wxMaxima, debido a que xMaxima está dirigida a usuarios más
avanzados.

2. Nociones básicas.

2.1. Usando wxMaxima.

Cada interfaz gráfica posee caracterı́sticas propias que las hacen más o menos sencillas de
utilizar. Algunas de las caracterı́sticas más interesantes de wxMaxima para nuestro trabajo
son:

La mayorı́a de los comandos básicos están presentes en los bastos menús de wxMaxi-
ma. En Particular, el menú ((Análisis)) contiene los comandos más usados en nuestra
materia. Al final de este apunte se incluye un listado de las opciones de los menús de
wxMaxima y los comandos equivalentes de Maxima.
Cuando se selecciona una opción de un menú, se abre una ventana donde podemos
completar los parámetros necesarios para llevar a cabo la operación deseada. Tras
cerrar la ventana, el comando equivalente se muestra en una lı́nea de comando, facili-
tando tanto el aprendizaje del lenguaje de Maxima como el “reciclado” de comandos
mediante operaciones como copiar y pegar.
Cada lı́nea de comando en wxMaxima comienza con un identificador entre paréntesis
que consta de un número correlativo (el número de lı́nea) precedido por %i para las
entradas (i = input) del usuario y por %o para las salidas (o = output) del programa.
Los identificadores pueden usarse como un atajo para otro comando. Por ejemplo, si
la salida de un comando es una función identificada como %o34 y se desea graficar esta
función, en vez de reescribir la función en la ventana del comando de gráficos, sólo
basta con ingresar su identificador, %o34.

2 v.2012.08.03
Comandos básicos de Maxima

% es un identificador especial, que equivale a la última salida del programa (al último
identificador %o) emitido por el programa.
Si se desea se puede escribir directamente un comando en vez de usar la opción del
menú correspondiente. En este caso, debe pulsarse la combinación de teclas MAYUS-
CULAS + ENTER (o SHIFT + RETURN en los teclados en inglés) al final del co-
mando para ingresarlo.

2.2. Operadores frecuentes:

Los operadores de uso frecuente, utilizados al escribir una expresión (una ecuación) en
Maxima son:

+ suma
- resta
* multiplicación
/ división
^ potenciación (idéntico a **)
** potenciación (idéntico a ^)

2.3. Funciones básicas de uso frecuente:

sin(x ) seno de x
cos(x ) coseno de x
tan(x ) tangente de x
sqrt(x ) raı́z cuadrada de x
exp(x ) exponencial de x
log(x ) logaritmo natural de x

Nota: Maxima no cuenta con una función para el logaritmo decimal. Para obtener el loga-
ln(x)
ritmo de x en base 10 debe recurrirse a la definición log10 (x) = , que en sintaxis de
ln(10)
Maxima equivale a: log10(x) := log(x)/log(10).

2.4. Constantes de uso habitual.

inf infinito real positivo


minf infinito real negativo
infinity infinito complejo
%e constante: base del logaritmo natural, %e √ = e = 2,718281828459045
%i constante: unidad imaginaria, %i = i = −1
%pi constante: %pi = π = 3,141592653589793
ind representa un resultado acotado indeterminado, ej.: lı́mx→∞ sen (x) = ind
und representa un resultado indefinido, ej.: lı́mx→∞ x sen(x) = und

2.5. Operadores de asignación.

En Maxima, el signo igual (=) se utiliza como operador de comparación o para expresar
igualdades, no como operador de asignación. Maxima cuenta con varios tipos de operadores
de asignación, siendo los más utilizados:

v.2012.08.03 3
Instrumentación y Control de Procesos - FIQ - UNL

: operador de asignación de variable


:= operador de definición de función

Ejemplo: Asignar el valor 5 a la variable a.

(%i1) a:5;

( %o1) 5


Ejemplo: Definir la función a(x) = b sen x2 , donde b es una constante.

(%i2) a(x) := b * sin(x^2);

( %o2) a (x) := b sin x2




2.6. Integrales.

Las integrales se ingresan en Maxima mediante el comando integrate().


Existen dos posibilidades a la hora de emplear una integral: que nos interese resolverla
(evaluarla) o que simplemente queramos dejarla expresada (indicarla).
Para indicar una integral, se usa el comando con un apóstrofo inicial:

’integrate(función, variable de integración, lı́mite inferior, lı́mite superior );

R 42 1
Ejemplo: Indicar la integral: 1 x dx

(%i3) ’integrate(1/x,x,1,42);
Z 42
1
( %o3) dx
1 x
En cambio, para evaluar una integral, se usa el comando sin el apóstrofo inicial:

integrate(función, variable de integración, lı́mite inferior, lı́mite superior );

R 42 1
Ejemplo: Evaluar la integral: 1 x dx

(%i4) integrate(1/x,x,1,42);

( %o4) log (42)


Nota: En wxMaxima, la opción ))Integrar (( del menú ((Análisis)) abre una ventana que per-
mite el cálculo en forma interactiva.

2.7. Derivadas.

Las derivadas se ingresan en Maxima mediante el comando diff(). Al igual que con las
integrales, existen dos posibilidades a la hora de emplear una derivada: que nos interese
resolverla (evaluarla) o que simplemente queramos dejarla expresada (indicarla).
Para indicar una derivada, se usa el comando con un apóstrofo inicial:

4 v.2012.08.03
Comandos básicos de Maxima

’diff(función, variable de diferenciación, orden);

d2 
Ejemplo: Indicar la derivada 2
3 x2 .
dx
(%i5) ’diff(3*x^2,x,2);

d2
3 x2

( %o5) 2
dx
En cambio, para evaluar una derivada, se usa el comando sin el apóstrofo inicial:

diff(función, variable de diferenciación, orden);

d2 
Ejemplo: Resolver la derivada 2
3 x2 .
dx
(%i6) diff(3*x^2,x,2);
( %o6) 6
Nota: En wxMaxima, la opción ))Derivar (( del menú ((Análisis)) abre una ventana que per-
mite el cálculo en forma interactiva.

2.8. Evaluación de expresiones.

Salvo que se lo configure expresamente con otro comportamiento, Maxima expresa las can-
tidades no exactas como fracciones u operaciones. Por ejemplo, en el caso de la integración
visto anteriormente:

(%i4) integrate(1/x,x,1,42);

( %o4) log (42)


Para obtener el resultado numérico de la expresión log (42) se usa el comando

float(expresión);

donde expresión es la expresión a evaluar:

(%i7) float(%o4);
( %o7) 3,737669618283368
Nota: En wxMaxima, la opción ))A real (( del menú ((Numérico)) evalúa la última expresión
generada.

2.9. Vectores

Los vectores en Maxima son una colección de elementos separados por comas y encerrados
ente corchetes.

Ejemplo: Introducir el vector [12 x e−t ].

v.2012.08.03 5
Instrumentación y Control de Procesos - FIQ - UNL

(%i8) [12, x, exp(-t)];

( %o8) [12, x, e−t ]


Para seleccionar un elemento de un vector, se utiliza la estructura vector [nro elemento].

Ejemplo: Seleccionar el primer elemento del vector del ejemplo anterior.

(%i9) %o8[1];
( %o9) 12

2.10. Igualdades

Puede seleccionarse el lado izquierdo de una igualdad (left hand side) con:

lhs(igualdad );

Para seleccionar el lado derecho de una igualdad (right hand side), se usa:

rhs(igualdad );

Ejemplo: Para la igualdad y = 34 + sen(t):

(%i10) y = 34 + sin(t);

( %o10) y = sin (t) + 34

(%i11) lhs(%o10);
( %o11) y

(%i12) rhs(%o10);
( %o12) sin (t) + 34

2.11. Fracciones

Puede seleccionarse el numerador de una fracción mediante:

num(fracción);

Para seleccionar el denominador de una fracción, se usa:

denom(fracción);

K(s + 1)
Ejemplo: Para la fracción :
T 2 s2 + 2zT s + 1
(%i13) (K*(s+1))/(T^2*s^2+2*z*T*s+1);
(s + 1) K
( %o13)
s2 T 2 + 2 s z T + 1

6 v.2012.08.03
Comandos básicos de Maxima

(%i14) num(%o13);
( %o14) (s + 1) K

(%i15) denom(%o13);

( %o15) s2 T 2 + 2 s z T + 1

3. Comandos y operaciones útiles para ICP.

A continuación se sintetizan algunas funciones y comandos especialmente útiles de Maxima


para el cursado de la asignatura.

3.1. Transformada de Laplace.

3.1.1. Transformada de Laplace vı́a menú.

En wxMaxima, la opción ))Transformada de Laplace(( del menú ((Análisis)) abre la ventana


de la figura 1 que permite el cálculo en forma interactiva.

Figura 1: Menú Análisis 7→ Transformada de Laplace

Los parámetros necesarios se explican a continuación, en el comando equivalente.

3.1.2. Transformada de Laplace vı́a comando.

laplace(expresión, variable antigua, nueva variable);

expresión: función en el dominio temporal que se quiere transformar.


variable antigua: variable real utilizada en el dominio del tiempo (usualmente, por conven-
ción, t).
nueva variable: variable compleja utilizada en el dominio complejo (usualmente, por con-
vención, s).

Ejemplo: Hallar la transformada de Laplace de la función f (t) = e−3t .

(%i1) laplace(exp(-3*t), t, s);


1
( %o1)
s+3

v.2012.08.03 7
Instrumentación y Control de Procesos - FIQ - UNL

3.2. Transformada inversa de Laplace.

3.2.1. Transformada inversa de Laplace vı́a menú.

En wxMaxima, la opción ))Transformada inversa de Laplace(( del menú ((Análisis)) abre la


ventana de la figura 2 que permite el cálculo en forma interactiva.

Figura 2: Menú Análisis 7→ Transformada inversa de Laplace

Los parámetros necesarios se explican a continuación, en el comando equivalente.

3.2.2. Transformada inversa de Laplace vı́a comando.

ilt(expresión, variable antigua, nueva variable);

expresión: función en el dominio complejo que se quiere antitransformar.


variable antigua: variable compleja utilizada en la función (usualmente, por convención,
s).
nueva variable: variable real utilizada en el dominio temporal (usualmente, por convención,
t).

1
Ejemplo: Hallar la transformada inversa de Laplace de la función F (s) = 1+s .

(%i2) ilt(1/(1+s), s, t);

( %o2) e−t

3.3. Evaluación de lı́mites.

3.3.1. Evaluación de lı́mites vı́a menú.

En wxMaxima, la opción ))Calcular lı́mite(( del menú ((Análisis)) abre la ventana de la figura
3 que permite el cálculo en forma interactiva.
Los principales parámetros se explican a continuación, en el comando equivalente. Para
una explicación de la opción “Serie de Taylor” consultar en la ayuda en lı́nea el comando
tlimit.

3.3.2. Evaluación de lı́mites vı́a comando.

limit(expresión, variable, punto, dirección);

8 v.2012.08.03
Comandos básicos de Maxima

Figura 3: Menú Análisis 7→ Calcular lı́mite

expresión: función cuyo lı́mite se desea computar.


variable: variable que se hace tender al valor lı́mite.
punto: valor lı́mite al que tiende la variable.
dirección: puede ser: plus, para computar un lı́mite por la derecha; minus, para computar
un lı́mite por la izquierda; o puede omitirse para computar el lı́mite en ambos sentidos.

Ejemplo: Calcular lı́mt→∞ e−3t

(%i3) limit(exp(-3*t),t,inf);

( %o3) 0

3.4. Expansión en fracciones parciales.

3.4.1. Expansión en fracciones parciales vı́a menú.

En wxMaxima, la opción ))Fracciones simples(( del menú ((Análisis)) abre la ventana de la


figura 4 que permite el cálculo en forma interactiva.

Figura 4: Menú Análisis 7→ Fracciones simples

Los parámetros necesarios se explican a continuación, en el comando equivalente.

3.4.2. Expansión en fracciones parciales vı́a comando.

partfrac(expresión, variable);

expresión: cociente de polinomios a expandir en fracciones parciales.


variable: variable polinómica.

v.2012.08.03 9
Instrumentación y Control de Procesos - FIQ - UNL

s2 + 9s + 19
Ejemplo: Expandir la función
s3 + 7s2 + 14s + 8
(%i4) partfrac((s^2+9*s+19)/(s^3+7*s^2+14*s+8),s);
1 5 11
( %o4) − − +
6 (s + 4) 2 (s + 2) 3 (s + 1)

3.5. Gráficos de funciones.

Maxima cuenta con poderosas funciones gráficas, y con numerosos comandos y parámetros
para trazar prácticamente cualquier gráfico con el formato deseado. Para obtener un pano-
rama más amplio y a la vez más detallado de sus capacidades gráficas, se sugiere consultar
el manual en lı́nea de Maxima.

3.5.1. Gráficos de funciones vı́a menú.

Dada la complejidad de los comandos para generar gráficos por la multiplicidad de paráme-
tros que admiten, se recomienda el uso de la opción ))Gráficos 2D(( del menú ((Gráficos)) de
wxMaxima en vez del comando equivalente.

Figura 5: Menú Gráficos 7→ Gráficos 2D

Los parámetros posibles son:


Expresión(es): función (o funciones) a graficar. Si se desea trazar más de una función en el
mismo gráfico, las mismas deben escribirse separadas por comas. El botón Especial permite
generar gráficos paramétricos o discretos, que no son de interés para nuestra materia.
Variable (x): nombre de la variable independiente, representada en el eje de abscisas. En
Instrumentación y Control de Procesos normalmente se usa la variable t (tiempo) en vez de
la variable por defecto (x). Debe indicarse también el intervalo de valores de la variable a
graficar, que para la variable tiempo normalmente comienza en 0. La opción logscale permite
adoptar la escala logarı́tmica para el eje de abscisas.
Variable (y): nombre de la variable dependiente, representada en el eje de ordenadas. Ya
que el nombre de la variable dependiente generalmente no es importante, puede dejarse la
opción por defecto, y. Se puede indicar también el intervalo de valores del eje de ordenadas
que será representado en el gráfico; si se deja la opción por defecto (Desde: 0 - Hasta:

10 v.2012.08.03
Comandos básicos de Maxima

0), el programa elegirá automáticamente una escala adecuada. La opción logscale permite
adoptar una escala logarı́tmica para el eje de ordenadas.
Graduaciones: Un valor bajo genera curvas que se ven segmentadas, compuestas de tramos
rectos. Un valor alto genera curvas suaves, pero requiere más potencia de procesamiento, y
el gráfico tarda más tiempo en mostrarse. Esto sólo es un problema en PCs viejas o de baja
potencia, como algunas netbooks.
Formato: “en lı́nea” inserta el gráfico dentro de la ventana de wxMaxima y permite, si
se le hace clic con el botón derecho del ratón, copiar el gráfico para pegarlo en otra apli-
cación (como un procesador de textos) o guardar el gráfico como un archivo con formato
estándar png (Portable Network Graphics). “gnuplot”1 genera el gráfico en una ventana in-
dependiente, con opciones avanzadas para zoom, ver coordenadas, etc. “openmath” utiliza el
estándar openmath para generar el gráfico, aunque esta funcionalidad todavı́a está en desa-
rrollo y suele fallar. “predeterminado” utiliza la opción predeterminada en la configuración
de wxMaxima (“en lı́nea” bajo MS-Windows, y “gnuplot” bajo Linux).
Opciones: permite elegir algunos parámetros predeterminados o incluir parámetros perso-
nalizados en el comando para generar el gráfico. Es de interés la opción “set grid;” que
permite mostrar la cuadrı́cula en gráfico.
Archivo: guarda el gráfico como un archivo con formato estándar png (Portable Network
Graphics) en vez de mostrarlo en pantalla. para activar esta opción debe indicarse el lugar
y el nombre deseado para el nuevo archivo.

3.5.2. Gráficos simples de funciones vı́a comando.

Como mencionamos antes, dominar las opciones para generar gráficos mediante la lı́nea de
comandos requiere práctica. Sin embargo, trazar gráficos sencillos es simple mediante los
siguientes comandos:

plot2d(expresión, [var.abscisa, mı́n, máx ] , [var.ordenada, mı́n, máx ])$

wxplot2d(expresión, [var.abscisa, mı́n, máx ] , [var.ordenada, mı́n, máx ])$

plot2d genera el gráfico en una ventana independiente (equivale a la opción gnuplot descrita
en el gráfico vı́a menú), mientras que wxplot2d genera el gráfico embebido en la ventana de
wxMaxima (equivale a la opción en lı́nea descrita en el gráfico vı́a menú).
expresión: función o funciones a graficar. Si se desea trazar más de una función en el mismo
gráfico, deben escribirse las funciones entre corchetes ([ ]) y separadas por comas.
var.abscisa: nombre de la variable independiente usada en las funciones a trazar, correspon-
diente al eje de abscisas (eje x).
mı́n: valor mı́nimo a graficar en el eje de abscisas (eje x).
máx : valor máximo a graficar en el eje de abscisas (eje x).
[var.ordenada, mı́n, máx ]: éste parámetro es opcional, y permite indicar un nombre para
el eje de ordenadas y el rango del mismo a mostrar en el gráfico.

Ejemplo: Graficar las funciones f1 (t) = e−3t y f2 (t) = 1 − e−t , para 0 ≤ t ≤ 5.


1 gnuplot es un programa independiente que se instala automáticamente junto con Maxima y que se encarga
exclusivamente de graficar funciones. Maxima delega el trazado de gráficos a gnuplot.

v.2012.08.03 11
Instrumentación y Control de Procesos - FIQ - UNL

(%i5) plot2d([exp(-3*t), 1-exp(-t)], [t, 0, 5])$

(%i6) wxplot2d([exp(-3*t), 1-exp(-t)], [t, 0, 5])$

( %t6)

3.6. Corrimiento temporal.

La función escalón de Heaviside, también conocida como función escalón unitario H(t − t0 ),
utilizada para expresar corrimientos temporales, se define en Maxima como:

unit step(t-t0 )

Ejemplo: Graficar la función: (


0 ∀t < 2
y(t) −t
e ∀t > 2

(%i7) y(t) := exp(-t)*unit_step(t-2);

( %o7) y (t) := exp (−t) unit step (t − 2)

(%i8) wxplot2d([y(t)], [t,-1,9],[y,-0.1,0.2],


[gnuplot_preamble, "set zeroaxis;"])$

( %t8)

12 v.2012.08.03
Comandos básicos de Maxima

3.7. Resolución de sistemas de ecuaciones diferenciales ordinarias


lineales.

Se utilizan dos comandos, atvalue y desolve:

atvalue(expresión, x=a, c);

atvalue fija las condiciones de contorno: asigna el valor c a la expresión en el punto x=a.
expresión: función cuyas condiciones iniciales se quieren fijar.
x=a: punto en el que se evalúa la expresión. x es la variable independiente de la función
(debe reemplazarse por el nombre de la variable usada), y a es el valor de esa variable.
c: es el valor que toma la expresión en el punto donde x vale a.
Nota: En wxMaxima, la opción ))Condición inicial (( del menú ((Ecuaciones)) despliega una
ventana interactiva.

desolve(expresión, variable);

desolve resuelve sistemas de ecuaciones diferenciales ordinarias lineales utilizando la trans-


formada de Laplace.
expresión: función o funciones resolver. Si se desea resolver un sistema de más de una ecua-
ción, las mismas deben escribirse entre corchetes ([ ]) y separadas por comas.
variable: variable dependiente a despejar. Para resolver un sistema de más de una ecuación,
la lista de variables dependientes a despejar debe escribirse entre corchetes ([ ]) y separadas
por comas.
Nota: En wxMaxima, la opción ))Resolver EDO con Laplace(( del menú ((Ecuaciones)) des-
pliega una ventana interactiva.

Ejemplo: Resuelva la siguiente ecuación diferencial:

y 00 (t) + y 0 (t) + 4 y(t) = 3 u0 (t) + 2 u(t)

0
sujeta a las condiciones iniciales y(0) = y(0) = 0 y donde u(t) = e−3t para t ≥ 0.
Comenzamos por definir la función u(t):

(%i1) u(t):=exp(-3*t);

( %o1) u (t) := exp ((−3) t)


Para facilitar el proceso, introducimos la ecuación diferencial. Ası́ lograremos que Maxima
le asigne un identificador que nos permita luego operar sin tener que reescribirla ni copiarla
y pegarla:

(%i2) diff(y(t),t,2)+diff(y(t),t,1)+4*y(t)=3*diff(u(t),t,1)+2*u(t);

d2 d
( %o2) y (t) + y (t) + 4 y (t) = −7 e−3 t
d t2 dt
En el ejemplo, Maxima identifica a la ecuación diferencial con el identificador %o2.

v.2012.08.03 13
Instrumentación y Control de Procesos - FIQ - UNL

Notemos que las derivadas de y(t) quedan indicadas (pese a que no las escribimos precedidas
por un apóstrofo), porque la función y(t) no fue definida previamente. En cambio, la derivada
de u(t), que definimos al principio, sı́ es resuelta por Maxima.
0
Introducimos las condiciones de contorno. Condición de contorno y(0) = 0:

(%i3) atvalue(diff(y(t),t,1),t=0,0);

( %o3) 0
Condición de contorno y(0) = 0:

(%i4) atvalue(y(t),t=0,0);

( %o4) 0
Por último, resolveremos la ecuación diferencial. Como dijimos, en lugar de reescribir la
ecuación utilizaremos el identificador %o2 que le asignó Maxima:

(%i5) desolve(%o2,y(t));
 √  √ 
15 t 15 t
7 cos 7 sin −3 t
( %o5) y (t) = e
t
−2  2
− √
2
 − 7e
10 2 15 10

4. Tabla de equivalencias usuales.

Expresión matemática Equivalente en Maxima

a+b a + b

exp(-a*t) (en entrada)


e(−a t)
%e−a t (en salida)

y(t) y(t)
d
y 0 (t) = y(t) ’diff(y(t),t,1)
dt
d2
y 00 (t) = y(t) ’diff(y(t),t,2)
dt2
L [y(t)] = Y (s) laplace(y(t),t,s)

L −1 [Y (s)] = y(t) ilt(Y(s),s,t)

H(t − t0 ) unit step(t-t0 )

Cuadro 1: Equivalencias usuales entre lenguaje matemático y lenguaje de Maxima.

14 v.2012.08.03
Comandos básicos de Maxima

5. Opciones de los menús y comandos correspondientes

A continuación se exponen los comandos de Maxima subyacentes detrás de las opciones del
menú de wxMaxima. Este compendio se basa en wxMaxima v.12.04.0 en español para Linux.

Menú Opción de menú Comando de Maxima


Resolver solve( );
Resolver (to poly) to poly solve( );
Calcular raı́z find root( );
Raı́ces de un polinomio allroots( %);
Raı́ces reales grandes de un polinomio bfallroots( %);
Ecuaciones
Raı́ces reales de un polinomio realroots( %);
Resolver sistema lineal linsolve( );
Resolver sistema algebraico algsys( );
Eliminar variable eliminate( );
Resolver EDO ode2( );
Problema de valor inicial (1) ic1( );
Problema de valor inicial (2) ic2( );
Problema de contorno bc2( );
Resolver EDO con Laplace desolve( );
Condición inicial atvalue( );

Cuadro 2: Menús de wxMaxima y comandos equivalentes de Maxima (parte 1).

v.2012.08.03 15
Instrumentación y Control de Procesos - FIQ - UNL

Menú Opción de menú Comando de Maxima


Generar matriz genmatrix( );
Generar matriz a partir de expresión genmatrix(lambda( ), , );
Introducir matriz matrix( );
Invertir matriz invert( %);
Polinomio caracterı́stico charpoly( ), expand;
Álgebra
Determinante determinant( %);
Valores propios eigenvalues( %);
Vectores propios eigenvectors( %);
Matriz adjunta adjoint( %);
Trasponer matriz transpose( %);
Construir lista makelist( );
Aplicar a lista apply( );
Distribuir sobre lista map( );
Distribuir sobre matriz matrixmap( );
Integrar integrate( );
Integración Risch risch( );
Cambiar variable changevar( );
Derivar diff( );
Calcular lı́mite limit( );
Calcular mı́nimo lbfgs( );
Análisis
Calcular serie taylor( );
Aproximación de Padé pade( );
Calcular suma sum( );
Calcular producto product( );
Transformada de Laplace laplace( );
Transformada inversa de Laplace ilt( );
Maximo común divisor gcd( );
Mı́nimo común múltiplo lcm( );
Dividir polinomios divide( );
Fracciones simples partfrac( );
Fracción continua cfdisrep(cf( %));

Cuadro 3: Menús de wxMaxima y comandos equivalentes de Maxima (parte 2).

16 v.2012.08.03
Comandos básicos de Maxima

Menú Opción de menú Comando de Maxima


Simplificar expresión ratsimp( %);
Simplificar radicales radcan( %);
Factorizar expresión factor( %);
Factorizar complejo gfactor( %);
Expandir expresión expand( %);

Simplificar Expandir logaritmos %, logexpand=super;


Contraer logaritmos logcontract( %);
Convertir a factoriales makefact( %);
Factoriales y gamma Convertir a gamma makegamma( %);
Simplificar factoriales minfactorial( %);
Combinar factoriales factcomb( %);
Simplificar trigonometrı́a trigsimp( %);
Simplificación trigonométrica Reducir trigonometrı́a trigreduce( %);
Expandir trigonometrı́a trigexpand( %);
Forma canónica trigrat( %);
Convertir a forma cartesiana rectform( %);
Convertir a forma polar polarform( %);
Simplificación compleja
Calcular parte real realpart( %);
Calcular parte imaginaria imagpart( %);
Demoivre demoivre( %);
Exponencializar exponentialize( %);
Sustituir subst(y,x, %);
Evaluar formas nominales ev( %, nouns);
Conmutar álgebra algebraic : not(algebraic);
Añadir igualdad algebraica tellrat( );
Cálculo del módulo modulus : ;
Gráficos 2D wxplot2d( )$
Gráficos
Gráficos 3D wxplot3d( )$
Formato de gráficos set plot option([’plot format,])$
if numer#false then numer:false
Conmutar salida numérica
else numer:true;
Numérico
A real float( %), numer;
A real grande (bigfloat) bfloat( %);
Establecer precisión fpprec : ;

Cuadro 4: Menús de wxMaxima y comandos equivalentes de Maxima (parte 3).

v.2012.08.03 17

También podría gustarte