Utilities for acting on tables of data, that are agnostic to the implementation (dataset or struct)
|4 Apr 2013||per isakson||
This link is broken
However, https://github.com/notbanker/markov/blob/master/+table/README.md works.
|5 Jan 2013||umma||
it will useful
|4 Jan 2013||Peter Cotton||
Defn: Let us say that a "tabular struct" is a matlab struct where every field has the same number of rows
Defn: A "table" is either
i) a matlab dataset, or
Defn: A "table field" or simply "field" refers to a field in a table, whether or not it takes the form of a dataset or a struct.
The Table Toolbox provides functionality that is agnostic to choice of i) or ii). Both forms of table imply a list of field names TABLE.FIELDNAMES(ds) and a collection of records analogous to a database table.
This toolbox does not impose a new table class, prefering home-spun polymorphism in TABLE.FIELDNAMES, TABLE.SIZE, TABLE.SELECT.ROWS and TABLE.RMFIELD.
The Table Toolbox explores a paradigm for organizing multiple calculations involving potentially large tables, and exploiting the parallel toolbox in a moderately efficient way. To this end:
Defn: A "table operator", or simply "operator" is a function that modifies a table without altering the number of rows.
Defn: A "field immutability respecting operator" or simply "immutable operator" is an operator that does not alter entries in existing fields, unless it deletes the entire field outright.
Defn: A "partition respecting operator" is one that permits simple parallelization on groups
Given a partition, generated by TABLE.FEVAL.EQUALPARTITION or otherwise, any collection of partition respecting operators can be passed to TABLE.FEVAL.SEQUENTIAL, which parallelizes the computation using parfor. Additionally, any collection of operators that all respect both