Class GainSchedParameters
- Namespace
- TimeSeriesAnalysis.Dynamic
- Assembly
- TimeSeriesAnalysis.dll
Parameters data class of the GainSchedModel
public class GainSchedParameters : ModelParametersBaseClass
- Inheritance
-
GainSchedParameters
- Inherited Members
Constructors
GainSchedParameters(double, double)
Default constructor
public GainSchedParameters(double OperatingPoint_U = 0, double OperatingPoint_Y = 0)
Parameters
GainSchedParameters(GainSchedParameters)
Creates a new object that copies properties from an existing model.
public GainSchedParameters(GainSchedParameters existingModel)
Parameters
existingModelGainSchedParametersthe model to be copied
Fields
FittingSpecs
The defined constraints on fitting, and defines an operating point if applicable.
public FittingSpecs FittingSpecs
Field Value
GainSchedParameterIndex
The index of the scheduling-parameter among the model inputs(by default the first input is the schedulng variable)
public int GainSchedParameterIndex
Field Value
Y_max
the maximum allowed output value(if set to NaN, no maximum is applied)
public double Y_max
Field Value
Y_min
The minimum allowed output value(if set to NaN, no minimum is applied)
public double Y_min
Field Value
Properties
LinearGainThresholds
Threshold for when to use different LinearGains, the size should be one less than LinearGains
public double[] LinearGainThresholds { get; set; }
Property Value
- double[]
LinearGainUnc
An array of 95% uncertatinty in the linear gains (u-u0))
public List<double[]> LinearGainUnc { get; set; }
Property Value
LinearGains
An list of arrays of gains that determine how much in the steady state each input change affects the output(multiplied with (u-u0)) The size of the list should be one higher than the size of LinearGainThresholds.
public List<double[]> LinearGains { get; set; }
Property Value
TimeConstantThresholds
Thresholds for when to use timeconstants.
public double[] TimeConstantThresholds { get; set; }
Property Value
- double[]
TimeConstantUnc_s
The uncertinty of the time constant estimate
public double[] TimeConstantUnc_s { get; set; }
Property Value
- double[]
TimeConstant_s
A time constant in seconds, the time a 1. order linear system requires to do 63% of a step response. Set to zero to turn off time constant in model.
public double[] TimeConstant_s { get; set; }
Property Value
- double[]
TimeDelay_s
The time delay in seconds.This number needs to be a multiple of the sampling rate. Set to zero to turn off time delay in model. There is no scheduling on the time delay.
public double TimeDelay_s { get; set; }
Property Value
Methods
AddWarning(GainSchedIdentWarnings)
Adds a identifiation warning to the object
public void AddWarning(GainSchedIdentWarnings warning)
Parameters
warningGainSchedIdentWarnings
GetBias()
Returns the bias calculated from OperatingPoint_U, OperatingPoint_Y;
public double GetBias()
Returns
GetNumInputs()
Get the number of inputs U to the model.
public int GetNumInputs()
Returns
GetOperatingPointU()
Get the U of the operating point
public double GetOperatingPointU()
Returns
GetOperatingPointY()
Get the Y of the operating point
public double GetOperatingPointY()
Returns
GetWarningList()
Get the list of all warnings given during identification of the model
public List<GainSchedIdentWarnings> GetWarningList()
Returns
IncreaseOperatingPointY(double)
Changes the operating point by a given delta.
Give negative values to decrease the operating point.
public void IncreaseOperatingPointY(double deltaOperatingPoint_Y)
Parameters
deltaOperatingPoint_Ydouble
IntegrateGains(double, double, int)
Integrate a model from a start point to an end point Note that this method currently does not work if some gains are null.
public double IntegrateGains(double uGainSched_Start, double uGainSched_End, int inputIndex)
Parameters
Returns
MoveOperatingPointUWithoutChangingModel(double)
Sets a new operating point U, and adjusts the operating point Y so that the model output will be the same as before the change
public void MoveOperatingPointUWithoutChangingModel(double newOperatingPointU)
Parameters
newOperatingPointUdoublethe new desired operating point
SetOperatingPoint(double, double)
This set the (u,y) through which a model may pass.
Careful! only use this when initalizing a new model, otherwise, you should use
MoveOperatingPointUWithoutChangingModel to preserve model behavior
public void SetOperatingPoint(double newOperatingPointU, double newOperatingPointY)