加载保存的元胞数组而不是结构
Loading a saved cell array not as struct
我有一个关于在 Matlab 中加载元胞数组的问题。我读过类似的问题,但其中 none 解决了我的问题!
我的工作区中有一个大小为 {400*350} 的元胞数组。我像往常一样保存了这个元胞数组:
save ('myoutput.mat','cell_array');
然后我尝试重新加载这个mat文件。我用过:
3D_coordinates = load ('myoutput.mat');
当这个 mat 文件加载到我的工作区时,它转换为大小为 1*1 的结构文件。我必须单击它,在结构文件内部有一个单元格。当我点击那个单元格时,我的整个单元格数组就出现了!这意味着我的整个单元格数组位于结构变量内的一个单元格中!然后我假设通过将结构转换为单元格我可以访问我的整个数组。
cell_array = struct2cell(3D_coordinates);
但没有任何改变!我的 cell_array 大小仍然是 1*1,里面有一个单元格,当我点击那个单元格时,整个单元格数组就会出现!!!
我想像保存之前一样直接访问工作区中的整个单元阵列!我该怎么做?
就这样:
coordinates = load('myoutput.mat');
cell_array = coordinates.cell_array
其中 coordinates
是加载 .mat 文件后得到的 struct
,cell_array
是包含的元胞数组的名称。
注意Matlab中的变量名不能以数字开头!
您可以使用 importdata
而不是 load
来保存一行并直接获取元胞数组:
cell_array = importdata('myoutput.mat')
我有一个关于在 Matlab 中加载元胞数组的问题。我读过类似的问题,但其中 none 解决了我的问题! 我的工作区中有一个大小为 {400*350} 的元胞数组。我像往常一样保存了这个元胞数组:
save ('myoutput.mat','cell_array');
然后我尝试重新加载这个mat文件。我用过:
3D_coordinates = load ('myoutput.mat');
当这个 mat 文件加载到我的工作区时,它转换为大小为 1*1 的结构文件。我必须单击它,在结构文件内部有一个单元格。当我点击那个单元格时,我的整个单元格数组就出现了!这意味着我的整个单元格数组位于结构变量内的一个单元格中!然后我假设通过将结构转换为单元格我可以访问我的整个数组。
cell_array = struct2cell(3D_coordinates);
但没有任何改变!我的 cell_array 大小仍然是 1*1,里面有一个单元格,当我点击那个单元格时,整个单元格数组就会出现!!! 我想像保存之前一样直接访问工作区中的整个单元阵列!我该怎么做?
就这样:
coordinates = load('myoutput.mat');
cell_array = coordinates.cell_array
其中 coordinates
是加载 .mat 文件后得到的 struct
,cell_array
是包含的元胞数组的名称。
注意Matlab中的变量名不能以数字开头!
您可以使用 importdata
而不是 load
来保存一行并直接获取元胞数组:
cell_array = importdata('myoutput.mat')