# how to reshape the matrix

9 views (last 30 days)
Shehab Tarek on 18 May 2020
Edited: Sai Bhargav Avula on 18 May 2020
i have matrix =001001001111011101111;
and i want to convert it to
001
001
001
111
011
101
111
i know reshape function
matrix=reshape(matrix,[],3);
but it not get the answer which i need

David Hill on 18 May 2020
m =[0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1];
a=reshape(m,3,[])';
Stephen23 on 18 May 2020
M=[0,0,1,......];
is also a double matrix. Try it and see:
>> M=[0,0,1];
>> class(M)
ans = double
So instead of a double array you want a double array? In any case, reshape does not change the array type, so whatever type array you have at the start is what you will get at the end.

### More Answers (1)

Sai Bhargav Avula on 18 May 2020
Edited: Sai Bhargav Avula on 18 May 2020
Hi,
Try the following code
convert matrix to char
matrix ='001001001111011101111';
matrix=reshape(matrix,[],3);
Hope this helps!
Sai Bhargav Avula on 18 May 2020
Edited: Sai Bhargav Avula on 18 May 2020
Thanks for the explanation and clearing my confusion Stephen Cobeldick,
I was thinking more about matrix being a single value(matrix = 001001001111011101111) and not an array( [0 0 1 .....]) and output to be a single colum vector (7*1) and overlooked the expected result .
The answer should have been like what David answered
matrix ='001001001111011101111';
matrix= string(reshape(matrix,3,[])');