how to rearrange cell array with the grouped sequence
Ältere Kommentare anzeigen
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 Kommentar
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'}
Akzeptierte Antwort
Weitere Antworten (1)
Stephen23
am 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 Kommentar
Shannon
am 10 Jan. 2020
Kategorien
Mehr zu Cell Arrays finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!