20#ifndef _NONLINEAR_TRANSFER_SYSTEM_
21#define _NONLINEAR_TRANSFER_SYSTEM_
23#include "mbsimControl/signal_.h"
24#include "mbsim/functions/function.h"
26namespace MBSimControl {
37 void initializeUsingXML(xercesc::DOMElement * element)
override;
39 void calcxSize()
override {
xSize = F->getRetSize().first; }
41 void init(
InitStage stage,
const MBSim::InitConfigSet &config)
override;
43 void setInitialState(
const fmatvec::Vec &x0_) {
x0 <<= x0_; }
45 void updateSignal()
override;
46 void updatexd()
override;
48 void setSystemFunction(
MBSim::Function<fmatvec::VecV(fmatvec::VecV,fmatvec::VecV)> *F_) {
53 void setOutputFunction(
MBSim::Function<fmatvec::VecV(fmatvec::VecV,fmatvec::VecV)> *H_) {
59 void setInputSignal(
Signal * inputSignal_) { inputSignal = inputSignal_; }
60 int getSignalSize()
const override {
return H?H->getRetSize().first:F->getArg1Size(); }
63 Signal* inputSignal{
nullptr};
64 std::string inputSignalString;
65 MBSim::Function<fmatvec::VecV(fmatvec::VecV,fmatvec::VecV)> *F{
nullptr};
66 MBSim::Function<fmatvec::VecV(fmatvec::VecV,fmatvec::VecV)> *H{
nullptr};
Nonlinear tansfer system.
Definition: nonlinear_transfer_system.h:32
Signal.
Definition: signal_.h:38
void setName(const std::string &str)