How to collect information of different cells in a column vector

1 Ansicht (letzte 30 Tage)
Vishal Sharma
Vishal Sharma am 25 Jan. 2017
Beantwortet: Guillaume am 25 Jan. 2017
I have a cell array x{n,j}
<3x8 double>
<8x9 double>
<5x9 double>
<2x8 double>
<8x9 double>
<5x9 double>
<2x8 double>
<8x9 double>
<4x9 double>
<2x8 double>
<8x9 double>
<3x9 double>
The information stored in various cells is to be compiled in one column vector
n is number of iterations. a=5
This code is not working
I want to collect first column of each cell into one vector
n=1:a
for j=1:columns;
[row,col]=size([x{n,j}]);
p=x{n,j}(2:row,1);
end
  1 Kommentar
Jan
Jan am 25 Jan. 2017
Please post the input in valid Matlab syntax. I cannot guess reliably, what "array x{n,j} double double double ..." exactly means. What is the purpose of the variable "a"? You code overwrites "p" in each iteration, but I cannot guess, what you want to get instead.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Walter Roberson
Walter Roberson am 25 Jan. 2017
temp = cellfun(@(M) M(:,1), 'Uniform', 0);
output = vertcat(temp{:});

Guillaume
Guillaume am 25 Jan. 2017
As Jan says, it's difficult to understand what you want when you don't use valid matlab syntax for your examples. An example constructing a small cell array and showing the exact desired output would be a lot more useful.
At a guess,
column1 = cellfun(@(m) m(:, 1), x, 'UniformOutput', false);
column1 = vertcat(column1{:});

Kategorien

Mehr zu Multidimensional Arrays 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