This block generates an output signal by **linear interpolation** in
a table. The time points and function values are stored in a matrix
**table[i,j]**, where the first column table[:,1] contains the
time points and the second column contains the data to be interpolated.
The table interpolation has the following properties:

- The interpolation interval is found by a linear search where the interval used in the last call is used as start interval.
- The time points need to be
**monotonically increasing**. **Discontinuities**are allowed, by providing the same time point twice in the table.- Values
**outside**of the table range, are computed by**extrapolation**through the last or first two points of the table. - If the table has only
**one row**, no interpolation is performed and the function value is just returned independently of the actual time instant. - Via parameters
**shiftTime**and**offset**the curve defined by the table can be shifted both in time and in the ordinate value. The time instants stored in the table are therefore**relative**to**shiftTime**. - If time < startTime, no interpolation is performed and the offset is used as ordinate value for the output.
- If the table has more than one row, the first point in time
**always**has to be set to**0**, e.g.,**table=[1,1;2,2]**is**illegal**. If you want to shift the time table in time use the**shiftTime**parameter instead. - The table is implemented in a numerically sound way by
generating
**time events**at interval boundaries. This generates continuously differentiable values for the integrator. - Via parameter
**timeScale**the first column of the table array can be scaled, e.g., if the table array is given in hours (instead of seconds)**timeScale**shall be set to 3600.

Example:

table = [0, 0; 1, 0; 1, 1; 2, 4; 3, 9; 4, 16]; If, e.g., time = 1.0, the output y = 0.0 (before event), 1.0 (after event) e.g., time = 1.5, the output y = 2.5, e.g., time = 2.0, the output y = 4.0, e.g., time = 5.0, the output y = 23.0 (i.e., extrapolation).

*Oct. 21, 2002*by Christian Schweiger:

Corrected interface from

toparameter Real table[:, :]=[0, 0; 1, 1; 2, 4];

parameter Real table[:,

**2**]=[0, 0; 1, 1; 2, 4];*Nov. 7, 1999*by Martin Otter:

Realized.

Generated at 2024-07-20T18:16:01Z by OpenModelicaOpenModelica 1.23.1 using GenerateDoc.mos