MATLAB MATLAB: sparse matrices in matlab anamoly?

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
 

Wrichik Basu

Gold Member
2018 Award
1,027
882
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.
 

Want to reply to this thread?

"MATLAB: sparse matrices in matlab anamoly?" You must log in or register to reply here.

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top