日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三元组顺序表表示的稀疏矩阵加法_Matlab入门教程 第 2 章 Matlab矩阵处理之稀疏矩阵...

發布時間:2025/3/19 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三元组顺序表表示的稀疏矩阵加法_Matlab入门教程 第 2 章 Matlab矩阵处理之稀疏矩阵... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2.5 稀疏矩陣

2.5.1 矩陣的存儲方式

  • 完全存儲方式
  • 稀疏存儲方式
    • 稀疏存儲方式只存儲矩陣的非零元素的值及其位置,即行號和列號。
?

注意:采用稀疏存儲方式時,矩陣元素的存儲順序并沒有改變,也是按列的順序進行存儲。

?

舉例:

舉例

2.5.2 稀疏存儲方式的產生

(1)完全存儲方式與稀疏存儲方式之間的轉化

  • A = sparse(S):將矩陣 S 轉化為稀疏存儲方式的矩陣 A
  • S = full(A):將矩陣 A 轉化為完全存儲方式的矩陣 S
>>?A?=?sparse(eye(5))

A?=

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

>>?B?=?full(A)

B?=

?????1?????0?????0?????0?????0
?????0?????1?????0?????0?????0
?????0?????0?????1?????0?????0
?????0?????0?????0?????1?????0
?????0?????0?????0?????0?????1

>>?whos
??Name??????Size????????????Bytes??Class?????Attributes

??A?????????5x5???????????????128??double????sparse????
??B?????????5x5???????????????200??double???????????

(2)直接建立稀疏存儲矩陣

sparse 函數的其他調用格式:

  • sparse(m,n):生成一個 m??n 的所有元素都是零的稀疏矩陣
  • sparse(u,v,S):其中 u、v、S 是 3 個等長的向量。S 是要建立的稀疏存儲矩陣的非零元素,u(i)、v(i) 分別是 S(i) 的行和列下標
>>?A?=?sparse([1,2,2],[2,1,4],[4,5,7])

A?=

???(2,1)????????5
???(1,2)????????4
???(2,4)????????7

>>?B?=?full(A)

B?=

?????0?????4?????0?????0
?????5?????0?????0?????7

使用 spconvert 函數直接建立稀疏存儲矩陣,其調用格式為:B = spconvert(A)

A 為一個 m ?? 3 或 m ?? 4 的矩陣,其每行表示一個非零元素,m 是非零元素的個數

  • A(i,1) 表示第 i 個非零元素所在的行
  • A(i,2) 表示第 i 個非零元素所在的列
  • A(i,3) 表示第 i 個非零元素值的實部
  • A(i,4) 表示第 i 個非零元素值的虛部

若矩陣的全部元素都是實數,則無須第 4 列

>>?A?=?[2,2,1;2,1,-1;2,4,3]

A?=

?????2?????2?????1
?????2?????1????-1
?????2?????4?????3

>>?B?=?spconvert(A)

B?=

???(2,1)???????-1
???(2,2)????????1
???(2,4)????????3

(3)帶狀稀疏矩陣的稀疏存儲

稀疏矩陣有兩種基本類型:無規則結構的稀疏矩陣與有規則結構的稀疏矩陣

帶狀稀疏矩陣是指所有非零元素集中在對角線上的矩陣。

image-20201015151353520>>?A?=?[11,0,0,12,0,0;0,21,0,0,22,0;0,0,31,0,0,32;41,0,0,42,0,0;0,51,0,0,52,0]

A?=

????11?????0?????0????12?????0?????0
?????0????21?????0?????0????22?????0
?????0?????0????31?????0?????0????32
????41?????0?????0????42?????0?????0
?????0????51?????0?????0????52?????0

>>?[B,d]?=?spdiags(A)

B?=

?????0????11????12
?????0????21????22
?????0????31????32
????41????42?????0
????51????52?????0


d?=

????-3
?????0
?????3

>>?A?=?spdiags(B,d,5,6)

A?=

???(1,1)???????11
???(4,1)???????41
???(2,2)???????21
???(5,2)???????51
???(3,3)???????31
???(1,4)???????12
???(4,4)???????42
???(2,5)???????22
???(5,5)???????52
???(3,6)???????32

(4)單位矩陣的稀疏矩陣

  • Speye(m,n) 返回一個 m × n 的稀疏存儲單位矩陣
>>?speye(3)

ans?=

???(1,1)????????1
???(2,2)????????1
???(3,3)????????1

2.5.3 稀疏矩陣的應用實例

題目>>?kf1?=?[1;1;2;1;0];
>>?k0?=?[2;4;6;6;1];
>>?k1?=?[0;3;1;4;2];
>>?B?=?[kf1,k0,k1];
>>?d?=?[-1;0;1];
>>?A?=?spdiags(B,d,5,5);
>>?f?=?[0;3;2;1;5];
>>?x?=?A\f

x?=

???-0.1667
????0.1111
????2.7222
???-3.6111
????8.6111
與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的三元组顺序表表示的稀疏矩阵加法_Matlab入门教程 第 2 章 Matlab矩阵处理之稀疏矩阵...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。