Find the longest array in an array of vectors

8 visualizaciones (últimos 30 días)
skrowten_hermit
skrowten_hermit el 9 de Oct. de 2020
Comentada: Ameer Hamza el 9 de Oct. de 2020
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?

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 9 de Oct. de 2020
Editada: Ameer Hamza el 9 de Oct. de 2020
[max_val, idx] = max(cellfun(@numel, vectorarray))
  2 comentarios
skrowten_hermit
skrowten_hermit el 9 de Oct. de 2020
Great. Exactly what I wanted! Thanks Ameer.
Ameer Hamza
Ameer Hamza el 9 de Oct. de 2020
I am glad to be of help!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Productos


Versión

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by