我试图绘制一个函数test(a),它返回另一个函数的根(在本例中是x^3-2*x^2+a):

为什么不能工作?为什么在最后一行将a改为x时它会工作呢?

发布于 2016-05-15 23:34:30
问题是,mnewton需要一个表达式,该表达式在为指定变量赋值后计算为一个数字(示例中仅为x )。要使此工作正常,您需要防止调用mnewton,直到a有了一个值。例如,类似于:
plot2d (lambda ([a], rhs(mnewton(p(x, a) = 0, x, 20)[1][1])), [a, -1, 1]);其中p(x, a)是多项式表达式。
我使a的范围变小了,因为我从mnewton那里得到了一个a值更大的错误。
您也可以尝试find_root来求解一个变量的方程。
由于函数是三次多项式,所以有一个精确的解,极大值可以通过:algsys([p(x, a)], [x]);找到。
https://stackoverflow.com/questions/37230697
复制相似问题