# Langevin1D: Calculate the Drift and Diffusion of one-dimensional... In Langevin: Langevin Analysis in One and Two Dimensions

## Description

`Langevin1D` calculates the Drift and Diffusion vectors (with errors) for a given time series.

## Usage

 ```1 2``` ```Langevin1D(data, bins, steps, sf = ifelse(is.ts(data), frequency(data), 1), bin_min = 100, reqThreads = -1) ```

## Arguments

 `data` a vector containing the time series or a time-series object. `bins` a scalar denoting the number of `bins` to calculate the conditional moments on. `steps` a vector giving the τ steps to calculate the conditional moments (in samples (=τ * sf)). `sf` a scalar denoting the sampling frequency (optional if `data` is a time-series object). `bin_min` a scalar denoting the minimal number of events per `bin`. Defaults to `100`. `reqThreads` a scalar denoting how many threads to use. Defaults to `-1` which means all available cores.

## Value

`Langevin1D` returns a list with thirteen components:

 `D1` a vector of the Drift coefficient for each `bin`. `eD1` a vector of the error of the Drift coefficient for each `bin`. `D2` a vector of the Diffusion coefficient for each `bin`. `eD2` a vector of the error of the Driffusion coefficient for each `bin`. `D4` a vector of the fourth Kramers-Moyal coefficient for each `bin`. `mean_bin` a vector of the mean value per `bin`. `density` a vector of the number of events per `bin`. `M1` a matrix of the first conditional moment for each τ. Rows corespond to `bin`, columns to τ. `eM1` a matrix of the error of the first conditional moment for each τ. Rows corespond to `bin`, columns to τ. `M2` a matrix of the second conditional moment for each τ. Rows corespond to `bin`, columns to τ. `eM2` a matrix of the error of the second conditional moment for each τ. Rows corespond to `bin`, columns to τ. `M4` a matrix of the fourth conditional moment for each τ. Rows corespond to `bin`, columns to τ. `U` a vector of the `bin` borders.

## Author(s)

Philip Rinn

`Langevin2D`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28``` ```# Set number of bins, steps and the sampling frequency bins <- 20; steps <- c(1:5); sf <- 1000; #### Linear drift, constant diffusion # Generate a time series with linear D^1 = -x and constant D^2 = 1 x <- timeseries1D(N=1e6, d11=-1, d20=1, sf=sf); # Do the analysis est <- Langevin1D(x, bins, steps, sf, reqThreads=2); # Plot the result and add the theoretical expectation as red line plot(est\$mean_bin, est\$D1); lines(est\$mean_bin, -est\$mean_bin, col='red'); plot(est\$mean_bin, est\$D2); abline(h=1, col='red'); #### Cubic drift, constant diffusion # Generate a time series with cubic D^1 = x - x^3 and constant D^2 = 1 x <- timeseries1D(N=1e6, d13=-1, d11=1, d20=1, sf=sf); # Do the analysis est <- Langevin1D(x, bins, steps, sf, reqThreads=2); # Plot the result and add the theoretical expectation as red line plot(est\$mean_bin, est\$D1); lines(est\$mean_bin, est\$mean_bin - est\$mean_bin^3, col='red'); plot(est\$mean_bin, est\$D2); abline(h=1, col='red'); ```