我有4865 1
-by- 1
单元格数组,我需要通过cell2mat
将它们转换为普通数组。当我运行它,我得到以下错误:循环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
我有4865 1
-by- 1
单元格数组,我需要通过cell2mat
将它们转换为普通数组。当我运行它,我得到以下错误:循环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()
为每一个新的索引创建一个新的变量名称,如ofcourse有许多其他的选择
>> 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}
你有4000个电池阵列或一个单元有4000个元素的数组? “A”是一个有4865个元素的单元阵列,每个元素由一个'1'-by-'1'单元阵列组成?每个细胞中都有什么? – Dan
您无法将整个矩阵转换为矢量的单个元素 – Umar
您能告诉我们您的初始单元格数组实际包含的是什么? – Suever