Function derivative #

Takes the derivative of an expression expressed in parser Nodes. The derivative will be taken over the supplied variable in the second parameter. If there are multiple variables in the expression, it will return a partial derivative.

This uses rules of differentiation which can be found here:

Syntax #

derivative(expr, variable)
derivative(expr, variable, options)

Parameters #

Parameter Type Description
expr Node | string The expression to differentiate
variable SymbolNode | string The variable over which to differentiate
options {simplify: boolean} There is one option available, simplify, which is true by default. When false, output will not be simplified.

Returns #

Type Description
ConstantNode | SymbolNode | ParenthesisNode | FunctionNode | OperatorNode The derivative of expr

Examples #

math.derivative('x^2', 'x');                     // Node {2 * x}
math.derivative('x^2', 'x', {simplify: false});  // Node {2 * 1 * x ^ (2 - 1)
math.derivative('sin(2x)', 'x'));                // Node {2 * cos(2 * x)}
math.derivative('2*x', 'x').eval();              // number 2
math.derivative('x^2', 'x').eval({x: 4});        // number 8
var f = math.parse('x^2');
var x = math.parse('x');
math.derivative(f, x);                           // Node {2 * x}

See also #

simplify, parse, eval

Fork me on GitHub