89 if(
NU == 0 )
NU = outputEquation_.
getNU();
90 if(
NP == 0 )
NP = outputEquation_.
getNP();
127 const Grid& grid,
const std::string& colInd,
const std::string& rowPtr ){
132 colIndV.
read( colInd.c_str() );
133 rowPtrV.
read( rowPtr.c_str() );
135 if( rowPtrV.
getDim() != (dim+1) ) {
141 return addOutput( output, diffs_output, dim, grid );
174 std::vector<DMatrix> outputDependencies;
182 for(
uint j = 0; j < dim_outputs[i]; j++ ) {
184 for(
uint k = (
uint)rowPtrV(j); k < upper; k++ ) {
185 dependencyMat(j,(
uint)colIndV(k-1)-1) = index++;
189 outputDependencies.push_back( dependencyMat );
192 return outputDependencies;
288 numParms = numParms + n;
291 numParms = numParms + (n+1)*(
uint)
pow((
double)n,(
int)i)/2;
403 double h = T/((double)_numSteps);
408 for( i = 0; i < stepsVector.
getDim(); i++ )
413 if( equidistantControl )
416 integrationGrid =
Grid( 0.0, ((
double) T)/((
double)
N), (
int) ceil((
double)_numSteps/((
double) N) - 10.0*
EPS) + 1 );
std::vector< DVector > colInd_outputs
returnValue setIntegrationGrid(const Grid &_ocpGrid, const uint _numSteps)
USING_NAMESPACE_ACADO typedef TaylorVariable< Interval > T
DifferentialEquation differentialEquation
Allows to setup and evaluate output functions based on SymbolicExpressions.
returnValue setNP(const uint NP_)
double getTime(uint pointIdx) const
returnValue getNonlinearFeedback(DMatrix &C_, OutputFcn &feedb_) const
int getNumDynamicEquations() const
std::vector< DMatrix > getOutputDependencies() const
double getFirstTime() const
DVector getNumMeas() const
BooleanType modelDimensionsSet() const
DVector getDimOutputs() const
returnValue getOutputExpressions(std::vector< Expression > &outputExpressions_) const
BEGIN_NAMESPACE_ACADO const double EPS
std::vector< uint > dim_outputs
BooleanType isEquidistant() const
BooleanType hasEquidistantControlGrid() const
returnValue setNonlinearFeedback(const DMatrix &C_, const OutputFcn &feedb_)
Allows to pass back messages to the calling function.
IntermediateState pow(const Expression &arg1, const Expression &arg2)
std::vector< uint > num_meas
returnValue setNU(const uint NU_)
returnValue getModel(DifferentialEquation &_f) const
BEGIN_NAMESPACE_ACADO typedef unsigned int uint
Allows to conveniently handle (one-dimensional) grids consisting of time points.
BooleanType isEmpty() const
returnValue setLinearInput(const DMatrix &M1_, const DMatrix &A1_, const DMatrix &B1_)
#define CLOSE_NAMESPACE_ACADO
returnValue getExpression(Expression &expression) const
returnValue getLinearOutput(DMatrix &M3_, DMatrix &A3_, OutputFcn &rhs_) const
const std::string getFileNameModel() const
std::vector< DVector > rowPtr_outputs
returnValue setNumSteps(const DVector &_numSteps)
Base class for all variables within the symbolic expressions family.
returnValue getNameDiffsOutputs(std::vector< std::string > &names) const
const std::string getNameRhs() const
uint addOutput(const OutputFcn &outputEquation_, const Grid &measurements)
const std::string getNameDiffsOutput() const
const std::string getNameDiffsRhs() const
std::vector< Expression > outputExpressions
returnValue setLinearOutput(const DMatrix &M3_, const DMatrix &A3_, const OutputFcn &rhs_)
returnValue setModel(const DifferentialEquation &_f)
returnValue getIntegrationGrid(Grid &integrationGrid_) const
returnValue setNOD(const uint NOD_)
returnValue getOutputGrids(std::vector< Grid > &outputGrids_) const
BooleanType model_dimensions_set
std::vector< Grid > outputGrids
BooleanType hasOutputs() const
void rhs(const real_t *x, real_t *f)
returnValue setNARXmodel(const uint _delay, const DMatrix &_parms)
returnValue clearIntegrationGrid()
BooleanType hasCompressedStorage() const
unsigned getNumRows() const
uint getNumOutputs() const
unsigned getNumCols() const
uint getNumIntervals() const
returnValue getNumSteps(DVector &_numSteps) const
BooleanType hasDifferentialEquation() const
returnValue getNARXmodel(uint &_delay, DMatrix &_parms) const
returnValue getLinearInput(DMatrix &M1_, DMatrix &A1_, DMatrix &B1_) const
std::vector< std::string > outputNames
double getLastTime() const
Expression next(const Expression &arg)
#define BEGIN_NAMESPACE_ACADO
returnValue setDimensions(uint _NX1, uint _NX2, uint _NX3, uint _NDX, uint _NDX3, uint _NXA, uint _NXA3, uint _NU, uint _NOD, uint _NP)
BooleanType hasOutputFunctions() const
USING_NAMESPACE_ACADO void output(const char *name, const Expression &e)
std::vector< std::string > diffs_outputNames
const std::string getNameOutput() const
returnValue getNameOutputs(std::vector< std::string > &names) const
BooleanType exportRhs() const
returnValue setN(const uint N_)
#define ACADOERROR(retval)
Allows to setup and evaluate differential equations (ODEs and DAEs) based on SymbolicExpressions.
virtual returnValue read(std::istream &stream)