Concatenate nested cell array in one

6 Ansichten (letzte 30 Tage)
Mate D
Mate D am 26 Mai 2020
Beantwortet: Rik am 28 Mai 2020
Hello matlab community,
how do I concatenate arrays with different sizes into one dimensional array:
Example
dblArrayX{1}{1} = [12;15];
dblArrayX{2}{1} = 13;
dblArrayX{3}{1} = [16;17;19];
unknown method leads to
newArray{1} = [12;15;13;16;17;19]
I need the method for this newArray without loops.
  6 Kommentare
Rik
Rik am 26 Mai 2020
Can you edit your question so it contains the actual shape of your data?
Mate D
Mate D am 28 Mai 2020
Bearbeitet: Mate D am 28 Mai 2020
The data is in exact format as the example. Do not know why, but it works with the method you presented (and deleted) earlier:
cell2mat(cellfun(@(X) X{1},tmpMdlParamsValues','UniformOutput',false))

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Rik
Rik am 28 Mai 2020
Since apparently it was the correct solution, I'll repost it:
It puzzles me why you would want this without the temporary variable. Putting it on one line is of course trivial. The code below should do what you need.
newArray{1}=cell2mat(cellfun(@(x) x{1},dblArrayX','UniformOutput',false));

Weitere Antworten (0)

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by