Programmer Guide/Command Reference/EVAL/vvget: Difference between revisions
From STX Wiki
< Programmer Guide | Command Reference | EVAL
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:{{SUBPAGENAME}}}} | {{DISPLAYTITLE:{{SUBPAGENAME}}}} | ||
Extract elements from a vector. | Extract elements from a vector. | ||
;Usage: | ;Usage: <code><var>vvget(x</var> {, <var>o</var> {, <var>d</var> {,<var>n</var> }}})</code> | ||
:;<var>x</var>: the source vector, l<sub>x</sub>=nrow(''x'') must be greater/equal 1 | :;<var>x</var>: the source vector, l<sub>x</sub>=nrow(''x'') must be greater/equal 1 | ||
:;<var>o</var>: the first element to be extracted, 0 <= ''o'' < l<sub>x</sub> (default='''0''') | :;<var>o</var>: the first element to be extracted, 0 <= ''o'' < l<sub>x</sub> (default='''0''') | ||
Line 9: | Line 9: | ||
::<code>''r''<sub>i</sub> = x<sub>''o''+i*''d''</sub></code>; with i=0..''n''-1 | ::<code>''r''<sub>i</sub> = x<sub>''o''+i*''d''</sub></code>; with i=0..''n''-1 | ||
:Note: For all i, the source index ''o''+i*''d'' must be in the range 0 to l<sub>x</sub>-1, otherwise the function fails. | :Note: For all i, the source index ''o''+i*''d'' must be in the range 0 to l<sub>x</sub>-1, otherwise the function fails. | ||
;See also: [[ | ;See also: [[../vv|vv]], [[../vvset|vvset]], [[../vvcat|vvcat]], [[../vmcol|vmcol]], [[../vmrow|vmrow]], [[../vsubn|vsubn]], [[../vsubc|vsubc]] | ||
[[../#Functions|<function list>]] | |||
Example: | Example: | ||
Line 17: | Line 20: | ||
#c := eval vvget($#a, 5, -1, 4) | #c := eval vvget($#a, 5, -1, 4) | ||
// -> #c = { 32, 16, 8, 4 } | // -> #c = { 32, 16, 8, 4 } | ||
Revision as of 12:16, 21 April 2011
Extract elements from a vector.
- Usage
vvget(x {, o {, d {,n }}})
- x
- the source vector, lx=nrow(x) must be greater/equal 1
- o
- the first element to be extracted, 0 <= o < lx (default=0)
- d
- the index increment (default=1)
- n
- the number of elements to extract, n>0 (default=lx)
- Result
- A numerical object r (scalar or vector) with n elements
ri = xo+i*d
; with i=0..n-1
- Note: For all i, the source index o+i*d must be in the range 0 to lx-1, otherwise the function fails.
- See also
- vv, vvset, vvcat, vmcol, vmrow, vsubn, vsubc
Example:
#a := eval vv(1,2,4,8,16,32) #b := eval vvget($#a, 0, 2, 3) // -> #b = { 1 , 4 , 16 } #c := eval vvget($#a, 5, -1, 4) // -> #c = { 32, 16, 8, 4 }