[ < ] | [ > ] | [ << ] | [ 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 Viktor T. Toth on mayo, 12 2016 using texi2html 1.76.