MATLAB: Decompose and invert a cell array

arraycellinverse

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

Best Answer

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{:})';