Sparse Matrix, struct, structure, Using cell arrays
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Abhishek Gupta
am 30 Okt. 2020
Beantwortet: Abhishek Gupta
am 30 Okt. 2020
A sparse matrix is a large Matrix with almost all elements of the same value (typically zero). The normal representation of a spark Matrix takes up lots of memory when useful information can be captured with much less. A possible way to represent a sparse matrix is with a cell vector whose first element is a 2-element vector representing the size of the sparse matrix. The second element is a scalar specifying the default value of the sparse matrix. Each successive element of the cell vector is a 3-element vector representing one element of sparse matrix that has a value other than default. The three elements row index, the column index and the actual value. Write a function called sparse2matrix that takes a single input of a cell vector as defined above and returns the output argument called matrix, the matrix in its traditional form. Consider the following run:
cellvec = {[2 3], 0, [1 2 3], [2 2 -3]};
matrix = sparse2matrix(cellvec)
matrix =
0 3 0
0 -3 0
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (1)
Aramis
am 7 Mai 2024
function matrix = sparse2matrix(cellvec)
matrix = ones(cellvec{1}) * cellvec{2};
for x=3:length(cellvec)
matrix(cellvec{x}(1),cellvec{x}(2)) = cellvec{x}(3);
end
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!