Effacer les filtres
Effacer les filtres

Concatenate Cell array of doubles along rows

2 vues (au cours des 30 derniers jours)
Abdelrahman Abdeltawab
Abdelrahman Abdeltawab le 5 Nov 2016
i have a cell array that looks like the following (4X2) in attached image
I want to concatenate adjacent values in rows

Réponse acceptée

Walter Roberson
Walter Roberson le 5 Nov 2016
arrayfun(@(COLIDX) vertcat(YourCell{:,COLIDX}), 1:size(YourCell,2), 'Uniform', 0)
  4 commentaires
Walter Roberson
Walter Roberson le 5 Nov 2016
arrayfun(@(ROWIDX) vertcat(YourCell{ROWIDX,:}), (1:size(YourCell,1)).', 'Uniform', 0)
Abdelrahman Abdeltawab
Abdelrahman Abdeltawab le 5 Nov 2016
Modifié(e) : Walter Roberson le 5 Nov 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

Connectez-vous pour commenter.

Plus de réponses (1)

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by