Borrar filtros
Borrar filtros

Find neighboring values of a target value in array

5 visualizaciones (últimos 30 días)
Georg Söllinger
Georg Söllinger el 12 de Sept. de 2016
Comentada: Walter Roberson el 13 de Sept. de 2016
Hi everybody,
I have a matrix, whose values represent the points of geometry-changes of a specific 3D geometry (mainly sorts of angularly aligned cuboids) in intervals. What I want to do is: enter a height, in which the geometry is analyzed. Afterwards, the 2D geometry in the user defined height is processed.
With my knowledge, I would achieve the solution with a combination of for-loop (heigth-direction entities of the matrix) and some if-conditions, but I am sure, there exists a more elegant solution for my problem.
Is there any function, which finds the two height-value neighbors in the matrix entities? Then, the interpolation part is not a problem any more.
Can anyone help me? Thanks in advance!
Best wishes, Georg

Respuestas (1)

Walter Roberson
Walter Roberson el 13 de Sept. de 2016
Depending on how your values are represented, slice() might be what you need.
  2 comentarios
Georg Söllinger
Georg Söllinger el 13 de Sept. de 2016
Hello Mr. Roberson,
Thanks for your reply! Actually, this function is not really what I need. I have z-Values arranged in an array together with x and y values, e.g.:
z = [7.200;16.715;36.245]
x = [...;...;...]
y = [...;...;...]
and e.g. a desired height of 30 -> the neighboring values in the array are 16.715 & 36.245. The function should either return the values or their array index.
Walter Roberson
Walter Roberson el 13 de Sept. de 2016
interp1(z, 1:length(z), height, 'previous')

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by