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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Matlab稀疏矩阵

發布時間:2025/4/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab稀疏矩阵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SPARSE函數

?

S = sparse(A)???----->???把全矩陣轉換為稀疏矩陣

?

S = sparse(i,j,s,m,n,nzmax)???----->???標準形式

?

S = sparse(i,j,s,m,n), nzmax=length(s)

?

S = sparse(i,j,s), m = max(i), n = max(j)

?

S = sparse(m,n) == sparse([],[],m,n,0)

?

————————————————————————————————

備注: s 通常為一維向量 如 s = ones(N,1) 或 s = ones(1,N);

??????????若為多維向量 sparse函數也不會報錯 因為s 會自動降維,這里需要注意matlab的序號排列規則;

??????????其規則為 列優先,以二位矩陣為例如:

??????????a(1)??a(n+1)??... a(mn+1)

??????????a(2)??a(n+2)??...?a(mn+2)

??????????...????...????...???...

??????????a(n)??a(n+n)??...?a(mn+n)

?

??????i,j 規則同上,因此 sparse(i,j,s) 實際意義為 a[i,j]= s(k),s中的第k個數,位于角標i,j的位置上

?

例如:?????e = [1 3 5; 2 4 6];???????????????????% e為2D矩陣

????????????D = =sparse(1:6,[2:6 1],e,6,6);???????% 稀疏為6*6的矩陣

????????????full(D)???????????????????????????????% 滿矩陣顯示

_______________________________________________

e =

?????1?????3?????5
?????2?????4?????6

D =

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

full(D)?=

?????0?????1?????0?????0?????0?????0
?????0?????0?????2?????0?????0?????0
?????0?????0?????0?????3?????0?????0
?????0?????0?????0?????0?????4?????0
?????0?????0?????0?????0?????0?????5
?????6?????0?????0?????0?????0?????0

_____________________________________________________

?

sparse用法: 在有限差分計算中,考慮4階差分算法,其稀疏矩陣為

以6*6矩陣為例:

ans =

???????0????????????2/3??????????-1/12???????????0????????????1/12?????????-2/3????
?????-2/3????????????0????????????2/3??????????-1/12???????????0????????????1/12???
??????1/12?????????-2/3????????????0????????????2/3??????????-1/12???????????0?????
???????0????????????1/12?????????-2/3????????????0????????????2/3??????????-1/12???
?????-1/12???????????0????????????1/12?????????-2/3????????????0????????????2/3????
??????2/3??????????-1/12???????????0????????????1/12?????????-2/3????????????0???

觀察此矩陣,對角線系數為0,下三角第二對角線 -2/3,第三對角線 1/12, 末尾兩位-1/12,2/3

算法:

N =6;

e = ones(N,1);
D = sparse(1:N,[2:N 1],2*e/3,N,N)...?????????% 生成第二對角線的 2/3 和末尾第一位的 2/3
- sparse(1:N,[3:N 1 2],e/12,N,N);????????????% 生成第三對角線的 -1/12 和末尾第二位的 -1/12
D = (D-D');??????????????????????????????????% 生成上三角陣

rats(D)??????????????????????????????????????% 全矩陣分數格式顯示矩陣 D

?

差分算法 W = D*u/h???W,u均為列向量,h是間距

總結

以上是生活随笔為你收集整理的Matlab稀疏矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。

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