Programmer Guide/Command Reference/EVAL/limit: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 5: Line 5:
:'''<code>limithigh(<var>x</var>, <var>hi</var>)</code>'''
:'''<code>limithigh(<var>x</var>, <var>hi</var>)</code>'''
:;<var>x</var>: a scalar, vector or matrix
:;<var>x</var>: a scalar, vector or matrix
:;<var>lo</var>: lower boundary, must be a scalar
:;<var>lo</var>: lower boundary, must be a number
:;<var>hi</var>: upper boundary, must be a scalar
:;<var>hi</var>: upper boundary, must be a number
;Result: The result r has the same type as ''x'' but the values of r are limited to the boundaries defined by ''lo'' and ''hi''.
;Result: The result r has the same type as ''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
::''r''<sub>i,j</sub> is set to ''lo'' if x<sub>i,j</sub> is lower than ''lo'' (functions '''limit''' and '''limitlow''')
::<code>''r''[i] = ''yl''{[''i'']}</code> if <code>''x''[''i''] <= ''t''{[''i'']}</code> and
::''r''<sub>i,j</sub> is set to ''hi'' if x<sub>i,j</sub> is greater than ''hi'' (functions '''limit''' and '''limithigh''')
::<code>''r''[i] = ''yh''{[''i'']}</code> if <code>''x''[''i''] > ''t''{[''i'']}</code>
:The result r has the same length as ''x''.


;See also: [[Programmer_Guide/Command_Reference/EVAL/vsubc|vsubc]], [[Programmer_Guide/Command_Reference/EVAL/limit|limit, limitlow, limithigh]]
;See also: [[Programmer_Guide/Command_Reference/EVAL/vsubc|vsubc]], [[Programmer_Guide/Command_Reference/EVAL/select|select]]


Example:
Example:
Line 19: Line 17:
#a := eval vv(1,2,3,4,5,4,3,2,1)
#a := eval vv(1,2,3,4,5,4,3,2,1)
#b := eval fill(9,0,1)
#b := eval fill(9,0,1)
#c := eval select($#a,3,0,$#a)
#c := eval limitlow($#a, 3)
// -> $#c = { 0 , 0 , 0 , 4 , 5 , 4 , 0 , 0 , 0 }  
// -> $#c = { 3 , 3 , 3 , 4 , 5 , 4 , 3 , 3 , 3 }  
#d := eval select($#a, $#b , $#b , $#a)
#d := eval limit($#b, 2, 6)
// -> $#d = { 1 , 2 , 3 , 4 , 5 , 5 , 6 , 7 , 8 }
// -> $#d[*,0] = { 2 , 2 , 3 , 4 , 5 , 4 , 3 , 2 , 2 }
#e := eval select($#b%2, 0, $#b, -1)
//   $#d[*,1] = { 2 , 2 , 2 , 3 , 4 , 5 , 6 , 6 , 6 }
// -> $#d = { 0 , -1 , 2 , -1 , 4 , -1 , 6 , -1 , 8 }
</pre>
</pre>



Revision as of 14:07, 6 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 has the same type as 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

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 }

<function list>

limit

Limit the input values to a particular range of values.

Usage:

limit(val, lo, hi)

Function:

Limit the val values to the range of values between lo and hi (lo<=val<=hi). VAlues outside the range are set to the boundary values.

Parameters:
val
The input scalar, vector or matrix.
lo
The lower boundary scalar.
hi
The upper boundary scalar.

Navigation menu

Personal tools