1 @c /opsubst.texi/1.1/Mon Feb 27 22:09:17 2006//
4 * Definições para opsubst::
7 @node Definições para opsubst, , opsubst, opsubst
8 @section Definições para opsubst
10 @deffn {Função} opsubst (@var{f},@var{g},@var{e})
11 @deffnx {Função} opsubst (@var{g}=@var{f},@var{e})
12 @deffnx {Função} opsubst ([@var{g1}=@var{f1},@var{g2}=@var{f2},..., @var{gn}=@var{fn}],@var{e})
13 A função @code{opsubst} similar à função @code{subst}, excepto que
14 @code{opsubst} somente faz substituições para as operações em uma expressões. Em geral,
15 quando @var{f} for um operador em uma expressão @var{e}, substitui @var{g}
16 por @var{f} na expressão @var{e}.
18 Para determinar o operador, @code{opsubst} escolhe @code{inflag} para verdadeiro ( true ). Isso significa que
19 @code{opsubst} substitui para a forma de operador interna, não para a mostrada,
24 (%i1) load ("opsubst")$
26 (%i2) opsubst(f,g,g(g(x)));
28 (%i3) opsubst(f,g,g(g));
30 (%i4) opsubst(f,g[x],g[x](z));
32 (%i5) opsubst(g[x],f, f(z));
35 (%i6) opsubst(tan, sin, sin(sin));
37 (%i7) opsubst([f=g,g=h],f(x));
41 Internamente, Maxima não usa os operadores de negação unária,
42 divisão, ou de subtração; dessa forma:
44 (%i8) opsubst("+","-",a-b);
46 (%i9) opsubst("f","-",-a);
48 (%i10) opsubst("^^","/",a/b);
54 A representação interna de -a*b é *(-1,a,b); dessa forma
56 (%i11) opsubst("[","*", -a*b);
60 Quando o operador não for um símbolo Maxima, geralmente alguma outra função
63 (%i12) opsubst(a+b,f, f(x));
65 Improper name or value in functional position:
67 -- an error. Quitting. To debug this try debugmode(true);
70 Todavia, operadores subscritos são permitidos:
72 (%i13) opsubst(g[5],f, f(x));
77 Para usar essa função escreva primeiramente @code{load("opsubst")}.