Linear Difference Equation

../../../../_images/linear_difference_equations.svg

Performs a forward projection of a linear difference equation system

Documentation

Performs a forward projection of the following linear difference equation system:

yᵢ(t) = aᵢ₀ + ∑ aᵢⱼₖ yⱼ(t-k) + ∑ bᵢⱼₖ uⱼ(t-k)

Where aᵢⱼₖ and bᵢⱼₖ are the coefficients giving the contribution to yᵢ based on the value of yⱼ or uⱼ at time point t-k.

The system with v variables y_1 … y_v and control signals u_1 … u_r is described by (K+1) x (v+r) coefficients, where K is the number of previous times samples considered by this system.

This system takes as input v columns of (v+r)*K+1 rows as coefficients as follows:

aᵢ₀ = column[i][0],

aᵢⱼₖ = column[i][j*K + k],

bᵢⱼₖ = column[i][V*K + j*K + k]

Given at least K rows of initial condition this node steps the linear system forwards in time and outputs all variables at their corresponding time points.

By default the system has no coefficients b and the node configuration parameter T, defines the length of the system’s response.

To use the node for a system with a control signal, right click the node and select Ports>Input>Create: Control Signal. In this case, the length of the control sequence defines also the length of the output.

Definition

Input ports

init cond table

Initial conditions

coefficients table

Coefficients

control signal 0 - 1, table

Control signal

Output ports

out table

Output

Configuration

T (T)

Number of points generated in outputs including the initial condition points

Examples

Implementation

class node_difference.DifferenceEquation[source]