y = Functions.limitByStriple(x_max, x_sat, y_max, y_sat, x);


A point symmetric interpolation between points (0, 0), (x_max, y_max) and (x_sat, y_sat), provided x_max < x_sat. The approximation is done in such a way that the 1st function's derivative is zero at points (x_max, y_max) and (x_sat, y_sat). Thus, the 1st function's derivative is continuous for all x. The higher derivatives are, in contrast, discontinuous at these points.

The figure below shows the function y and its 1st derivative dy/dx for the following input: x_max = 0.2, x_sat = 0.5, y_max = 1.4, y_sat = 1.2.


function limitByStriple
  extends Modelica.Icons.Function;
  input Real x_max "Abscissa for y_max";
  input Real x_sat "Abscissa for y_sat";
  input Real y_max "Peak ordinate";
  input Real y_sat "Saturated ordinate";
  input Real x "Current abscissa value";
  output Real y "Current ordinate";
end limitByStriple;


DLR logo Developed 2010 at the DLR Institute of System Dynamics and Control

Generated at 2024-06-14T18:15:55Z by OpenModelicaOpenModelica 1.22.4 using GenerateDoc.mos