How should I find the x value of the given y value?
119 ビュー (過去 30 日間)
古いコメントを表示
Hi, I have this graph and here I would like to find the coordinates where the horizontal line and curvy graph meet together
How should I find the x-coordinate of the given y-value (this case y=6.585)?
Thank you
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/333504/image.jpeg)
0 件のコメント
回答 (2 件)
SAA
2020 年 7 月 18 日
編集済み: SAA
2020 年 7 月 18 日
I am not sure if you can find an exact value since you are trying to compare 2 doubles and that's usually not a good idea, but you can get it using a tolerance.
it should be something like this:
% assuming you have 2 matrices x and y containing your data
z = x(y==6.585); % assuming that there is an exact value that equals it but most likely you don't so you need a tolerance
% this should work
tol = 10^-9;
z = x(abs(y-6.585) < tol); % you can also use find instead of x
0 件のコメント
Star Strider
2020 年 7 月 18 日
Try something like this:
y = 6.585;
eqidx = find(diff(sign(curvy_graph - y)));
for k = 1:numel(eqidx)
ixrng = [-1 0]+eqidx(k);
xval(k) = interp1(curvy_graph(ixrng), x(ixrng), y);
end
That will give you the x-value for all of the intersections. Choose the ones you want to use. See the documentation on interp1 for its options.
.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!