Learn R Programming

episode (version 1.0.0)

mak: Create 'mak' (Mass Action Kinetics) object

Description

This function creates an object of class mak (subclass of ode), which holds the basic information of the Mass Action Kinetics system in question.

Usage

mak(A, B, s = solver(), r = NULL, rx0 = reg("none", lower = 0, upper =
  Inf, fixed = TRUE))

Arguments

A

The reactant stoichiometric matrix (pxd) containing non-negative values. Here p is the number of parameters and d the number of species.

B

The product stoichiometric matrix (pxd) containing non-negative values. Here p is the number of parameters and d the number of species.

s

solver object.

r

An object of class reg giving info about how to regularise and bound the rate parameters. If not provided, the default one is used.

rx0

An object of class reg giving info about how to regularise and bound the initial state parameter. If not provided, the default one is used. This default reg sets fixed = TRUE, which is generally recommended.

Value

An object with S3 class "mak" and "ode".

Details

Mass Action Kinetics is a class of ODE systems, having the following vector field: $$\frac{dx}{dt} = (B - A)^T diag(x^A) k$$ with \(x^A = (\prod_{i=1}^dx_i^{A_{ji}})_{j=1}^p\) and \(k\) estimatable and non-negative.

See Also

ode, numsolve, field

Examples

Run this code
# NOT RUN {
# Michaelis-Menten system
A <- matrix(
c(1, 1, 0, 0,
  0, 0, 1, 0,
  0, 0, 1, 0), ncol = 4, byrow = TRUE)
B <- matrix(
c(0, 0, 1, 0,
  1, 1, 0, 0,
  1, 0, 0, 1), ncol = 4, byrow = TRUE)
k <- c(1, 2, 0.5)
x0 <- c(E = 1, S = 4, ES = 0, P = 0)
Time <- seq(0, 1, by = .1)

m <- mak(A, B)

# Solve system
numsolve(m, Time, x0, k)

# Evaluate field
field(m, x0, k)

# }

Run the code above in your browser using DataLab