Find neighboring values of a target value in array

조회 수: 3 (최근 30일)
Georg Söllinger
Georg Söllinger 2016년 9월 12일
댓글: Walter Roberson 2016년 9월 13일
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

답변 (1개)

Walter Roberson
Walter Roberson 2016년 9월 13일
Depending on how your values are represented, slice() might be what you need.
  댓글 수: 2
Georg Söllinger
Georg Söllinger 2016년 9월 13일
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 2016년 9월 13일
interp1(z, 1:length(z), height, 'previous')

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by