- 稀疏矩阵定义:
即其中只有很少非零元素的矩阵,这样的矩阵就成为稀疏矩阵,这种特性提供了矩阵存储空间和计算时间的优点,例如: A=[ 0 0 0 5; 0 2 0 0; 1 3 0 0; 0 0 4 0; ];
Sparse matrix :稀疏矩阵
- 稀疏矩阵的转换:
给出一个矩阵A,我们可以使用MATLAB函数sparse把它转换成稀疏矩阵,该函数语法为: 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 括号内的坐标是元素在矩阵中位置索引,坐标按照元素值排列
- 稀疏矩阵的获得:
函数sparse()的更常用的用法是用来产生稀疏矩阵,具体语法如下: S=vsparse(r,c,s,m,n) 其中r和c是我们希望产生的稀疏矩阵的矩阵中非零元素的行和列索引向量。参数s是一个向量,它包含索引对(r,c)对应的数值,m和n是结果矩阵的行维数和列维数。例如:
>> 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()函数,函数语法: A=full(s) 例如: >> a=full(s) a = 0 0 0 5 0 2 0 0 1 3 0 0 0 0 4 0
|