Programmer Guide/Command Reference/EVAL/limit: Difference between revisions
From STX Wiki
< Programmer Guide | Command Reference | EVAL
Jump to navigationJump to search
m (1 revision: Initial import) |
No edit summary |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE: | {{DISPLAYTITLE:limit, limitlow, limithigh}} | ||
Limit the values of argument ''x'' to a particular range of values. | |||
;Usage: '''<code>limit(<var>x</var>, <var>lo</var>, <var>hi</var>)</code>''' | |||
:'''<code>limitlow(<var>x</var>, <var>lo</var>)</code>''' | |||
:'''<code>limithigh(<var>x</var>, <var>hi</var>)</code>''' | |||
:;<var>x</var>: a scalar, vector or matrix | |||
:;<var>lo</var>: lower boundary, must be a number | |||
:;<var>hi</var>: upper boundary, must be a number | |||
;Result: The result ''r'' is a copy of ''x'' but the values of the elements of r are limited to the boundaries defined by ''lo'' and/or ''hi''. | |||
::''r''<sub>i,j</sub> is set to ''lo'' if x<sub>i,j</sub> is lower than ''lo'' (functions '''limit''' and '''limitlow''') | |||
::''r''<sub>i,j</sub> is set to ''hi'' if x<sub>i,j</sub> is greater than ''hi'' (functions '''limit''' and '''limithigh''') | |||
;See also: [[../vsubc|vsubc]], [[../select|select]], [[../#Selection operator|conditional assignment "? :"]] | |||
[[../#Functions|<function list>]] | |||
< | Example: | ||
<pre> | |||
#a := eval vv(1,2,3,4,5,4,3,2,1) | |||
#b := eval fill(9,0,1) | |||
#c := eval limitlow($#a, 3) | |||
// -> $#c = { 3 , 3 , 3 , 4 , 5 , 4 , 3 , 3 , 3 } | |||
#d := eval limit($#b, 2, 6) | |||
// -> $#d[*,0] = { 2 , 2 , 3 , 4 , 5 , 4 , 3 , 2 , 2 } | |||
// $#d[*,1] = { 2 , 2 , 2 , 3 , 4 , 5 , 6 , 6 , 6 } | |||
</pre> | |||
Latest revision as of 11:10, 21 April 2011
Limit the values of argument x to a particular range of values.
- Usage
limit(x, lo, hi)
limitlow(x, lo)
limithigh(x, hi)
- x
- a scalar, vector or matrix
- lo
- lower boundary, must be a number
- hi
- upper boundary, must be a number
- Result
- The result r is a copy of x but the values of the elements of r are limited to the boundaries defined by lo and/or hi.
- ri,j is set to lo if xi,j is lower than lo (functions limit and limitlow)
- ri,j is set to hi if xi,j is greater than hi (functions limit and limithigh)
- See also
- vsubc, select, conditional assignment "? :"
Example:
#a := eval vv(1,2,3,4,5,4,3,2,1) #b := eval fill(9,0,1) #c := eval limitlow($#a, 3) // -> $#c = { 3 , 3 , 3 , 4 , 5 , 4 , 3 , 3 , 3 } #d := eval limit($#b, 2, 6) // -> $#d[*,0] = { 2 , 2 , 3 , 4 , 5 , 4 , 3 , 2 , 2 } // $#d[*,1] = { 2 , 2 , 2 , 3 , 4 , 5 , 6 , 6 , 6 }