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).
Release Notes
- Oct. 21, 2002 by Christian Schweiger:
Corrected interface from
parameter Real table[:, :]=[0, 0; 1, 1; 2, 4];
to
parameter Real table[:, 2]=[0, 0; 1, 1; 2, 4];
- Nov. 7, 1999 by Martin Otter:
Realized.
Generated at 2020-06-05T07:38:22Z by OpenModelica 1.16.0~dev-420-gc007a39