Find the longest array in an array of vectors

30 visualizzazioni (ultimi 30 giorni)
I have 5 vectors y1, y2, y3, y4, y5 of variable number of samples or values. I have created a cell array as:
vectorarray = {y1, y2, y3, y4, y5}
I know the classic way of finding the largest number of samples in the elements of the cell array can be done as follows:
maxsamples = 0
for k = 1:numel(vectorarray)
currveclength = length(vectorarray{k})
if currveclength > maxsamples
maxsamples = currveclength
end
end
Is there a simpler way to do it in a single line in Matlab?

Risposta accettata

Ameer Hamza
Ameer Hamza il 9 Ott 2020
Modificato: Ameer Hamza il 9 Ott 2020
[max_val, idx] = max(cellfun(@numel, vectorarray))

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by