Table of Contents

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

OperatingPoint_U double
OperatingPoint_Y double

GainSchedParameters(GainSchedParameters)

Creates a new object that copies properties from an existing model.

public GainSchedParameters(GainSchedParameters existingModel)

Parameters

existingModel GainSchedParameters

the model to be copied

Fields

FittingSpecs

The defined constraints on fitting, and defines an operating point if applicable.

public FittingSpecs FittingSpecs

Field Value

FittingSpecs

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

int

Y_max

the maximum allowed output value(if set to NaN, no maximum is applied)

public double Y_max

Field Value

double

Y_min

The minimum allowed output value(if set to NaN, no minimum is applied)

public double Y_min

Field Value

double

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

List<double[]>

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

List<double[]>

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

double

Methods

AddWarning(GainSchedIdentWarnings)

Adds a identifiation warning to the object

public void AddWarning(GainSchedIdentWarnings warning)

Parameters

warning GainSchedIdentWarnings

GetBias()

Returns the bias calculated from OperatingPoint_U, OperatingPoint_Y;

public double GetBias()

Returns

double

GetNumInputs()

Get the number of inputs U to the model.

public int GetNumInputs()

Returns

int

GetOperatingPointU()

Get the U of the operating point

public double GetOperatingPointU()

Returns

double

GetOperatingPointY()

Get the Y of the operating point

public double GetOperatingPointY()

Returns

double

GetWarningList()

Get the list of all warnings given during identification of the model

public List<GainSchedIdentWarnings> GetWarningList()

Returns

List<GainSchedIdentWarnings>

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_Y double

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

uGainSched_Start double
uGainSched_End double
inputIndex int

Returns

double

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

newOperatingPointU double

the 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)

Parameters

newOperatingPointU double
newOperatingPointY double