2013-10-14 2 views
1

Matlab의 희소 배열에서 행 - 열 위치를 간단하게 재정렬하는 방법이 있는지 아는 사람 있습니까?Matlab Sparse Array Index 재 할당

나는 분석하려고하는 그래프의 인접 행렬에 해당하는 드문 드문 한 배열을 가지고 있으며 계산 된 메트릭에 의해 그래프에서 정점을 재정렬하고 싶다. 구성)

누구든지이 작업을 수행하는 방법에 대한 제안이 있습니까? 저는 Matlab을 처음 사용하고 있으며 Matrix 조작을 위해 가지고있는 모든 도구에 대해 아직 완전히 이해하고 있지 않습니다.

+0

당신은 행 및/또는 열 순서를 메트릭을 사용하려는 방법을 명확히하고 바랍니다. – chappjc

답변

0

스파 스 매트릭스를 사용하면 일반 매트릭스와 동일한 방법으로 입력 값을 할당 할 수 있습니다. 예 :

>> a = sparse(1:2, 3:4, [1 1], 4, 5, 7) 

a = 

    (1,3)  1 
    (2,4)  1 

a(1,3) = 0; a(1,2) = 1; % move the "1" from (1,3) to (1,2) 

>> a 

a = 

    (1,2)  1 
    (2,4)  1 

전체 열이나 행을 할당 할 수도 있습니다. 예를 들어,이 열 2와 3을 바꿉니다 : 당신은 그냥 주위 또는 _entire_ 행/열 개별 요소를 이동하려면

aux = a(:,3); 
a(:,3) = a(:,2); 
a(:,2) = aux;