matlab代码循环运行
SparseMatrix
Implement
the
storage
and
operation
of
sparse
matrix
in
matlab.
按行三数组与全存储相互转换
全存储转换为三数组
通过两个for循环将全矩阵转换为按行三数组存储模式,时间复杂度为$O(n^2)$,运行结果见下图,转换结果的正确性可以通过后续运算过程体现出来
三数组转换为全存储
通过两个for循环,其中一个for循环对行遍历,然后第二个for循环对该行非零元素(含对角元)进行遍历。假设每行非零元分布大体均匀,于是时间复杂度为$O(n\times
\frac{N}{n})
=
O(N)$,考虑极端情况,时间复杂度为$O(n\times
N)$。
运行结果如下图所示,转换结果的正确性可以通过后续运算过程体现出来。
按行三数组与Matlab稀疏存储
Matlab稀疏存储转换为按行三数组存储
首先通过对非零行元素从小到大排序,然后对非零元按行进行遍历进而online转换为三数组存储,对某行全空对对角元进行操作,因为是online的,所以可以判断时间复杂度为$O(n)$
运行结果如下图
2021-09-25 14:49:19
129KB
系统开源
1