| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| 68.1 Funciones y variables para opsubst |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
La función opsubst es similar a la función subst,
excepto por el hecho de que opsubst tan solo hace sustituciones
de operadores en las expresiones. En general, si f es un operador en
la expresión e, lo cambia por g en la expresión e.
Para determinar el operador, opsubst asigna a inflag
el valor true, lo cual significa que opsubst sustituye
el operador interno de la expresión, no el mostrado en la salida
formateada.
Ejemplo:
(%i1) load (opsubst)$
(%i2) opsubst(f,g,g(g(x)));
(%o2) f(f(x))
(%i3) opsubst(f,g,g(g));
(%o3) f(g)
(%i4) opsubst(f,g[x],g[x](z));
(%o4) f(z)
(%i5) opsubst(g[x],f, f(z));
(%o5) g (z)
x
(%i6) opsubst(tan, sin, sin(sin));
(%o6) tan(sin)
(%i7) opsubst([f=g,g=h],f(x));
(%o7) h(x)
Internamente, Maxima no hace uso de los operadores de negación unaria, de división ni de la resta, por lo que:
(%i8) opsubst("+","-",a-b);
(%o8) a - b
(%i9) opsubst("f","-",-a);
(%o9) - a
(%i10) opsubst("^^","/",a/b);
a
(%o10) -
b
La representación interna de -a*b es *(-1,a,b), de modo que
(%i11) opsubst("[","*", -a*b);
(%o11) [- 1, a, b]
Si alguno de los operadores no es un símbolo de Maxima, se emitirá un mensaje de error:
(%i12) opsubst(a+b,f, f(x)); Improper name or value in functional position: b + a -- an error. Quitting. To debug this try debugmode(true);
Sin embargo se permiten operadores subindicados:
(%i13) opsubst(g[5],f, f(x));
(%o13) g (x)
5
Antes de hacer uso de esta función ejecútese load("opsubst").
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Robert Dodier on enero, 9 2015 using texi2html 1.76.