# invlap: Inverse Laplacian In pracma: Practical Numerical Math Functions

## Description

Numerical inversion of Laplace transforms.

## Usage

 `1` ```invlap(Fs, t1, t2, nnt, a = 6, ns = 20, nd = 19) ```

## Arguments

 `Fs` function representing the function to be inverse-transformed. `t1, t2` end points of the interval. `nnt` number of grid points between t1 and t2. `a` shift parameter; it is recommended to preserve value 6. `ns, nd` further parameters, increasing them leads to lower error.

## Details

The transform Fs may be any reasonable function of a variable s^a, where a is a real exponent. Thus, the function `invlap` can solve fractional problems and invert functions Fs containing (ir)rational or transcendental expressions.

## Value

Returns a list with components `x` the x-coordinates and `y` the y-coordinates representing the original function in the interval `[t1,t2]`.

## Note

Based on a presentation in the first reference. The function `invlap` on MatlabCentral (by ) served as guide. The Talbot procedure from the second reference could be an interesting alternative.

## References

J. Valsa and L. Brancik (1998). Approximate Formulae for Numerical Inversion of Laplace Transforms. Intern. Journal of Numerical Modelling: Electronic Networks, Devices and Fields, Vol. 11, (1998), pp. 153-166.

L.N.Trefethen, J.A.C.Weideman, and T.Schmelzer (2006). Talbot quadratures and rational approximations. BIT. Numerical Mathematics, 46(3):653–670.

## Examples

 ``` 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 29 30 31 32 33 34``` ```Fs <- function(s) 1/(s^2 + 1) # sine function Li <- invlap(Fs, 0, 2*pi, 100) ## Not run: plot(Li[[1]], Li[[2]], type = "l", col = "blue"); grid() Fs <- function(s) tanh(s)/s # step function L1 <- invlap(Fs, 0.01, 20, 1000) plot(L1[[1]], L1[[2]], type = "l", col = "blue") L2 <- invlap(Fs, 0.01, 20, 2000, 6, 280, 59) lines(L2[[1]], L2[[2]], col="darkred"); grid() Fs <- function(s) 1/(sqrt(s)*s) L1 <- invlap(Fs, 0.01, 5, 200, 6, 40, 20) plot(L1[[1]], L1[[2]], type = "l", col = "blue"); grid() Fs <- function(s) 1/(s^2 - 1) # hyperbolic sine function Li <- invlap(Fs, 0, 2*pi, 100) plot(Li[[1]], Li[[2]], type = "l", col = "blue"); grid() Fs <- function(s) 1/s/(s + 1) # exponential approach Li <- invlap(Fs, 0, 2*pi, 100) plot(Li[[1]], Li[[2]], type = "l", col = "blue"); grid() gamma <- 0.577215664901532 # Euler-Mascheroni constant Fs <- function(s) -1/s * (log(s)+gamma) # natural logarithm Li <- invlap(Fs, 0, 2*pi, 100) plot(Li[[1]], Li[[2]], type = "l", col = "blue"); grid() Fs <- function(s) (20.5+3.7343*s^1.15)/(21.5+3.7343*s^1.15+0.8*s^2.2+0.5*s^0.9)/s L1 <- invlap(Fs, 0.01, 5, 200, 6, 40, 20) plot(L1[[1]], L1[[2]], type = "l", col = "blue") grid() ## End(Not run) ```

### Example output

```
```

pracma documentation built on Jan. 30, 2018, 3:01 a.m.