几个星期前我曾问过一个类似的问题,但我认为这个问题没有正确处理,所以请原谅我再次提出同样的问题
我有一个值为
的列向量32.5
25.8
25.91
25.92
16.52
16.7
现在我要创建一个单元格数组,使我的第一个单元格包含第一个值,第二个单元格数组包含25.8到25.92之间的值,最后我的第三个单元格数组包含值16.52和16.7。
我该如何解决这个问题。
答案 0 :(得分:0)
由于您没有解释为什么要分割矢量,我假设指定的除法是任意的。假设v是列向量,以下应该做你想要的:
c = {v(1) v(2:4) v(5:6)};
基本上你是用原始部分构建三个新的向量,并将它们组合成一个单元格数组。
答案 1 :(得分:0)
这是for
循环的方式。
A = [...
32.5
25.8
25.91
25.92
16.52
16.7];
[U,~,ic] = unique(floor(A));
B = cell(length(U),1); % Result
for k = 1:length(A)
B{ic(k)} = [B{ic(k)} A(k)];
end
感谢unique
命令,结果甚至已经排序。