06-14.txt

来自「matlab7入门教程」· 文本 代码 · 共 59 行

TXT
59
字号
例6-14  用sparse函数将满矩阵转化为稀疏矩阵。
解:在命令窗口中输入如下命令,并按Enter键确认。
>>  i=[5 2 4 7 1 3 2 6];
>>  j=[2 4 3 7 2 5 1 8];
>>  s=[8 1 0 5 1 2 4 3];
>>  X=diag(s,-2)
X =
     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0
     8     0     0     0     0     0     0     0     0     0
     0     1     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0
     0     0     0     5     0     0     0     0     0     0
     0     0     0     0     1     0     0     0     0     0
     0     0     0     0     0     2     0     0     0     0
     0     0     0     0     0     0     4     0     0     0
     0     0     0     0     0     0     0     3     0     0
>> S=sparse(X)
S =
   (3,1)        8
   (4,2)        1
   (6,4)        5
   (7,5)        1
   (8,6)        2
   (9,7)        4
  (10,8)        3
>>  S1=sparse(i,j,s,10,10,7)
??? Error using ==> sparse
Index exceeds matrix dimensions.

>>  S1=sparse(i,j,s,10,10,8)            %注意nzmax的值的设定,如此处就不能是7
S1 =
   (2,1)        4
   (1,2)        1
   (5,2)        8
   (2,4)        1
   (3,5)        2
   (7,7)        5
   (6,8)        3
>>  S1=sparse(i,j,s,10,9)                %此处nzmax = length(s)。
S1 =
   (2,1)        4
   (1,2)        1
   (5,2)        8
   (2,4)        1
   (3,5)        2
   (7,7)        5
   (6,8)        3
>> S1=sparse(i,j,s)                      %此处m = max(i) ,n = max(j)
S1 =
   (2,1)        4
   (1,2)        1
   (5,2)        8
   (2,4)        1
   (3,5)        2
   (7,7)        5
   (6,8)        3
>> 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?