我有4865个1
- by - 1
单元格数组,我需要通过cell2mat
将它们转换为普通数组。当我运行它时,我收到以下错误:
在赋值A(I)= B中,B和I中的元素数必须相同。
for i=1:4865,
c(i) = cell2mat(A(i))
end
答案 0 :(得分:1)
您不能将整个矩阵(在单元格中)分配给一个索引
让我们采取以下示例
>> 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}