MATLAB: sparse matrices in matlab anamoly?

  • #1
102
0

Main Question or Discussion Point

In MATLAB, Why is sparse(rand(4)) not same as sprand(4)? Is it not supposed to be? What is the reason? Please see the interaction in MATLAB pasted below.

sprand(4)

ans =

(1,1) 0.8147

>> rand(4)

ans =

0.9058 0.0975 0.9649 0.4854
0.1270 0.2785 0.1576 0.8003
0.9134 0.5469 0.9706 0.1419
0.6324 0.9575 0.9572 0.4218

>> sparse(ans)

ans =

(1,1) 0.9058
(2,1) 0.1270
(3,1) 0.9134
(4,1) 0.6324
(1,2) 0.0975
(2,2) 0.2785
(3,2) 0.5469
(4,2) 0.9575
(1,3) 0.9649
(2,3) 0.1576
(3,3) 0.9706
(4,3) 0.9572
(1,4) 0.4854
(2,4) 0.8003
(3,4) 0.1419
(4,4) 0.4218
 

Answers and Replies

  • #2
1,452
1,305
You haven't understood the meaning of sparse matrices. Sparse matrices store only those values that are NOT zero. Thereby, they decrease memory allocation. Your rand(4) function call didn't return any 0 value, so using sparse function on the answer has no affect.
https://in.mathworks.com/help/matlab/ref/sparse.html
 

Related Threads on MATLAB: sparse matrices in matlab anamoly?

  • Last Post
Replies
2
Views
3K
  • Last Post
Replies
5
Views
4K
  • Last Post
Replies
2
Views
2K
Replies
3
Views
1K
  • Last Post
Replies
3
Views
3K
Replies
28
Views
54K
Replies
1
Views
3K
  • Last Post
Replies
2
Views
2K
Replies
2
Views
2K
Replies
1
Views
4K
Top