0

次のようなデータセットがあります。

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) を出力する必要があります。

4

1 に答える 1

0

役立つ疑似コードがいくつかあると思います。

1 つには、列を削除してマトリックスを変更しません。むしろ、使用された列のリストを保持します。

次のように合計を使用します。

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
于 2012-11-03T18:24:17.703 に答える