我有一个类似于以下内容的数据集:
a = [1 11; 2 16; 3 9; 4 13; 5 8; 6 14];
我希望按以下标准分成几个矩阵:
从第一列开始,构造集合,其中第二行的总和在19
- 到 - 25
范围内。
所以输出会是这样的:
a1 = [1 11; 3 9]
a2 = [2 16; 5 8]
a3 = [6 14]
其中a1 = 20,a2 = 24,a3不符合标准但是最后一个。
这可以包含并从FOR循环输出吗?
编辑:如何组合的标准:我希望从头开始(第一行)并添加到下一行。如果总和大于25,则将跳过该行直到下一次迭代。每次迭代都应输出一个单独的矩阵(a1,a2,a3)。
答案 0 :(得分:0)
我想我有一些有用的伪代码。
对于一个我不会通过删除列来修改矩阵。相反,我会保留一个使用列的列表。
我会使用这样的求和:
used = false(1,num lines)
for i=1:num lines
if used(i) continue
curr_use = i
for j=i+1
if used(j) continue
if cant_add(j) continue
Concat j to curr_use
end
used(curr_use) = true
end