Sparse 3D matrix

21 visualizaciones (últimos 30 días)
TR RAO
TR RAO el 11 de Jul. de 2018
Comentada: TR RAO el 11 de Jul. de 2018
Suppose I have a sparse matrix F of order 4 x 4. Now I want to store this sparse matrix in 3d matrix. What is the syntax for this representation. that is I want to assign A(:, :,1) = F. Since F is sparse it is showing an error. But if I assign A(:, :,1) = full(F), then it is working. But in that case F is not sparse. F consists of many zeros. Kindly tell me how to assign a sparse matrix in a 3d matrix.
  3 comentarios
Guillaume
Guillaume el 11 de Jul. de 2018
@TR RAO, You've already asked this question a day earlier. No matter how many times you asked, the answer will be the same.
TR RAO
TR RAO el 11 de Jul. de 2018
Sir, Thank You Sir. Yesterday I could not understand after reading sparse matrices. Now I understood.

Iniciar sesión para comentar.

Respuestas (1)

Matt J
Matt J el 11 de Jul. de 2018
Editada: Matt J el 11 de Jul. de 2018
You can't hold a normal Matlab 3D array in sparse form, but you can do it with my ndSparse class (Download), as long as you're mindful of the limitations.
Afull=cat(3,eye(4),diag([14,0,0,27])); %example
Afull(2,3,2)=52;
F=sparse(diag([20,0,40,50])); %example
>> A=ndSparse(Afull); A(:,:,1)=F,
A(:,:,1) =
(1,1) 20
(3,3) 40
(4,4) 50
A(:,:,2) =
(1,1) 14
(2,3) 52
(4,4) 27
>> whos A Afull
Name Size Bytes Class Attributes
A 4x4x2 160 ndSparse
Afull 4x4x2 256 double

Categorías

Más información sobre Sparse Matrices en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by