StepInterp
StepInterp( D,A,x,I )
Returns the element or slice of array A corresponding to the smallest value in D that is greater than or equal to x. D and A must both be indexed by I, and D must be increasing along index I. If x is greater than all values of D, returns the element for which D has the largest value.
If X is a single value, the result of Stepinterp() is an array indexed by all indexes of A except D’s index. If X is an array, the result of Stepinterp() is also indexed by the indexes of X.
StepInterp() is similar to Subscript(u1, i, u2); however, Subscript() selects based on the index value being equal to x, while Stepinterp() selects based on the array value being greater than or equal to x.
Stepinterp() can be used to perform table lookup.
StepInterp( D,A,x,I, LeftLookup:True )
When the optional parameter, LeftLookup, is specified as true, StepInterp returns the element or slice of A corresponding to the largest value in D that is less than or equal to x.
The two graphs interpolate from the same set of (d,r) points, with different settings for LeftLookup.
![]() |
![]() |
LeftLookup:False (default) | LeftLookup:True |
---|
See Also
- The User Group Webinar Intro to Step Interpolation recording.
- LinearInterp
- CubicInterp
- Subscript
User Guide
Returns the element or slice of array y for which v has the smallest value less than or equal to x. x and y must both be indexed by i, and x must be increasing along index i. If v is greater than all values of x, it returns the element of y for which x has the largest value.
When an optional parameter, LeftLookup, is specified as True, it returns the element or slice of y corresponding to the largest value in x that is less than or equal to v.
If v is an atom (scalar value), the result is an array indexed by all indexes of a except x’s index. If v is an array, the result is also indexed by the indexes of v.
If the first parameter x is an index of y, the fourth parameter is optional. Stepinterp(x, y, v) is similar to y[x=v] except that y[x=v] selects based on v being equal to x, while Stepinterp(x, y, v) selects based on v being greater than or equal to x.
Stepinterp() can be used to perform table lookup.
Library
Array
Examples
To see the values in Car_prices corresponding to Years >= 2007.5:
Stepinterp(Years, Car_prices, 2007.5, Years) → Car_type >
VW | Honda | BMW |
---|---|---|
19 | 22 | 30 |
Here v is a list of two values:
Stepinterp(Years, Car_prices, [2007,2008], Years) →
VW | Honda | BMW | |
---|---|---|---|
2007 | 18K | 20K | 28K |
2008 | 19K | 22K | 30K |
Enable comment auto-refresher