2011-06-14 5 views
3

그래프의 인접 가중 행렬이 있습니다. 나는 matlabbgl libaray의 bellman ford 알고리즘을 호출하고 싶다. 행렬을 스파 스 형식으로 변환하려면 어떻게해야합니까? 당신은 하나의 인수와 함께 스파 스 기능을 사용하여 스파 스 스토리지에 전체 행렬을 변환 할 수 있습니다전체 행렬에서 희소 행렬로 변환

을 드문 드문하는 전체 변환

+1

[sparse] (http://www.mathworks.com/help/techdoc/ref/sparse.html)를 호출 할 수 있습니까? – oleksii

+0

유용하다고 판단되면 답변을 받아야하며 (거기에 체크 표시가 있음) upvotes를 사용해야합니다. 더 많은 답변을 얻는 데 도움이 될 것입니다. – Rishabh

답변

3

. 예

A = [ 0 0 0 5 
     0 2 0 0 
     1 3 0 0 
     0 0 4 0]; 
S = sparse(A) 

들어

S = sparse(A) 

S = 

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

출력물들이 행 및 열 인덱스와 함께, S의 제로가 아닌 요소를 나열되어 생성한다. 요소는 내부 데이터 구조를 반영하여 열별로 정렬됩니다. 행렬 순서가 너무 크지 않으면 전체 함수를 사용하여 스파 스 행렬을 전체 저장으로 변환 할 수 있습니다. 예를 들어 A = full (S)은 예제 변환을 되돌립니다. 전체 행렬을 스파 스 저장으로 변환하는 것이 스파 스 행렬을 생성하는 가장 일반적인 방법은 아닙니다. 행렬의 순서가 충분히 작아서 전체 저장이 가능하면 스파 스 저장으로의 전환은 거의 절약되지 않습니다.

관련 문제