pub struct ParamEstProblem<S: Scalar> { /* private fields */ }Expand description
Builder for ODE parameter estimation problems.
Implementations§
Source§impl<S: Scalar> ParamEstProblem<S>
impl<S: Scalar> ParamEstProblem<S>
Sourcepub fn new(n_params: usize, n_states: usize) -> Self
pub fn new(n_params: usize, n_states: usize) -> Self
Create a new parameter estimation problem.
n_params: number of parameters to estimate.n_states: dimension of the ODE state vector.
Sourcepub fn initial_state(self, y0: Vec<S>) -> Self
pub fn initial_state(self, y0: Vec<S>) -> Self
Set the initial state y(t0).
Sourcepub fn param_bounds(self, i: usize, bounds: (S, S)) -> Self
pub fn param_bounds(self, i: usize, bounds: (S, S)) -> Self
Set bounds for parameter i.
Sourcepub fn all_param_bounds(self, bounds: Vec<Option<(S, S)>>) -> Self
pub fn all_param_bounds(self, bounds: Vec<Option<(S, S)>>) -> Self
Set bounds for all parameters at once.
Sourcepub fn data(self, t_data: Vec<S>, y_data: Vec<S>) -> Self
pub fn data(self, t_data: Vec<S>, y_data: Vec<S>) -> Self
Set measurement data.
y_data is flat row-major: y_data[i * n_observed + j] for time
index i and observed state j.
Sourcepub fn observed(self, indices: Vec<usize>) -> Self
pub fn observed(self, indices: Vec<usize>) -> Self
Specify which state indices are observed.
If not called, all states are assumed observed.
Sourcepub fn ode_solver(self, choice: OdeSolverChoice) -> Self
pub fn ode_solver(self, choice: OdeSolverChoice) -> Self
Choose the ODE solver for forward integrations.
Sourcepub fn ode_tolerances(self, rtol: S, atol: S) -> Self
pub fn ode_tolerances(self, rtol: S, atol: S) -> Self
Set ODE solver tolerances.
Sourcepub fn solve(self) -> Result<ParamEstResult<S>, OcpError>
pub fn solve(self) -> Result<ParamEstResult<S>, OcpError>
Run parameter estimation.
Auto Trait Implementations§
impl<S> Freeze for ParamEstProblem<S>where
S: Freeze,
impl<S> !RefUnwindSafe for ParamEstProblem<S>
impl<S> Send for ParamEstProblem<S>
impl<S> Sync for ParamEstProblem<S>
impl<S> Unpin for ParamEstProblem<S>where
S: Unpin,
impl<S> UnsafeUnpin for ParamEstProblem<S>where
S: UnsafeUnpin,
impl<S> !UnwindSafe for ParamEstProblem<S>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more