小编Sai*_*rus的帖子

Matlab表/数据集类型优化

我正在为Matlab中的"观察变量"表搜索一些优化的数据类型,这些数据类型可以通过列(通过变量)和行(通过观察)快速轻松地访问.

这是现有Matlab数据类型的比较:

  1. 矩阵非常快,hovewer,它的维度没有内置的索引标签/枚举,你不能总是按列索引记住变量名.
  2. 具有非常糟糕的性能,尤其是在for循环中读取单个行/列时(我认为它运行一些慢转换方法,并且设计为更像Excel).
  3. 标量结构(列数组的结构)数据类型 - 作为向量快速逐列访问变量,但是慢慢地逐行转换为观察.
  4. 非标量结构(结构数组) - 快速逐行访问观察值作为向量,但缓慢的逐列转换为变量.

我想知道我是否可以使用一些更简单和优化的Table数据类型,如果我只想将行数和列变量索引与只有数值变量-OR-任何变量类型相结合.

测试脚本的结果:

----
TEST1 - reading individual observations
Matrix: 0.072519 sec
Table: 18.014 sec
Array of structures: 0.49896 sec
Structure of arrays: 4.3865 sec
----
TEST2 - reading individual variables
Matrix: 0.0047834 sec
Table: 0.0017972 sec
Array of structures: 2.2715 sec
Structure of arrays: 0.0010529 sec
Run Code Online (Sandbox Code Playgroud)

测试脚本:

Nobs = 1e5; % number of observations-rows
varNames = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O'};
Nvar = numel(varNames); % number of variables-colums …
Run Code Online (Sandbox Code Playgroud)

matlab tuples matrix dataset data-structures

11
推荐指数
1
解决办法
1271
查看次数

标签 统计

data-structures ×1

dataset ×1

matlab ×1

matrix ×1

tuples ×1