Interpolate Data and find the matching x-Value
조회 수: 17 (최근 30일)
이전 댓글 표시
I have got an arry with 151937x2 double wicht discribes a Curve.
I am trying to find the x-Value to the matching y- Value for example:
data=[1 2,
2 3,
3 3,
4 5,
7 9]
I have tryed it with:
interp1(data(:,1), data(:,2),y-Value ,'PCHIP')
But the function returns the according y-Value, logically. So I tryed to swap x and y datas. The Problem is that the y-Values arent unique.
I hope someone can help me.
댓글 수: 0
채택된 답변
Star Strider
2020년 1월 22일
Try this:
data=[1 2,
2 3,
3 3,
4 5,
7 9];
xval = @(yval) fsolve(@(x) interp1(data(:,1), data(:,2), x, 'linear') - yval, median(data(:,1)));
that with these calls to it:
Out3 = xval(3)
Out6 = xval(6)
Out8 = xval(8)
produces:
Out3 =
3.0000
Out6 =
4.7500
Out8 =
6.2500
댓글 수: 4
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!