16.9 Differentiate

Overview

DifferentiateTool.png

This function performs simple derivative calculations on a data set. The derivative at a given point is computed by taking the average of the slopes between the point and its two closest neighbors. Missing values are ignored.

For evenly-spaced X data, you can apply Savitzky-Golay smoothing. If the X data are not equally spaced, this method may not produce a reliable result.

To Use Differentiate Tool
  1. Create a new worksheet with data.
  2. Highlight the desired column.
  3. Select Analysis: Mathematics:Differentiate from the Origin menu to open the differentiate dialog. The X-Function differentiate is called to perform the calculation.

Dialog Options

Recalculate

Controls recalculation of analysis results

  • None
  • Auto
  • Manual

For more information, see: Recalculating Analysis Results

Input

Specify the input XY range (curve).

For help with range controls, see: Specifying Your Input Data

Derivative

Specify the derivative order.

Smooth

Specify smoothing method.

  • Savitzky-Golay Smooth
    Use the Savitzky-Golay smoothing method.
  • Polynomial Order
    This is available only when the smoothing is chosen. Set the polynomial order (1 to 9) for the Savitzky-Golay smoothing method.
  • Points of Window
    This is available only when the smoothing is chosen. Set the window size used in the Savitzky-Golay smoothing.
Output

Specify the output range.

For help with the range controls, see: Output Results

Plot Derivative Curve

Specify whether to plot the derivative curve.

Algorithm

The derivative of a function is defined as:

f'(x)=\lim_{h \to 0} \frac{f(x+h)-f(x)}h

While the h\! is small enough, we can use a centered difference formula to approximate the derivative:

f'(x_i)\approx \frac{f(x_{i}+h)-f(x_{i}-h)}{2h}

In practice, Origin treats discrete data by the transform of the centered difference formula, and calculates the derivative at point Pi\! by taking the average of the slopes between the point and its two closest neighbors.

6-25-2010 5-28-14 PM.png

The derivative function applied to discrete data points can therefore be written:

f'(x_i)=\frac 12\left( \frac{y_{i+1}-y_i}{x_{i+1}-x_i}+\frac{y_i-y_{i-1}}{x_i-x_{i-1}}\right)

When smooth option is chosen in differentiate, and X data is evenly spaced, Savitzky-Golay method will be used to calculate the derivatives.

First perform a polynomial regression on the data points in the moving window. The polynomial value at position x can be calculated as:

f(x)=a_nx^n+a_{n-1}x^{n-1}+a_{n-2}x^{n-2}+\ldots + a_1x + a_0.

where n is the polynomial order, and a_i, i=0...n are fitted coefficients.

And 1st order derivative at position x is:

f^{\prime }(x)=na_nx^{n-1}+(n-1)a_{n-1}x^{n-2}+...+a_1.