Concatenate Cell array of doubles along rows

3 visualizaciones (últimos 30 días)
Abdelrahman Abdeltawab
Abdelrahman Abdeltawab el 5 de Nov. de 2016
Editada: Walter Roberson el 5 de Nov. de 2016
i have a cell array that looks like the following (4X2) in attached image
I want to concatenate adjacent values in rows

Respuesta aceptada

Walter Roberson
Walter Roberson el 5 de Nov. de 2016
arrayfun(@(COLIDX) vertcat(YourCell{:,COLIDX}), 1:size(YourCell,2), 'Uniform', 0)
  4 comentarios
Walter Roberson
Walter Roberson el 5 de Nov. de 2016
arrayfun(@(ROWIDX) vertcat(YourCell{ROWIDX,:}), (1:size(YourCell,1)).', 'Uniform', 0)
Abdelrahman Abdeltawab
Abdelrahman Abdeltawab el 5 de Nov. de 2016
Editada: Walter Roberson el 5 de Nov. de 2016
One more thing Mr. Walter to enhance the below function to incoprate your current answer, given that (please look at attached images in zip file)
function CombinedCurves= PrepareCombineCurvesCells(CurvesCell,selectedCurves,currWellNames)
fnames=fieldnames(CurvesCell);
n=cell(numel(selectedCurves)*numel(currWellNames),1);
for cWCurve=1:numel(selectedCurves)
for currWell=1:numel(fnames)
n{cWCurve,currWell}= CurvesCell.(fnames{currWell}).(selectedCurves{cWCurve});
end
end
CombinedCurves=n ;
end

Iniciar sesión para comentar.

Más respuestas (1)

KSSV
KSSV el 5 de Nov. de 2016
Let C be your cell array..
iwant{1} = [C{1,1} C{2,1}] ;
iwant{2} = [C{1,2} C{2,2}] ;
  2 comentarios
Abdelrahman Abdeltawab
Abdelrahman Abdeltawab el 5 de Nov. de 2016
Thanks KSSV but my case is dynamic case so items might increase ,or decrease i cannot hard code indices like this
KSSV
KSSV el 5 de Nov. de 2016
You can put that into loop....not a big deal.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices 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!

Translated by