cell2mat of specific coulmns

3 views (last 30 days)
Mori
Mori on 24 Jul 2016
Edited: Azzi Abdelmalek on 24 Jul 2016
I have a cell called A, with 6*1 cell, each cell has 8*3 doubles. How I create matrix B with 6*8 size which each column of B includes 3rd column of each cell of A?
  2 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 24 Jul 2016
The result should be 8x6 matrix instead of 6x8
Mori
Mori on 24 Jul 2016
ok, got it

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 24 Jul 2016
Edited: Azzi Abdelmalek on 24 Jul 2016
A=arrayfun(@(x) randi(10,8,3),1:6,'un',0) % ----Example------
B=cell2mat(cellfun(@(x) x(:,3),A,'un',0))
  6 Comments
Mori
Mori on 24 Jul 2016
I see, my file has a problem, cell 280 missing 1 raw.
Azzi Abdelmalek
Azzi Abdelmalek on 24 Jul 2016
Edited: Azzi Abdelmalek on 24 Jul 2016
You can complete the last row with nan. look at this example
% -------Example------------------
A=arrayfun(@(x) randi(10,8,3),(1:6),'un',0)
A{5}=randi(10,7,3)
%----------The code-------------------------
A{5}(end+1,:)=nan(1,3) % complete the last row of the fifth cell with nan
B=cell2mat(cellfun(@(x) x(:,3),A,'un',0))

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!