# Reformatting cell arrays of cell arrays

3 visualizzazioni (ultimi 30 giorni)
Terry il 28 Nov 2013
Commentato: Terry il 29 Nov 2013
Apologies for what seems to be a very simple question, but I’m having trouble reformatting a cell array and I’m sure there’s a much smarter way of dealing with the problem than creating a loop.
I’ve managed to get myself a cell array in the format:
c =
{2x1 cell}
{2x1 cell}
{2x1 cell}
Which is a 3x1 cell array of 2x1 cell arrays containing strings when ideally I would like to have a 3x2 cell array of strings. Is anyone able to help please?
Please note that I have simplified this problem, I'm really after a solution to when there is an nx1 cell array of mx1 cell arrays.
Ultimately, I'm wanting to create a dataset array so perhaps the ideal solution would create a 1xm cell array of nx1 cell arrays! ie the solution to the above would be:
Newc =
{3x1 cell} {3x1 cell}
any ideas on how to do this also?
Thanks for any help which points me in the right direction.
Terry
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposta accettata

Simon il 29 Nov 2013
Hi!
Try
C{1, 1} = {'11'; '12'};
C{2, 1} = {'21'; '22'};
C{3, 1} = {'31'; '32'};
Rows = 3;
Columns = 2;
CO = reshape([C{:}], Columns, Rows).';
Newc = cell(1, Columns);
for n = 1:Columns
Newc{n} = {CO{:, n}}.';
end
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Terry il 29 Nov 2013
Genius! Thank you very much for your help.

Accedi per commentare.

### Categorie

Scopri di più su String Parsing in Help Center e File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by