Access cell array inside another cell array
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Rocio
el 4 de Feb. de 2014
Comentada: Kelly Kearney
el 4 de Feb. de 2014
Hello,
I have a 50x1 cell array. Each cell is a 2x1 array.
A = {2x1 cell;
2x1 cell;
2x1 cell
etc}
if I get into every cell I have cell = {a b}
I am trying to access each string in the 2x1 cell for all rows (a and b).
So if my array is called A this is the function I am using to extract the each column of the inside cell for all rows:
A = cellfun(@(x) x{:,1}{:,1}, A, 'UniformOutput',0)
B = cellfun(@(x) x{:,1}{:,2}, A, 'UniformOutput',0)
I am getting the following error: "Cell contents reference from a non-cell array object".
I was wondering if anyone can help me accessing those two columns of my multiindex cell array.
Thank you very much
2 comentarios
Respuesta aceptada
Kelly Kearney
el 4 de Feb. de 2014
The anonymous function used in cellfun is applied to each element of A, so the input it expects in your case would be a 1 x 2 cell of strings, not the parent cell array of cell arrays:
a = cellfun(@(x) x{1}, A, 'uni', 0);
b = cellfun(@(x) x{2}, A, 'uni', 0);
2 comentarios
Kelly Kearney
el 4 de Feb. de 2014
Either a) one of the internal cell arrays wasn't a 2 x 1 cell array, or b) you save that first output as A (as in your example above), thus replacing your original A.
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Type Conversion en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!