Sample evenly-ish vector of unevenly distributed indices

4 visualizaciones (últimos 30 días)
Ouatehaouks
Ouatehaouks el 10 de Dic. de 2021
Editada: Matt J el 10 de Dic. de 2021
Say I have a vector of indices
v = [v1 v2 v3 v4 v5] = [1 34 456 1345 4567]
I try to find a way to sample v in an evenly-ish way while keepking these points. Is there a quick way to do that instead of a loop over every range between two points [v_i v_j], I have numerous and long vectors...
  4 comentarios
Voss
Voss el 10 de Dic. de 2021
How about this:
vnew = min(v):max(v);
Now, as long as v contains only integer values, all elements of v are in vnew. And diff(vnew) is all 1s, so the difference is as constant as it can get.
Does that work?
Ouatehaouks
Ouatehaouks el 10 de Dic. de 2021
Thanks for your answer. The thing is that the indices can be very large, so I want to refine v but not down to delta=1.

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 10 de Dic. de 2021
Editada: Matt J el 10 de Dic. de 2021
Perhaps as follows,
vnew = union( min(v):delta:max(v) ,v);
  6 comentarios
Ouatehaouks
Ouatehaouks el 10 de Dic. de 2021
Sorry I don't know how to accept the correct answer which is in your last comment.
Matt J
Matt J el 10 de Dic. de 2021
Editada: Matt J el 10 de Dic. de 2021
No problem. Our whole chain of comments is considered part of the "Answer".

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by