types.core.DiffusionFunction
types.core.DiffusionFunction
Diffusion function g(x, u) for stochastic systems.
Returns noise gain matrix.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| x | StateVector | State (nx,) | required |
| u | Optional[ControlVector] | Control (nu,) or None | required |
Returns
| Name | Type | Description |
|---|---|---|
| DiffusionMatrix | Diffusion matrix (nx, nw) |
Examples
>>> # Additive noise (constant)
>>> def g_additive(x: StateVector, u: ControlVector) -> DiffusionMatrix:
... return 0.1 * np.eye(nx)
>>>
>>> # Multiplicative noise (state-dependent)
>>> def g_multiplicative(x: StateVector, u: ControlVector) -> DiffusionMatrix:
... return np.diag(0.1 * np.abs(x))
>>>
>>> # Geometric Brownian motion
>>> def g_gbm(x: StateVector, u: ControlVector) -> DiffusionMatrix:
... return np.array([[sigma * x[0]]])