how to rearrange cell array with the grouped sequence
Afficher commentaires plus anciens
I have a cell array in this format:
21 3 '1'
31 2 '1 1'
25 1 '2 2 1 1'
How can I rearrange the cell array to:
21 3 1
31 2 1
31 2 1
25 1 2
25 1 2
25 1 1
25 1 1
Thank you!
1 commentaire
So within each cell array there are two numeric values and a char array?
Could you show us the actual cell values formatted correctly?
For example,
C =
3×3 cell array
{[21]} {[3]} {'1' }
{[31]} {[2]} {'1 1' }
{[25]} {[1]} {'2 2 1 1'}
Réponse acceptée
Plus de réponses (1)
Stephen23
le 10 Jan 2020
>> C = {21,3,'1';31,2,'1 1';25,1,'2 2 1 1'}
C =
[21] [3] '1'
[31] [2] '1 1'
[25] [1] '2 2 1 1'
>> V = cellfun(@(s)sscanf(s,'%f'),C(:,3),'uni',0);
>> Z = [repelem(C(:,1:2),cellfun('length',V),1),num2cell(vertcat(V{:}))]
Z =
[21] [3] [1]
[31] [2] [1]
[31] [2] [1]
[25] [1] [2]
[25] [1] [2]
[25] [1] [1]
[25] [1] [1]
1 commentaire
Shannon
le 10 Jan 2020
Catégories
En savoir plus sur Cell Arrays dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!