如何更改单元格数组中单个单元格的维度?(MATLAB)
我一直在寻找一个解决方案,但我相信这是因为我有一些语法不正确。在下面的代码段中,“maxBlobs”的值是5。“colCount”是整数的单元格数组如何更改单元格数组中单个单元格的维度?(MATLAB),matlab,Matlab,我一直在寻找一个解决方案,但我相信这是因为我有一些语法不正确。在下面的代码段中,“maxBlobs”的值是5。“colCount”是整数的单元格数组 % create cell array with 1 row, columns = number of occurences per cell, maxBlobs # of cells likeCent=cell(1,1,maxBlobs); % to store like blob count centroids for i = 1:maxB
% create cell array with 1 row, columns = number of occurences per cell, maxBlobs # of cells
likeCent=cell(1,1,maxBlobs); % to store like blob count centroids
for i = 1:maxBlobs % cell tracker
val = colCount{1,1,i};% grabs number of occurences at this cell
likeCent{1,1,i} = likeCent{1,val,i};
end
我的目标是将'likeCent{}'中每个单元格'i'内的列数从1更改为从'colCount'中的'i'第个单元格提取的相应值
谢谢大家! 我不明白你想做什么
likeCent
是一个1x5x5阵列。您正试图用如ecent{1,val,i}
对其进行索引,除非val
为1,否则索引将失败。我想你对细胞阵列有误解。单元数组是普通数组,但它存储的元素本身就是数组。不能更改数组中一列的大小,可以更改数组的大小,也可以更改单元格数组中包含的数组的大小。为了进一步帮助你,我需要更好地理解你想要实现的目标。@CrisLuengo啊,好的,谢谢你澄清这一点。我基本上要做的是创建一个由5个单元格组成的单元格数组,我将用val
number个空数组或占位符填充该数组。因此,我在代码中的思维过程是以某种方式遍历likeCent
中的每个单元格,并将其替换为val
数组数。谢谢你的帮助!每个单元格包含一个数组,如果每个单元格中需要val
不同的数组,则必须在单元格数组中收集它们。因此,您将对进行索引,如ecent{1,1,i}{1:val}=[]
。但是,如果所有val
数组的大小相同,则它们可以是单个数组,这样效率更高。