MATLAB 稀疏矩阵
%零元素个数远远多于非零元素的个数的矩阵 %矩阵的存储方式 %稀疏存储方式:只存储矩阵的非零元素的值及其位置,即行号和列号。 %A=sparse(S):将矩阵S转化为稀疏存储方式的矩阵A。 %S=full(A):将矩阵A转化为完全存储方式的矩阵S
代码:
A=sparse(eye(5))
B=full(A)
whos
%直接建立稀疏存储矩阵 %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])
B=full(A)
代码:
A=[2,2,1;2,1,-1;2,4,3]
B=spconvert(A)
稀疏矩阵的应用举例:
%稀疏矩阵的应用举例
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
|