加载已保存的单元格数组而不是结构

时间:2015-01-27 12:25:38

标签: matlab

我在Matlab中有一个与加载单元格数组有关的问题。我已经阅读了类似的问题,但没有一个能解决我的问题! 我的工作区中有一个大小为{400 * 350}的单元格数组。我像往常一样保存了这个单元格数组:

save ('myoutput.mat','cell_array');

然后我尝试重新加载这个mat文件。我用过:

3D_coordinates = load ('myoutput.mat');

当在我的工作空间中加载此mat文件时,它将转换为大小为1 * 1的struct文件。我必须点击它,在结构文件里面有一个单元格。当我点击那个单元格时,我的整个单元格阵列都出现了!这意味着我的整个单元格数组位于结构变量的单元格中!然后我假设通过将结构转换为单元格,我可以访问我的整个数组。

cell_array = struct2cell(3D_coordinates);

但没有改变!我的cell_array大小仍然是1 * 1,在其中,有单元格,当我点击那个单元格时,整个我的单元格数组都会出现! 我想直接访问我的工作区中的整个单元格数组,就像保存之前一样!我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

只是做:

coordinates = load('myoutput.mat');
cell_array = coordinates.cell_array

其中coordinates是加载.mat文件后得到的struct,而cell_array是包含的单元格数组的名称。

请注意,Matlab中的变量名称不能以数字开头!


您可以使用importdata代替load来保存一行,然后直接转到单元格数组:

cell_array = importdata('myoutput.mat')