# Select specific cells from a cell array and create a seperate vector

3 views (last 30 days)
Ilias Minas on 28 Mar 2020
Commented: the cyclist on 28 Mar 2020
Hi everyone,
I have the following cell array
Max_Col_Cell(9,10,15)
I want to isolate every combination of the first two elements (9,10) for all the 15 values of the third element and create new vectors having one column with 15 rows.
For example create a vector having (1,1,:). Another vector having (2,1,:) etc....
I am trying to write a for loop but its not working.
How can i do this?
Ilias

Ameer Hamza on 28 Mar 2020
Why do you want to create seperate vectors each set of 15 elements. See here why it is a bad ideahttps://www.mathworks.com/matlabcentral/answers/6200-tutorial-how-to-ask-a-question-on-answers-and-get-a-fast-answer. Using a matrix is much better solution.
Ilias Minas on 28 Mar 2020
I thought that having seperate vactors it would be easier to handle them cause i want to extract the maximum value of those 15 elements.
Is it possible to rearrange in the way that i want in a matrix?

the cyclist on 28 Mar 2020
Edited: the cyclist on 28 Mar 2020
Does your cell array have only numeric values in it?
If yes, then
maxVal = max(cell2num(C),[],3)
where C is your cell array.

Ilias Minas on 28 Mar 2020
I ve tried this and it gives me the following error
Undefined function or variable 'cell2num'.
Ameer Hamza on 28 Mar 2020
I guess the cyclist wanted to write
maxVal = max(cell2mat(C),[],3)
the cyclist on 28 Mar 2020
Sorry, yes, cell2mat. (I also have cell2num from the File Exchange.)