# Is there a way to get the intersection point between two curves in Matlab?

조회 수: 85 (최근 30일)
Domenico Dicugno . 2015년 6월 18일
답변: somya bhatnagar . 2020년 12월 25일
Dear All,
from a contour I get returned the point relative to two iso-curves on a x-y plane. Then, I try to get the intersection point between these two curves. If they behave as a function, then I use the interp1 to find this point. However, in general, it happens that the curves are not functions and this solution no longer works. I tried to use spline but I got a similar problem since the error message looks like:
Error using chckxy (line 51)
The data sites should be distinct.
Error in spline (line 53) [x,y,sizey,endslopes] = chckxy(x,y);
Do you have any suggestions on how to solve this problem?

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

### 답변 (2개)

Luffy 2015년 6월 18일
If you have the equation to two curves,you can find the point manually: if y1 & y2 are their equations:
idx = find(y1 - y2 < eps, 1); %// Index of coordinate in array
px = x(idx);
py = y1(idx);
plot(px,py,'or','MarkerSize',18);
If not take a look at this: Curve intersections
##### 댓글 수: 0표시 이전 댓글 수: -1숨기기 이전 댓글 수: -1

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

somya bhatnagar 2020년 12월 25일
if the values intersection point to be found lies in a polynomial then you can use
[xi,yi]=polyxpoly(x1,y1,x2,y2);

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

### 카테고리

Help CenterFile Exchange에서 Spline Construction에 대해 자세히 알아보기

### Community Treasure Hunt

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

Start Hunting!