62 lines
1.7 KiB
Markdown
62 lines
1.7 KiB
Markdown
<!-- Note: This file is automatically generated from source code comments. Changes made in this file will be overridden. -->
|
|
|
|
# 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:
|
|
|
|
- [Differentiation rules (Wikipedia)](https://en.wikipedia.org/wiki/Differentiation_rules)
|
|
|
|
|
|
## Syntax
|
|
|
|
```js
|
|
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`
|
|
|
|
|
|
### Throws
|
|
|
|
Type | Description
|
|
---- | -----------
|
|
|
|
|
|
## Examples
|
|
|
|
```js
|
|
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').evaluate() // number 2
|
|
math.derivative('x^2', 'x').evaluate({x: 4}) // number 8
|
|
const f = math.parse('x^2')
|
|
const x = math.parse('x')
|
|
math.derivative(f, x) // Node {2 * x}
|
|
```
|
|
|
|
|
|
## See also
|
|
|
|
[simplify](simplify.md),
|
|
[parse](parse.md),
|
|
[evaluate](evaluate.md)
|