Difference between revisions of "StepInterp"
m (→See Also) |
|||
Line 2: | Line 2: | ||
[[Category:Doc Status D]] <!-- For Lumina use, do not change --> | [[Category:Doc Status D]] <!-- For Lumina use, do not change --> | ||
− | = StepInterp( D,A,x,I ) = | + | == 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. | 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. | ||
Line 12: | Line 12: | ||
Stepinterp() can be used to perform table lookup. | Stepinterp() can be used to perform table lookup. | ||
− | = StepInterp( D,A,x,I, LeftLookup:True ) = | + | ==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. | 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. | ||
Line 26: | Line 26: | ||
|} | |} | ||
− | = See Also = | + | == See Also == |
* The User Group Webinar [[Analytica_User_Group/Past_Topics#Step_Interpolation|Intro to Step Interpolation]] recording. | * The User Group Webinar [[Analytica_User_Group/Past_Topics#Step_Interpolation|Intro to Step Interpolation]] recording. | ||
Line 32: | Line 32: | ||
* [[CubicInterp]] | * [[CubicInterp]] | ||
* [[Subscript]] | * [[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 <tt>Car_prices</tt> corresponding to <tt>Years >= 2007.5</tt>: | ||
+ | Stepinterp(Years, Car_prices, 2007.5, Years) → | ||
+ | Car_type > | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! scope="col"| VW | ||
+ | ! scope="col"| Honda | ||
+ | ! scope="col"| BMW | ||
+ | |- | ||
+ | | 19 | ||
+ | | 22 | ||
+ | | 30 | ||
+ | |} | ||
+ | |||
+ | Here '''v''' is a list of two values: | ||
+ | Stepinterp(Years, Car_prices, [2007,2008], Years) → | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! scope="col"| | ||
+ | ! scope="col"| VW | ||
+ | ! scope="col"| Honda | ||
+ | ! scope="col"| BMW | ||
+ | |- | ||
+ | ! scope="row"| 2007 | ||
+ | | 18K | ||
+ | | 20K | ||
+ | | 28K | ||
+ | |- | ||
+ | ! scope="row"| 2008 | ||
+ | | 19K | ||
+ | | 22K | ||
+ | | 30K | ||
+ | |} |
Revision as of 19:36, 30 July 2015
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