在下面的千里马会议中,为什么 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
答案 0 :(得分:2)
函数调用maxima的过程在函数中将x绑定为1 定义,lhs(eq)-rhs(eq)。它没有x,所以绑定什么都不做。 接下来,将lhs(eq)评估为2 * x + 1。 rhs(eq)被评估为3.等。
你总是想要相同的方程式吗?也许你想做
定义(F(X),LHS(当量)-rhs(当量));
检查定义是什么,试试 研磨(F);
如果你想改变方程式,可能会像
那样g(val,eq):= subst(val,x,lhs(eq)-rhs(eq)); 会做的。