How do I find all the points between two contour lines
조회 수: 3 (최근 30일)
이전 댓글 표시
Hello,
I have 3 equal size matrices, X, Y and Z; I can draw the contour lines for Z with the command: contour(X,Y,Z);
But I want to collect all the X and Y points that lies between two contour lines of Z. Please suggest me some idea how to solve this problem.
Thank you.
댓글 수: 2
John D'Errico
2020년 4월 12일
There are infinitely many points between any pair of distinct lines. Finding them all will take more time that you have.
답변 (1개)
Ameer Hamza
2020년 4월 12일
This shows an example
[X,Y] = meshgrid(-1:0.01:1);
Z = X.^2 + Y.^2;
line1_level = 0.2;
line2_level = 0.5;
levels = [line1_level line2_level];
mask = (Z > min(levels)) & (Z < max(levels));
x_list = X(mask);
y_list = Y(mask);
X and Y are grid points and Z is the function value. The code list all x and y points lying between contour lines at 0.2 and 0.5.
댓글 수: 2
Ameer Hamza
2020년 4월 13일
I am not clear about this question, but from your image, it appears that 2.45 is the highest level contour line, and you want to get the points between 2.45 and the edge of the mesh. If this is what you want and all the points between 2.45 and edge are higher than 2.45, then you can set the level like this
levels = [2.45 inf];
참고 항목
카테고리
Help Center 및 File Exchange에서 Denoising and Compression에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!