给出像
这样的枫树表情f := (y + 5)^2 + x^2
如何使用自定义函数替换所有出现的square函数?我想要的结果是
square(y + 5) + square(x)
我试过像
这样的东西subs({x^2 = square(x)}, f)
但是,这只会替换x^2
表达式。我当然可以明确列出(y + 5)
字词,但我想替换(.)^2
的所有字符而不明确列出所有内容。
我如何在Maple中执行此操作?
答案 0 :(得分:1)
您可以使用subsindets
或applyrule
完成此操作。
expression:=(y-5)^2+3+sin(((z-1/3)^2/(t-(y-s)^2)))+F(f(17+p^2)^2);
/ 2 \
| / 1\ |
| |z - -| | / 2\
2 | \ 3/ | | / 2 \ |
expression := (y - 5) + 3 + sin|------------| + F\f\p + 17/ /
| 2|
\t - (y - s) /
applyrule(_a::anything^2=square(_a), expression);
/ / 1\ \
| square|z - -| |
| \ 3/ |
square(y - 5) + 3 + sin|-----------------| + F(square(f(square(p) + 17)))
\t - square(y - s)/
subsindets(expression, '`^`'(anything,2), u->square(op(1,u)));
/ / 1\ \
| square|z - -| |
| \ 3/ |
square(y - 5) + 3 + sin|-----------------| + F(square(f(square(p) + 17)))
\t - square(y - s)/