pwlin
 pwlin | 
   
  Purpose
 
 
 Generate a piecewise linear function.
 
 
  Synopsis
 
 function pwlin(x:mpvar, points:list of real):nlctr
 function pwlin(x:mpvar, brks:list of real, slopes:list of real):nlctr
 function pwlin(fcts:list of pws):nlctr
 
  Arguments
 
 | 
     
     x 
       | 
   
     
     Input variable of the function
       | 
  
| 
     
     points 
       | 
   
     
     List of breakpoints; each point is defined by its coordinates (
     i.e. the size of the list must be even)
       | 
  
| 
     
     brks 
       | 
   
     
     List of x-values for the breakpoints
       | 
  
| 
     
     slopes 
       | 
   
     
     List of slopes to be applied between each breakpoint (there must be 1 more slope than breakpoints)
       | 
  
| 
     
     fcts 
       | 
   
     
     List of segments of the function by means of
     pws constructs
       | 
  
  Return value
 
 
 The piecewise linear expression as an
 nlctr entity
 
  Example
 
 
 The following code extract generates 3 identical piecewise linear functions using the different methods supported by this routine:
 
 pwl1:=pwlin(x,[0.0,0, 1,10, 2,13, 3,15, 4,16]) pwl2:=pwlin(x,[1.0,2,3],[10.0,3,2,1]) pwl3:=pwlin([pws(0,10*x),pws(1,10+3*(x-1)),pws(2,13+2*(x-2)),pws(3,15+(x-3))])
  Further information
 
 
 1. The first form of the routine expects a list of coordinates: each point is defined by the value for the variable
 x and the value of the function on this point. With the second form the list
 brks specifies the points where the slope of the function changes and the list
 slopes gives the actual slopes. The first slope applies for values before the first breakpoint and the last one is for values after the last breakpoint. Note that with this syntax it is assumed that the evaluation of the function is 0 for
 x=0.
 
 
 2. Using the last form of the routine makes it possible to describe the function by means of linear expressions. Each element of the list
 fcts must be a
 pws construct that is composed of a real (the first x-value of the segment) and a linear expression on the input variable (segments must depend on the same input variable).
 
 
  Module
 
 
