각 행에 대해 지정된 열 인덱스에 따라 동작을 수행하여 행렬의 행 수를 줄이고 싶습니다. 다음 예제 데이터 주어 :각 행에 대한 열 인덱스를 기반으로 행렬의 각 행을 효율적으로 축소 할 수 있습니다.
M = magic(4);
col_ind = [1; 3; 2; 4];
제가 첫번째 열은 지정된 열 인덱스까지의 각 행의 로우 합을 포함하도록 3 열로 매트릭스를 확인하고자를 두 번째 열 M
값을 포함 그 행에서 열 인덱스에 의해 지정하고, 마지막 열은 행에있는 엔트리의 나머지의 행의 합을 포함, 즉 매트릭스 M_out
생산 :
M_out = nan(4,3);
for i = 1:4
M_out(i, :) = [sum(M(i, 1:col_ind(i)-1), 2), ...
M(i, col_ind(i)), sum(M(i, col_ind(i)+1:end), 2)];
end
되도록 :
>> M_out
M_out =
0 16 18
16 10 8
9 7 18
33 1 0
을
체크 아웃'tril','diag','cumsum'와'bsxfun'. –
아 그래, 선형 인덱싱을 사용하여 행 건너편에 cumsum을 사용하는 방법을 알 수있다. – Alex