find coordinate(-s) on a plot
    2 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    

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 commentaires
  dpb
      
      
 le 7 Sep 2019
				Look for crossing the threshold -- hint: what happens in sign(diff(y)-threshold) when the crossing is rising or falling?
Réponses (1)
  Nishant Gupta
    
 le 10 Sep 2019
        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 commentaire
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



