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
- Protected
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[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- 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: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- val error: Double
Estimate of the error in calculating y
Estimate of the error in calculating y
- Attributes
- protected
- final def flaw(method: String, message: String): Unit
- Definition Classes
- Error
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def getError: Double
Get the error estimate.
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated