maxima - 如何使用 lhs 和 rhs 定义函数?

标签 maxima

在下面的 Maxima session 中,为什么f(1) 不为 0?

(%i1) eq: 2 * x + 1 = 3;
(%o1)                             2 x + 1 = 3
(%i2) f(x) := lhs(eq) - rhs(eq);
(%o2)                      f(x) := lhs(eq) - rhs(eq)
(%i3) f(1);
(%o3)                               2 x - 2

最佳答案

此处maxima中函数调用的过程,将函数中的x绑定(bind)为1 定义,lhs(eq)-rhs(eq)。其中没有 x,因此绑定(bind)不会执行任何操作。 接下来,lhs(eq) 被评估为 2*x+1。 rhs(eq) 被评估为 3。等等

你总是想要相同的方程eq吗?也许你想做

定义(f(x),lhs(eq)-rhs(eq));

要检查定义是什么,请尝试 研磨(f);

如果你想改变方程,也许是这样的

g(val, eq) := subst(val,x, lhs(eq)-rhs(eq)) ; 就可以了。

关于maxima - 如何使用 lhs 和 rhs 定义函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18343054/

相关文章:

使用下标时 maxima 返回错误结果

maxima - 如何将 Maxima 配置为从 0 而不是 1 索引列表?

python - 区分作为峰值一部分的局部最大值和峰值的绝对最大值

function - 我可以定义一个最大值函数 f(x) 来分配给参数 x

algorithm - 矩阵中的峰值检测算法

Maxima:用定义替换函数 f(x)?

maxima - 简化最大值中的公式

integer - 如何简化Maxima CAS中的log(8)/log(2)?

lisp - 用 maxima 语言编码 vs lisp

maxima - 求解后简化方程