Decompose and invert a cell array

3 views (last 30 days)
I have a cell array of 4*1 composed by number, this array looks like this:
A= [1 3 4 5 7]
[5 6 7 8]
[8 9 5]
I want to separate and invert its elements to obtain the next:
B=
1 5 8
3 6 9
4 7 5
5 8
7
All elements in B should be in its own ij position
Thanks for your help! Sincerely ViriT

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 25 Apr 2016
A = {[1 3 4 5 7]
[5 6 7 8]
[8 9 5]};
m=cellfun(@numel,A);
B = cellfun(@(x)[x,nan(1,max(m)-numel(x))],A,'un',0);
B = cat(1,B{:})';

More Answers (0)

Community Treasure Hunt

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

Start Hunting!