Clear Filters
Clear Filters

Getting ith element of each cell array with different sizes in loop

1 view (last 30 days)
I have A
A ={[1;2;3;4],[5;6],[7;8;9;10],[17;13;15;20;25]};
val=cellfun(@(x) numel(x),A);
for i=1:length(1:max(val))
temp = cellfun(@(v)v(i),A)
%% use temp
In first loop
temp = [1,5,7,17]
In second loop
temp = [2,6,8,13]
In third loop I have error as Index exceeds the number of array elements (2).
How can I get this resul?
In third loop ---> temp = [3,6,9,15]
In forth loop ---> temp = [4,6,10,20]
In fifth loop ---> temp = [4,6,10,25]

Accepted Answer

Walter Roberson
Walter Roberson on 16 Apr 2020
temp = cellfun(@(v)v(min(end,i)),A)

More Answers (0)


Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!