ILoAddend.Variable

Syntax

Variable: String;

Description

The Variable property determines name of the variable forming a summand.

Comments

The property is read-only.

Example

Add a link to the Cp system assembly.

Sub UserProc;
Var
    FPAS: LinearDecomposition;
    VarS: ILoVariables;
    Vrbl: ILoVariable;
    EqS: ILoEquations;  
    Eq: ILoEquation;
    AddendS: ILoAddends;
    Addend: ILoAddend;
    Res: ILinDecompResults;
    Retro, Forestall: Array[2Of Double;
    I: Integer;
    TimeInterval: Integer;
    S: String;
Begin
    FPAS := New LinearDecomposition.Create;
    // Variables
    Retro := New Double[2];
    Retro[0] := 1;
    Retro[1] := 2;
    Forestall := New Double[2];
    Forestall[0] := 3;
    Forestall[1] := 4;
    // List of variables    
    Vars:= FPAS.Variables;
    For I := 1 To 2 Do
        s := "x" + i.ToString;
        //variable with retrospective
        Vrbl:=Vars.Add(s);
        Vrbl.Retrospective := Retro;
        Vrbl.Forestall := Forestall;
    End For;
    // List of equations
    EqS := FPAS.Equations;
    // Equation 1
    Eq := EqS.Add;
    // list of summands
    AddendS := Eq.Addends;
    Addend := Addends.Add(Vars.FindById("x1")); //left part of equation
    Addend.Coeff := 1;//variable coefficients
    Addend.Lag := 0;//lag
    Addend := Addends.Add(Vars.FindById("x1")); //first summand
    Addend.Coeff := 2;//variable coefficients
    Addend.Lag := 1;//lag
    Addend := Addends.Add(Vars.FindById("x1"));//second summand
    Addend.Coeff := 0.25 ;//variable coefficients
    Addend.Lag := -1;//lag
    For i := 0 To Addends.Count - 1 Do
        Addend := Addends.Item(i);
        Debug.WriteLine("Variable " + Addend.Variable + " is added to equation 1");
    End For;
    // Equation 2
    Eq := EqS.Add;
    // list of summands
    AddendS := Eq.Addends;
    Addend := Addends.Add(Vars.FindById("x2")); //left part of equation
    Addend.Coeff := 1;//variable coefficients
    Addend.Lag := 0;//lag
    Addend := Addends.Add(Vars.FindById("x1")); //first summand
    Addend.Coeff := 12.6;//variable coefficients
    Addend.Lag := -1;//lag
    Addend := Addends.Add(Vars.FindById("x2"));//second summand
    Addend.Coeff := 26;//variable coefficients
    Addend.Lag := 1//lag
    For i := 0 To Addends.Count - 1 Do
        Addend := Addends.Item(i);
        Debug.WriteLine("Variable " + Addend.Variable + " is added to equation 2");
    End For;
    FPAS.Extremum:=ExtremumType.Maximum;
    TimeInterval := 5;
    Res := FPAS.Evaluate(TimeInterval) As ILinDecompResults;
    Debug.WriteLine(Res.ErrorMsg);
End Sub UserProc;

After executing the example the linear system is calculated, report about system creation process and message with found errors are displayed in the console window.

See also:

ILoAddend