我试图将衍生函数作为函数,但我无法找到错误:
syms x
A = -1.6*x^2+18.7*x+3.4
返回(187*x)/10 - (8*x^2)/5 + 17/5
。
然后,diff(A)
会产生187/10 - (16*x)/5
。
答案 0 :(得分:2)
这里没有错。二次多项式的导数是一次多项式...因此变量x
仍然存在于结果中,除非您给x
赋值,否则不能用数值进行求值:
vpa(subs(diff(A),x,4)) % evaluates the derivative for X=4, yields 5.9
如果要将函数减少到标量值,必须采用二阶导数:
vpa(diff(A,2)) % this returns: -3.2
最后,如果您只是觉得结果的数字部分是"凌乱"并且应该进行评估,您可以在衍生产品上调用vpa function:
vpa(diff(A)) % this returns: 18.7 - 3.2*x