How to collect information of different cells in a column vector

1 回表示 (過去 30 日間)
Vishal Sharma
Vishal Sharma 2017 年 1 月 25 日
回答済み: Guillaume 2017 年 1 月 25 日
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 件のコメント
Jan
Jan 2017 年 1 月 25 日
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.

サインインしてコメントする。

回答 (2 件)

Walter Roberson
Walter Roberson 2017 年 1 月 25 日
temp = cellfun(@(M) M(:,1), 'Uniform', 0);
output = vertcat(temp{:});

Guillaume
Guillaume 2017 年 1 月 25 日
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{:});

カテゴリ

Help Center および File ExchangeMultidimensional Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by