Sparse Matrix Builder
版本 1.0.0 (4.9 KB) 作者:
Carlos Souto
Build large sparse matrices faster in Matlab!
Sparse-Matrix-Builder
Build large sparse matrices faster in Matlab!
Usage:
% reset workspace
clear, clc, close all
% example sparse matrix:
% | 1.0 0.0 0.0 0.0 2.0 |
% | 0.0 3.0 0.0 4.0 0.0 |
% | 0.0 0.0 0.0 0.0 0.0 |
% | 9.0 2.0 0.0 0.0 2.0 |
% approach 1 (slower)
% add element by element
smb = SparseMatrixBuilder(4, 5);
smb.add_val(1, 1, 1.0);
smb.add_val(1, 5, 2.0);
smb.add_val(2, 2, 3.0);
smb.add_val(2, 4, 4.0);
smb.add_val(4, 1, 4.0); % notice that
smb.add_val(4, 1, 5.0); % repeated entries are added
smb.add_val(4, 2, 2.0);
smb.add_val(4, 5, 2.0);
smb.squeeze(); % release unused storage
sparse_matrix = smb.to_matlab()
% approach 2 (faster)
% add multiple elements
smb = SparseMatrixBuilder(4, 5);
smb.add_vals([1, 1, 2], [1, 5, 2], [1.0, 2.0, 3.0]);
smb.add_vals([2, 4, 4, 4], [4, 1, 1, 2], [4.0, 4.0, 5.0, 2.0]);
smb.add_val(4, 5, 2.0); % or smb.add_vals([4], [5], [2.0]);
smb.squeeze(); % release unused storage
sparse_matrix = smb.to_matlab()
% adding multiple values is faster than adding each value individually
Notice that repeated entries are added together.
It is faster to set multiple values at once using add_vals.
Nevertheless, this implementation should perform better than Matlab's sparse during a loop building process.
Test results
引用格式
Carlos Souto (2026). Sparse Matrix Builder (https://github.com/carlos-souto/Sparse-Matrix-Builder), GitHub. 检索时间: .
MATLAB 版本兼容性
创建方式
R2022b
兼容任何版本
平台兼容性
Windows macOS Linux标签
src
无法下载基于 GitHub 默认分支的版本
| 版本 | 已发布 | 发行说明 | |
|---|---|---|---|
| 1.0.0 |
|
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库。
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库。


