Funções e Variáveis Definidas para opsubst (Manual do Maxima)

Previous: opsubst, Up: opsubst [Contents][Index]

### 64.1 Funções e Variáveis Definidas para opsubst

Função: opsubst (f,g,e)
Função: opsubst (g=f,e)
Função: opsubst ([g1=f1,g2=f2,..., gn=fn],e)

  A função `opsubst` similar à função `subst`, exceto que `opsubst` somente faz substituições para as operações em uma expressões. Em geral, quando f for um operador em uma expressão e, substitui g por f na expressão e.

  Para determinar o operador, `opsubst` escolhe `inflag` para verdadeiro ( true ). Isso significa que `opsubst` substitui para a forma de operador interna, não para a mostrada, na expressão.

  Exemplos:

      (%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 não usa os operadores de negação unária, divisão, ou de subtração; dessa forma:

      (%i8) opsubst("+","-",a-b);
      (%o8)                     a - b
      (%i9) opsubst("f","-",-a);
      (%o9)                      - a
      (%i10) opsubst("^^","/",a/b);
                                   a
      (%o10)                       -
                                   b

  A representação interna de -a*b é *(-1,a,b); dessa forma

      (%i11) opsubst("[","*", -a*b);
      (%o11)                  [- 1, a, b]

  Quando o operador não for um símbolo Maxima, geralmente alguma outra função sinalizará um erro:

      (%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);

  Todavia, operadores subscritos são permitidos:

      (%i13) opsubst(g[5],f, f(x));
      (%o13)                     g (x)
                                  5

  Para usar essa função escreva primeiramente `load("opsubst")`.

Previous: opsubst, Up: opsubst [Contents][Index]