循环 cell2mat 以将元胞数组转换为数组
looping cell2mat to convert cell arrays to arrays
我有 4865 个 1
-by-1
元胞数组,我需要通过 cell2mat
将它们转换为普通数组。当我 运行 它时,我收到以下错误:
In an assignment A(I) = B, the number of elements in B and I must be the same.
for i=1:4865,
c(i) = cell2mat(A(i))
end
您不能将整个矩阵(位于一个单元格中)分配给一个索引
举个例子
>> cell_test ={[1 2 3;4 5 6],[1 2 3; 7 8 9]}
cell_test =
[2x3 double] [2x3 double]
你正在做的是这个
>> cell_test{1}
ans =
1 2 3
4 5 6
>> b(1) = cell_test{1}
Subscripted assignment dimension mismatch.
其中一个选项是通过 eval()
为每个新索引创建一个新变量名当然还有许多其他选项
>> i = 1
i =
1
eval(['B_',num2str(i) ,'=cell_test{i}'])
B_1 =
1 2 3
4 5 6
更新:结构方法B(i).data = =cell_test{i}
我有 4865 个 1
-by-1
元胞数组,我需要通过 cell2mat
将它们转换为普通数组。当我 运行 它时,我收到以下错误:
In an assignment A(I) = B, the number of elements in B and I must be the same.
for i=1:4865,
c(i) = cell2mat(A(i))
end
您不能将整个矩阵(位于一个单元格中)分配给一个索引
举个例子
>> cell_test ={[1 2 3;4 5 6],[1 2 3; 7 8 9]}
cell_test =
[2x3 double] [2x3 double]
你正在做的是这个
>> cell_test{1}
ans =
1 2 3
4 5 6
>> b(1) = cell_test{1}
Subscripted assignment dimension mismatch.
其中一个选项是通过 eval()
为每个新索引创建一个新变量名当然还有许多其他选项
>> i = 1
i =
1
eval(['B_',num2str(i) ,'=cell_test{i}'])
B_1 =
1 2 3
4 5 6
更新:结构方法B(i).data = =cell_test{i}