电竞比分网-中国电竞赛事及体育赛事平台

分享

MATLAB中稀疏矩陣轉(zhuǎn)換與生成

 Tehero 2014-01-12

分類:

  1. 稀疏矩陣定義:
    即其中只有很少非零元素的矩陣,這樣的矩陣就成為稀疏矩陣,這種特性提供了矩陣存儲空間和計(jì)算時(shí)間的優(yōu)點(diǎn),例如:
    A=[ 0 0 0 5;
        0 2 0 0;
        1 3 0 0;
        0 0 4 0; ];

    Sparse matrix :稀疏矩陣
  2. 稀疏矩陣的轉(zhuǎn)換:
    給出一個(gè)矩陣A,我們可以使用MATLAB函數(shù)sparse把它轉(zhuǎn)換成稀疏矩陣,該函數(shù)語法為:
              S=sparse(A)
    例如:
    >>   A=[ 0 0 0 5;
             0 2 0 0;
             1 3 0 0;
             0 0 4 0; ];
    >>   S=sparse(A)
         S=
             (3,1)  1
             (2,2)  2
             (3,2)  3
             (4,3)  4
             (1,4)  5
    括號內(nèi)的坐標(biāo)是元素在矩陣中位置索引,坐標(biāo)按照元素值排列     
  3. 稀疏矩陣的獲得:
    函數(shù)sparse()的更常用的用法是用來產(chǎn)生稀疏矩陣,具體語法如下:
                        S=vsparse(r,c,s,m,n)
    其中r和c是我們希望產(chǎn)生的稀疏矩陣的矩陣中非零元素的行和列索引向量。參數(shù)s是一個(gè)向量,它包含索引對(r,c)對應(yīng)的數(shù)值,m和n是結(jié)果矩陣的行維數(shù)和列維數(shù)。例如:

    >> s=sparse( [3 2 3 4 1 ],[ 1 2 2 3 4 ],[1 2 3 4 5],4,4)
    s =
       (3,1)        1
       (2,2)        2
       (3,2)        3
       (4,3)        4
       (1,4)        5
    如果要獲得完成的矩陣,可以使用full()函數(shù),函數(shù)語法:
       A=full(s)
    例如:
    >> a=full(s)
    a =
         0     0     0     5
         0     2     0     0
         1     3     0     0
         0     0     4     0

 


    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多