# how to convert the cell to matrix

1 view (last 30 days)
Shehab Tarek on 15 May 2020
Edited: Stephen Cobeldick on 16 May 2020 i have cell as shown in picture
and i want to convert it to Array then flip it to be like
array=
00
10
010
110
111
EDIT: Shehab Tarek's "Answer" moved here:
%YY
%[0,0]
%[0,1]
%[0,1,0]
%[1,1,0]
%[0,1,1]
%[1,1,1]
matrix=[];
lenght=[];
for i=1:6
[~,c]=size(YY{i}); % the cell matrix
length=[length c]; % length of each element in cell
s=YY{i}; % variable
matrix=[matrix s];
end
length=length';
although you can show the code in file un.m

Ameer Hamza on 15 May 2020
In MATLAB arrays, the number of elements in each row cannot be different. If you have vectors of different lengths, it is best to use cell arrays.
Shehab Tarek on 15 May 2020
i know that the vector lenght is not the same .then i have the length of each array in the cell for example
length=[2,2,3,3,3];
martix=0010010010110111;
i want to diveded the matrix to sub element depend on the length
to be
matrix =[00,10,010,110,111];
Ameer Hamza on 15 May 2020
Can you share the code which is used to generate the matrix? You cannot represent 0010010010110111 in floating-point format. Is it a character array?

dpb on 16 May 2020
Presuming the input is a cell array, m...
>> cellfun(@(s) sprintf('%d',fliplr(s)),m,'UniformOutput',false)
ans =
6×1 cell array
{'00' }
{'01' }
{'010'}
{'011'}
{'110'}
{'111'}
>>
NB: the sample output has only five elements of the six in the input array...