Sparse Matrix Builder
Version 1.0.0 (4,87 ko) par
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
Citation pour cette source
Carlos Souto (2026). Sparse Matrix Builder (https://github.com/carlos-souto/Sparse-Matrix-Builder), GitHub. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Créé avec
R2022b
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS LinuxTags
Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
src
Les versions qui utilisent la branche GitHub par défaut ne peuvent pas être téléchargées
| Version | Publié le | Notes de version | |
|---|---|---|---|
| 1.0.0 |
|
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.


