有没有一种方法可以将.csv文件中的数据存储区作为高数组而不是MATLAB中的高表获取?

时间:2019-07-15 07:28:36

标签: matlab performance csv

我开始处理大量的数据(来自于神经元培养的多电极阵列),这些数据太大而无法放入RAM。因此我开始使用高脚桌,但性能却很差。

当前,我的工作程序是使用datastore加载.csv文件,然后使用tall存储该文件。

不幸的是,当我想用​​gather将特定数据加载到RAM时,它非常慢;我想我将需要整整一个星期来分析一个实验。

% get the file as tall table:

ds = datastore(fullfile(filepath,filename));
data = tall(ds);

% here is the bottleneck:

temp = data((i-1)*interval+2:interval*i+1,el); % specify one data column
tempTab = gather(temp); 

我了解到,与MATLAB中的矩阵相比,表的性能较差,所以我想知道是否有可能从数据存储区中以高数组而不是高表的形式获取数据?

1 个答案:

答案 0 :(得分:0)

由于我想在所有行上都应用一个Butterworth过滤器,所以我需要一个解决方案来遍历数据。

将函数应用于高大数组的可能性很大,因此我可以简单地执行以下操作:

filteredData = table2array(filterElectrode(ta(:,i))