Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
Loading...
Searching...
No Matches
icarus::staging::FiniteDifferenceLinearizer Class Reference

Linearizer using finite differences. More...

#include <Linearizer.hpp>

Inheritance diagram for icarus::staging::FiniteDifferenceLinearizer:
Collaboration diagram for icarus::staging::FiniteDifferenceLinearizer:

Classes

struct  Options

Public Member Functions

 FiniteDifferenceLinearizer ()
 FiniteDifferenceLinearizer (Options opts)
::icarus::staging::LinearModel Compute (::icarus::Simulator &sim, const LinearizationConfig &config) override
 Compute linear model at current operating point.
Public Member Functions inherited from icarus::staging::Linearizer
virtual ~Linearizer ()=default

Detailed Description

Linearizer using finite differences.

Computes Jacobians via central differences. Simple and works with any numeric simulator.

Accuracy is O(h²) where h is the step size.

Constructor & Destructor Documentation

◆ FiniteDifferenceLinearizer() [1/2]

icarus::staging::FiniteDifferenceLinearizer::FiniteDifferenceLinearizer ( )
inline

◆ FiniteDifferenceLinearizer() [2/2]

icarus::staging::FiniteDifferenceLinearizer::FiniteDifferenceLinearizer ( Options opts)
inlineexplicit

Member Function Documentation

◆ Compute()

icarus::staging::LinearModel icarus::staging::FiniteDifferenceLinearizer::Compute ( ::icarus::Simulator & sim,
const LinearizationConfig & config )
inlineoverridevirtual

Compute linear model at current operating point.

The simulator should be at the desired operating point (e.g., after trim).

Parameters
simSimulator at operating point
configLinearization configuration
Returns
LinearModel with A, B, C, D matrices

Implements icarus::staging::Linearizer.


The documentation for this class was generated from the following file: