我在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,在其中,有单元格,当我点击那个单元格时,整个我的单元格数组都会出现! 我想直接访问我的工作区中的整个单元格数组,就像保存之前一样!我怎么能这样做?
答案 0 :(得分:3)
只是做:
coordinates = load('myoutput.mat');
cell_array = coordinates.cell_array
其中coordinates
是加载.mat文件后得到的struct
,而cell_array
是包含的单元格数组的名称。
请注意,Matlab中的变量名称不能以数字开头!
您可以使用importdata
代替load
来保存一行,然后直接转到单元格数组:
cell_array = importdata('myoutput.mat')