MATLAB Function Reference |

**Syntax**

**Description**

`detrend`

removes the mean value or linear trend from a vector or matrix, usually for FFT processing.

removes the best straight-line fit from vector ```
y = detrend(x)
```

`x`

and returns it in `y`

. If `x`

is a matrix, `detrend`

removes the trend from each column.

removes the mean value from vector `y = detrend(x,`

'constant'```
)
```

`x`

or, if `x`

is a matrix, from each column of the matrix.

removes a continuous, piecewise linear trend from vector `y = detrend(x,`

'linear',bp```
)
```

`x`

or, if `x`

is a matrix, from each column of the matrix. Vector `bp`

contains the indices of the breakpoints between adjacent linear segments. The breakpoint between two segments is defined as the data point that the two segments share.

`detrend(x,'linear')`

, with no breakpoint vector specified, is the same as `detrend(x)`

.

**Example**

sig = [0 1 -2 1 0 1 -2 1 0]; % signal with no linear trend trend = [0 1 2 3 4 3 2 1 0]; % two-segment linear trend x = sig+trend; % signal with added trend y = detrend(x,'linear',5) % breakpoint at 5th element y = -0.0000 1.0000 -2.0000 1.0000 0.0000 1.0000 -2.0000 1.0000 -0.0000

Note that the breakpoint is specified to be the fifth element, which is the data point shared by the two segments.

**Algorithm**

`detrend`

computes the least-squares fit of a straight line (or composite line for piecewise linear trends) to the data and subtracts the resulting function from the data. To obtain the equation of the straight-line fit, use `polyfit`

.

**See Also**

det | deval |