Sparse 3D matrix
18 次查看(过去 30 天)
显示 更早的评论
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 个评论
Guillaume
2018-7-11
@TR RAO, You've already asked this question a day earlier. No matter how many times you asked, the answer will be the same.
回答(1 个)
Matt J
2018-7-11
编辑:Matt J
2018-7-11
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
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!