MATLAB Answers

Why am I unable to use the RESHAPE function to convert a sparse vector to a three-dimensional matrix in MATLAB?

5 views (last 30 days)
I create the following sparse vector:
A = sparse([1:24]);
Then I use the RESHAPE function to convert it to a 2-by-3-by-4 matrix:
B = reshape(A,2,3,4);
However when I check the size of the result matrix, it is not what I am expecting:
ans =
2 12

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
MATLAB only supports two-dimensional sparse matrices. Therefore, when given a sparse matrix, the RESHAPE function returns a matrix, the second dimension of which has a length that is the product of all specified dimensions higher than the first.


Sign in to comment.

More Answers (0)