Description Usage Arguments Details Value References See Also Examples

These functions can be used to transform a vector of data or parameters between unconstrained [-Inf, Inf] and box-constrained representation (interval [lower, upper]).

1 2 | ```
p.constrain(p, lower = -Inf, upper = Inf, f = 1)
p.unconstrain(p, lower = -Inf, upper = Inf, f = 1)
``` |

`p` |
vector of data (e.g. model parameters), |

`lower, upper` |
vectors with lower resp. upper bounds used for transformation, |

`f` |
optional scaling factor. |

These functions are employed by `fitOdeModel`

`ssqOdeModel`

in order to be able to use the unconstrained
optimizers of `optim`

for constrained optimization.

The transformation functions are

*
p' = tan(pi/2 * (2 * p - upper - lower) / (upper - lower)) / f*

and its inverse

*
p = 1/2 * (upper + lower) + (upper - lower) * arctan(f * p')/pi*

.

vector with transformed (resp. back-transformed) values.

This trick seems to be quite common, but in most cases it is preferred to apply optimizers that can handle constraints internally.

Reichert, T. (1998) AQUASIM 2.0 User Manual. Computer Program for the Identification and Simulation of Aquatic Systems. Swiss Federal Institute for Environmental Science and Technology (EAWAG), CH - 8600 Duebendorf Switzerland, http://www.aquasim.eawag.ch/e_aquasim_manual.html

1 2 3 | ```
xx <- seq(-100, 100, 2)
plot(xx, yy<-p.constrain(xx, -20, 45), type="l")
points(p.unconstrain(yy, -20, 45), yy, col="red")
``` |

simecol documentation built on June 3, 2018, 5:07 p.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.