Siguiente: Funciones y variables para la evaluación, Anterior: Evaluación, Subir: Evaluación [Índice general][Índice]
Las fases que se suceden desde que el usuario solicita un cálculo hasta que obtiene el resultado son: la propia solicitud del cálculo, la evaluación, la simplificación y la respuesta.
Toda expresión expr que se introduzca en Maxima será evaluada, de manera que los símbolos que no tengan asociado ningún valor y los números evalúan a sí mismos; en cambio, aquellos símbolos que tengan un valor asociado serán sustituídos por tales valores.
Dos ejemplos. En el primero, los símbolos y los números se evalúan
a sí mismos; en el segundo ejemplo, al asignarle a la variable a
el valor 2
, allá donde se escriba a
será sustituido por dicho valor.
(%i1) [a, b, 2, 1/2, 1.0]; 1 (%o1) [a, b, 2, -, 1.0] 2 (%i2) a:2$ (%i3) [a, sin(a), a^2]; (%o3) [2, sin(2), 4]
Maxima distingue entre funciones en forma verbal y funciones en forma
nominal. Las funciones en forma verbal son evaluadas tomando en cuenta
los valores dados a sus argumentos; en cambio, las funciones nominales
no son evaluadas, aunque sus argumentos tengan valores asignados. Las
funciones son susceptibles de ser tratadas de ambos modos; ejemplos
típicos son la función de diferenciación diff
y la de integración integrate
.
En el siguiente ejemplo se le asigna a la variable a
cierto
valor, a continuación se invoca la función diff
en su
forma verbal con sus argumentos tomando los valores a*x^2
y x
.
Seguidamente se invoca a la misma función diff
en su
forma nominal, lo cual se consigue mediante el operador de comilla simple ('
);
en este caso la función no es evaluada y devuelve una expresión simbólica
en la que los argumentos sí han sido evaluados, pues la variable
a
es sustituida por el valor 1/2
.
(%i1) a:1/2; 1 (%o1) - 2 (%i2) diff(a*x^2, x); (%o2) x (%i3) 'diff(a*x^2, x);
2 d x (%o3) -- (--) dx 2
Sin embargo, no todas las funciones de Maxima sustituyen sus argumentos por sus valores. La documentación para cada función informará si sus argumentos son evaluados o no.
Por ejemplo, la función properties
no evalúa sus argumentos, lo cual
resulta práctico para el usuario, ya que en caso contrario debería
utilizar el operador de comilla simple '
a fin de poder mostrar las
propiedades del símbolo a
. A continuación se muestra
como en el primer caso se devuelve una lista vacía, ya que no se
le ha encontrado ninguna propiedad al símbolo a
; una vez
se le ha asignado el valor 2
, la función properties
nos dice
que la variable guarda un valor y esto es así porque no ha sustituido
el símbolo a
por su valor 2
. En consecuencia, la
función properties
muestra las propiedades de 'a
.
(%i1) properties(a); (%o1) [] (%i2) a:2$ (%i3) properties(a); (%o3) [value]
La evaluación de símbolos, funciones y expresiones se puede
controlar con los operadores de comilla simple ('
) y de doble comilla
simple (''
). La evaluación se suprime con la comilla simple y se
fuerza con la doble comilla simple (que no comilla doble).
Con la función ev
se evalúa una expresión dentro de un contexto
determinado controlado por el valor de ciertas variables evflag
y
funciones de evaluación evfun
.
Siguiente: Funciones y variables para la evaluación, Anterior: Evaluación, Subir: Evaluación [Índice general][Índice]