Matlab中函数的导数

时间:2018-02-21 22:18:04

标签: matlab symbolic-math derivative

我试图将衍生函数作为函数,但我无法找到错误:

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

1 个答案:

答案 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