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

2 vues (au cours des 30 derniers jours)
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
end
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]

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by