私は行列Aを持っています
1 1 0 0
0 1 0 0
1 0 0 1
0 0 1 0
0 0 0 0
0 1 1 1
1 1 0 0
1 0 0 0
0 0 0 1
このマトリックスをユーザーの入力に従って分割したいd = [1 2 3].
for i=2:length(d)
d(i) = d(i) + d(i-1); % d = [1 3 6]
end
これにより が得られd = [1 (1+2) (1+2+3)] = d[1 3 6]
ます。この行列には 9 行ありceil
、[(1/6)*9]
と [(3/6)*9]
を計算し[(6/6)*9]
ます。したがって、これにより、[2 5 9].
最初の分割は最初の 2 行、2 番目の分割は次の (5-2=3) 3 行、3 番目の分割は (9-5=4) 4 行になります。
出力は次のようになります。
分割は次のとおりです。最初の分割->
1 1 0 0 % first 2 rows in matrix A
0 1 0 0
二度目の分裂→
1 0 0 1 % next 3 rows
0 0 1 0
0 0 0 0
3度目の分裂→
0 1 1 1 % next 4 rows
1 1 0 0
1 0 0 0
0 0 0 1