trait Integrator extends Error
The Integrator
trait provides a template for writing numerical integrators
(e.g., Runge-Kutta 'RK4' or Dormand-Prince 'DOPRI') to produce trajectories for
first-order Ordinary Differential Equations 'ODE's. The ODE is of the form:
d/dt y(t) = f(t, y) with initial condition y0 = y(t0)
If 'f' is a linear function of the form 'a(t) * y(t) + b(t)', then the ODE is linear, if 'a(t) = a' (i.e., a constant) the ODE has constant coefficients and if 'b(t) = 0' the ODE is homogeneous. Note this package provides a solver (not an integrator) as an option for linear, constant coefficient, homogeneous, first-order ODE.
- See also
scalation.dynamics.LinearDiffEq.scala
- Alphabetic
- By Inheritance
- Integrator
- Error
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
integrate(f: Derivative, y0: Double, t: Double, t0: Double = 0.0, step: Double = defaultStepSize): Double
Use numerical integration to compute the trajectory of an unknown, time- dependent function y(t) governed by a first-order ODE of the form y(t)' = f(t, y), i.e., the time derivative of y(t) equals f(t, y).
Use numerical integration to compute the trajectory of an unknown, time- dependent function y(t) governed by a first-order ODE of the form y(t)' = f(t, y), i.e., the time derivative of y(t) equals f(t, y). The derivative function f(t, y) is integrated using a numerical integrator (e.g., Runge-Kutta) to return the value of y(t) at time t. The derivative function takes a scalar t and a scalar y.
- f
the derivative function f(t, y)
- y0
the initial value of the y-function at time t0, y0 = y(t0)
- t
the time value at which to compute y(t)
- t0
the initial time
- step
the step size
-
abstract
def
integrateVV(f: Array[DerivativeV], y0: VectorD, t: Double, t0: Double = 0.0, step: Double = defaultStepSize): VectorD
Use numerical integration to compute the trajectory of an unknown, time- dependent vector function y(t) governed by a system of first-order ODEs of the form y(t)' = f(t, y).
Use numerical integration to compute the trajectory of an unknown, time- dependent vector function y(t) governed by a system of first-order ODEs of the form y(t)' = f(t, y). The j-th derivative in the array of derivative functions, [f_j(t, y)], takes a scalar t and a vector y (note the other integrate methods take a scalar t and a scalar y.
- f
the array of derivative functions [f_j(t, y)]
- y0
the initial value vector, y0 = y(t0)
- t
the time value at which to compute y(t)
- t0
the initial time
- step
the step size
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
val
defaultStepSize: Double
The default step size for the t dimension
The default step size for the t dimension
- Attributes
- protected
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
error: Double
Estimate of the error in calculating y
Estimate of the error in calculating y
- Attributes
- protected
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
flaw(method: String, message: String): Unit
- Definition Classes
- Error
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getError: Double
Get the error estimate.
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
integrateV(f: Array[Derivative], y0: VectorD, t: Double, t0: Double = 0.0, step: Double = defaultStepSize): VectorD
Apply the integrate method to each derivative to compute the trajectory of a time-dependent vector function y(t) governed by a separable system of Ordinary Differential Equations (ODE's) where [f_j(t, y_j)] is an array of derivative functions.
Apply the integrate method to each derivative to compute the trajectory of a time-dependent vector function y(t) governed by a separable system of Ordinary Differential Equations (ODE's) where [f_j(t, y_j)] is an array of derivative functions. Each derivative function takes a scalar t and a scalar y_j = y(j).
- f
the array of derivative functions [f_j(t, y_j)]
- y0
the initial value vector, y0 = y(t0)
- t
the time value at which to compute y(t)
- t0
the initial time
- step
the step size
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )