MATLAB Answers

0

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

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);
size(B)
However when I check the size of the result matrix, it is not what I am expecting:
ans =
2 12

Products


Release

R14SP2

1 Answer

Answer by MathWorks Support Team on 27 Jun 2009
 Accepted Answer

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.

  0 Comments

Sign in to comment.