Simplify 简化常数
在下面的表达式中,x是变量,a、b、c、k是未定义的常数。在极大值中是否有简化常数的函数 例如Simplify 简化常数,simplify,maxima,Simplify,Maxima,在下面的表达式中,x是变量,a、b、c、k是未定义的常数。在极大值中是否有简化常数的函数 例如 x^2-2a+b+c变成x^2+k 2^x+a/b+c^2变成2^x+k 它没有特定的功能,但我认为您可以通过免费创建一些东西。例如: (%i12) merge_constants (expr, var, newconst) := block ([freeof_var : sublist (args (expr), lambda ([e1], freeof (var, e1)))]
- x^2-2a+b+c变成x^2+k
- 2^x+a/b+c^2变成2^x+k
- 它没有特定的功能,但我认为您可以通过
免费创建一些东西。例如:
(%i12) merge_constants (expr, var, newconst) :=
block ([freeof_var : sublist (args (expr), lambda ([e1], freeof (var, e1)))],
expr - apply ("+", freeof_var) + newconst) $
(%i13) merge_constants (x^2 - 2*a + b + c, x, k);
2
(%o13) x + k
(%i14) merge_constants (2^x + a/b + c^2, x, k);
x
(%o14) 2 + k
(%i15) merge_constants (sin(u) + u*cos(v) + v^2 + tan(w), u, m);
(%o15) u cos(v) + sin(u) + m
此函数merge\u constants
只是第一次尝试。我相信有办法改进它。例如,返回freeof_var
值以查看哪些内容被newconst
替换。无论如何,我希望这是有用的。这类问题有一个解决方案。(我不确定这个答案是否应该在这里重复,这个问题是否应该作为这个问题的重复而结束,或者这个问题是否应该仅仅引用那个问题。)重新讨论这个话题,实际上在一定程度上是存在的。用加法项展开表达式,将公式分成两个袋子B1和B2,使B1包含x,B2包含其他剩余项,然后用B交换一个新的未知变量,如alpha。解是α加上B1中的项之和。