fmat <num: # of rows> <num: # of columns> [<num: init values> ...] - matrix of floats { print - print matrix values schema 'row|col' [<schema: row/col names>] - set or get row or column schema clear - erase all rows (keeps number of columns) zero [<num: onset (0)> [<num: range (size)>]] - set all values to 0. (from given onset for given range) fill <num: value> - fill matrix with given value fill <any|expr: value or expression> [<any: values or expression arguments> ...] - fill matrix with sequence of given values or with given expression and arguments (using $self, $row, $col) random [[<num: lower limit (0)>] <num: upper limit (1)>] - fill matrix with random values within given limits (lo <= x < up) ramp [<num: start value> [<num: end value>]] - fill fmat with linear sequence of values going from start to one before end rampinc [<num: start value> [<num: end value>]] - fill fmat with linear sequence of values going from start to end (inclusive) get <num: row index> <num: column index> - get value at given index iget <num: float row index> <num: float column index> - get (linearly) interpolated value at given float index getrow <int: row> [<int: offset>] [<int: size>] get row as tuple getcol <int: col> [<int: offset>] [<int: size>] get column as tuple set <num: value> - fill with given value set <num: row index> <num: column index> [<num: value> ...] - set values starting from indicated element (row by row) set <fmat: values> - set values from another fmat set <fvec: values> - set values from a vector set <bpf: values> - set values from bpf (two columns) set <mat: values> - set values from mat set <dict: values> copy numerical keys and values to first and second column setindexed <dict: values> - sparse copy from dict (index and values): copy dict values with int key i or tuple key {i j} to fmat row i, col j (col 0 if only int key given) set <sequence: values> - set values from sequence (two columns) set <track: values> - set values from track (two columns) setrow <num: index> <tuple|fmat|fvec|any: values> [<num: values> ...] - set values of given row (grow fmat rows if necessary) setcol <num: index> <tuple|fmat|fvec|any: values> [<num: values> ...] - set values of given column (grow fmat columns if necessary) colref <num: index> - get column reference (creates fvec object) rowref <num: index> - row reference (creates fvec object) diagref <num: index> - diagonal reference (creates fvec object) mvavrg <fmat: values> [<num: order>] - calculate central moving average of given fmat unwrapping [<num: range (2π)>] - (phase) unwrapping with given range append <list: values> - append row with given values append <fmat: rows> - append rows from given fmat append <fmat: row values> - append row from given fmat insert [<num: index> [<num: number>]] - insert a given number of empty rows at given index [0 1] insertcols [<num: index> [<num: number>]] - insert a given number empty columns at given index [0 1] delete [<num: index> [<num: number>]] - delete the given number rows from given index [0 1] deletecols [<num: index> [<num: number>]] - delete the given number of columns from given index [0 1] size - get number of rows and columns as a tuple rows - get number of rows cols - get number of columns size <num: # of rows> <num: # of columns> - set matrix dimensions rows <num: # of rows> - set number of rows cols <num: # of columns> - set number of columns min - get minimum value max - get maximum value absmax - get maximum absolute value sum - get sum of all values mean - get mean value of all values zc - get number of zerocrossings prod - get product of all values quantile [<num: q>] - get quantile (assuming sum is normaized to 1.0) [0.5] add <fmat: right operand> - add given scalar or fmat (element by element) add <num: right sclar operand> - add given scalar or fmat (element by element) sub <fmat: right operand> - substract given scalar or fmat (element by element) sub <num: right sclar operand> - substract given scalar or fmat (element by element) mul <fmat: right operand> - multiply current values by given scalar or fmat (element by element) mul <num: right sclar operand> - multiply current values by given scalar or fmat (element by element) div <fmat: right operand> - divide current values by given scalar or fmat (element by element) div <num: right sclar operand> - divide current values by given scalar or fmat (element by element) pow <fmat: right operand> - take current values to the power of the given scalar or fmat (element by element) pow <num: right sclar operand> - take current values to the power of the given scalar or fmat (element by element) bus <fmat: right operand> - subtract current values from given scalar or fmat (element by element) bus <num: right sclar operand> - subtract current values from given scalar or fmat (element by element) vid <fmat: right operand> - divide given scalar or fmat (element by element) by current values vid <num: right sclar operand> - divide given scalar or fmat (element by element) by current values ee <fmat: right operand> - replace current values by result of == comparison (0 or 1) with given scalar or fmat (element by element) ee <num: right sclar operand> - replace current values by result of == comparison (0 or 1) with given scalar or fmat (element by element) eq <fmat: right operand> - replace current values by result of == comparison (0 or 1) with given scalar or fmat (element by element) eq <num: right sclar operand> - replace current values by result of == comparison (0 or 1) with given scalar or fmat (element by element) ne <fmat: right operand> - replace current values by result of != comparison (0 or 1) with given scalar or fmat (element by element) ne <num: right sclar operand> - replace current values by result of != comparison (0 or 1) with given scalar or fmat (element by element) gt <fmat: right operand> - replace current values by result of > comparison (0 or 1) with given scalar or fmat (element by element) gt <num: right sclar operand> - replace current values by result of > comparison (0 or 1) with given scalar or fmat (element by element) ge <fmat: right operand> - replace current values by result of >= comparison (0 or 1) with given scalar or fmat (element by element) ge <num: right sclar operand> - replace current values by result of >= comparison (0 or 1) with given scalar or fmat (element by element) lt <fmat: right operand> - replace current values by result of < comparison (0 or 1) with given scalar or fmat (element by element) lt <num: right sclar operand> - replace current values by result of < comparison (0 or 1) with given scalar or fmat (element by element) le <fmat: right operand> - replace current values by result of <= comparison (0 or 1) with given scalar or fmat (element by element) le <num: right sclar operand> - replace current values by result of <= comparison (0 or 1) with given scalar or fmat (element by element) gauss <num: mu> <num: sigma> - calculate gaussian curve equals <fmat: other> return 1 if fmats are equal size and all values are equal sin - calculate sin of each element of fmat cos - calculate cos of each element of fmat tan - calculate tan of each element of fmat asin - calculate asin of each element of fmat acos - calculate acos of each element of fmat atan - calculate atan of each element of fmat sinh - calculate sinh of each element of fmat cosh - calculate cosh of each element of fmat tanh - calculate tanh of each element of fmat abs - calculate abs of each element of fmat: get absolute value log - calculate log of each element of fmat logabs - calculate logabs of each element of fmat: logarithm of absolute value log10 - calculate log10 of each element of fmat exp - calculate exp of each element of fmat sqrt - calculate sqrt of each element of fmat trunc - calculate trunc of each element of fmat: truncate to integer value round - calculate round of each element of fmat: round to integer value nearest to current value ceil - calculate ceil of each element of fmat: round to smallest integral value not less than current value floor - calculate floor of each element of fmat: round to largest integral value not less than current value lin2db - calculate lin2db of each element of fmat: convert linear amplitude value to value in decibel db2lin - calculate db2lin of each element of fmat: convert value in decibel to linear amplitude value lin2cent - calculate lin2cent of each element of fmat: convert linear value to value in cent cent2lin - calculate cent2lin of each element of fmat: convert value in cent to linear value linscale <num: min_in> <num: max_in> <num: min_out> <num: max_out> - linear segment going from min_out to max_out for x between min_in and max_in - apply mapping linscale to each element of fmat exscale <num: min_in> <num: max_in> <num: min_out> <num: max_out> <num: base> - exponential scale going from min_out to max_out for x between min_in and max_in - apply mapping exscale to each element of fmat delta <num: min_in> <num: max_in> <num: min_out> <num: max_out> <num: midpoint> <num: width = 0> - delta shape with peak of given width at midpoint - apply mapping delta to each element of fmat sqrabs - calulate square of absolute values of current values mod - calulate division remainder of current values on argument rect - convert complex polar vector to complex rectangular vector (matrix of 2 columns) polar - convert complex rectangular vector to complex polar vector (matrix of 2 columns) cmul <fmat: right operand> - multiply current values of complex vector by given scalar or complex vector fmat (element by element) cmul <num: right sclar operand> - multiply current values of complex vector by given scalar or complex vector fmat (element by element) cabs - calulate absolute values of current complex values clogabs - calulate logarithm of absolute values of current complex values clog - calulate lograrithm of current complex values cexp - calulate exponent function of current complex values csqrabs - calulate square of absolute values of current complex values fft - calulate inplace FFT of real or complex vector ifft - calulate inplace inverse FFT of complex vector rifft - calulate inplace real inverse FFT of complex vector xmul <fmat: operand> - calculate matrix multiplication of operand M with current matrix C so that C' = M x C dot <fmat: operand> - get dot product of column vector with given vector clip [<num: lower limit>] <num: upper limit> - clip values within given limits normalize [<num: abs max>] - normalize to given maximum absolute value [1] cumsum - calculate cumulative sum normsum [<num: sum>] - normalize sum [1] env <fmat: envelope> - multiply given envelope function to each column env <fvec: envelope> - multiply given envelope function to each column env <bpf: envelope> - multiply given envelope function to each column lookup <fmat: function> - apply function given by fmat to each value (by linear interpolation) lookup <fvec: function> - apply function given by fvec to each value (by linear interpolation) lookup <bpf: function> - apply function given by bpf to each value (by linear interpolation) apply <expr: expression> [<any: arguments> ...] - apply expression with given arguments to each value (using $self and $x) find <expr: expression> [<any: arguments to expression> ...] - leave indices where expression is true (use $x, $i and $self: the predefined super-local variable $x = the value of the element being tested, $i = its index, and $self ... = the reference to the fmat itself. Otherwise, only global definitions are visible within the expression.) sort - sort rows by ascending values of first column sort [<num: index of column>] - sort rows by ascending values of given column tros - sort rows by descending values of first column tros [<num: index of column>] - sort rows by descending values of given column unique - remove rows with repeated values in first column (sort before to leave only unique values) unique <int: column> remove rows with repeated values in given column (sort before to leave only unique values) rotate - rotate by one row rotate [<num: # of rows>] - rotate by given number of rows rotate [<num: # of rows>] [<num: # of cols>] - rotate rows and columns by given numbers reverse - reverse order of rows scramble - scramble rows randomly transpose - transpose column or row vector reshape - change matrix dimensions (without adapting content) import <sym: file name> [<list: additional args>] - import values from file (file type is derived from suffix) importas <sym: file type/suffix> <sym: file name> [<list: additional args>] - import values from file of given type export <sym: file name> [<any: additional args> ...] - export values to file (file type is derived from suffix) exportas <sym: file type/suffix> <sym: file name> [<any: additional args> ...] - export values to file of given type }