文件名称:matlab代码循环运行-SparseMatrix:在Matlab中实现稀疏矩阵的存储和运算
文件大小:129KB
文件格式:ZIP
更新时间:2024-06-12 05:44:11
系统开源
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)$ 运行结果如下图
【文件预览】:
SparseMatrix-master
----mymultivector.m(673B)
----myminus.m(254B)
----mymulti2.m(2KB)
----myfull2sparse.m(617B)
----LICENSE(34KB)
----myadd.m(1KB)
----README.md(5KB)
----mymatsp2sp.m(1KB)
----mysp2matsp.m(728B)
----image()
--------zero.png(13KB)
--------matsp2sp.png(4KB)
--------mysp2full.png(3KB)
--------multivector_result1.png(11KB)
--------plus.png(15KB)
--------sp2matsp.png(3KB)
--------transform.png(13KB)
--------multi_result2.png(4KB)
--------add.png(13KB)
--------minus_result.png(12KB)
--------multi_result3.png(12KB)
--------multi_result1.png(12KB)
--------full2sp.png(3KB)
----check.mat(187B)
----myplus.m(579B)
----myzero.m(702B)
----data.mat(605B)
----mysparse2full.m(492B)