vsubn

From STX Wiki
Jump to navigation Jump to search

Extract rows from a vector or matrix.

Usage
vsubn(x {, o {, n}})
x
source vector or matrix
o
offset, 0 ≤ o < nrow(x) (default=0)
n
length, n > 0 and o+nnrow(x) (default=nrow(x)-o)
Result
A numerical object with ncol(x) columns and n rows, consisting of the rows o to o+n-1 of the argument x.
See also
vsubc, select, vv

<function list>


Example:

#a := eval vv(1,2,3,4,5)
#b := eval vmcol($#a, vv(5,4,3,2,1))
#c := vsubn($#a,3)
// -> vector: $#c = { 4 , 5 }
#d := eval vsubn($#b, 1 , 3)
// -> matrix: $#d[*,0] = { 2 , 3 , 4 },  $#d[*,1] = { 4 , 3 , 2 }
#e := eval vsubn($#a, 2, 1)
// -> scalar: $#e = 2, this is equivalent to $#a[2]
#f := eval vsubn($#b, 2, 1)
// -> vector (!!): $#f = { 3 , 3 }, this is equivalent to $#b[2,*]

Use the trapezoidal rule to approximate technique definite integral of a function.

// The function y=f(x) is given by the points y[i]=f(x[i]).
// Approximate the definite integral of the function:
#n := int $#y[!nrow]-1
#a = eval (vsubn($#x,1,$#n)-vsubn($#x,0,$#n)) * (vsubn($#y,1,$#n)+vsubn($#y,0,$#n)) / 2