Most efficient way to generate an array around a central value
Afficher commentaires plus anciens
Hi!
I am trying to span a linearly spaced array around a center value without knowing number of points in the array beforehand. I only have the step size and the lower and upper limits that must not be exceeded. For example, if center = -4,3, stepsize = 2, lower = -7, upper = 3, then the resulting array should be array = [-6.3 -4.3 -2.3 -0.3 1.7].
Is there a way to generate such an array as efficiently as possible (e.g. without while-loops)?
Thanks for all the help in advance!
Réponse acceptée
Plus de réponses (1)
[ flip( center:-stepsize:lower ), ( center + stepsize ):stepsize:upper ];
looks like it would work, though I haven't tested all edge cases and there are probably neater ways.
If you prefer you could just do the simpler:
unique( [ flip( center:-stepsize:lower ), center:stepsize:upper ] );
to get rid of the duplicated centre point, though I imagine it is less efficient.
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!