フィルターのクリア

find coordinate(-s) on a plot

3 ビュー (過去 30 日間)
ARGY B
ARGY B 2019 年 9 月 7 日
コメント済み: darova 2019 年 9 月 10 日
coord.PNG
I have the plot you see above (plotted from data of two vectros X and Y). And I would like to find the coordinates x where y =10. Usually if the y value appears only one time, then I can use the interp1 function.
But what about when this y value belongs to 2 or more x coordinates?
  2 件のコメント
dpb
dpb 2019 年 9 月 7 日
Look for crossing the threshold -- hint: what happens in sign(diff(y)-threshold) when the crossing is rising or falling?
darova
darova 2019 年 9 月 7 日
I like polyxpoly() function of intersections from fileexchange

サインインしてコメントする。

回答 (1 件)

Nishant Gupta
Nishant Gupta 2019 年 9 月 10 日
Hi Argy,
You can use logical indexing to find the x-ordinates corresponding to y = 10 as follows:
x = [1 2 3 4 5]; % x vector
y = [15 10 25 10 5]; % y vector
plot(x,y);
hold on;
yline(10); % plot horizontal line at y = 10
idx = find(y==10);
for i = 1:numel(idx)
xline(x(idx(i))); % to get vertical line at all x-ordinates corresponding to y = 10
end
hold off;
  1 件のコメント
darova
darova 2019 年 9 月 10 日
What if there is no y=10 (y=10.1)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by