Select values on x axis corresponding to a y axis value
    5 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Darpan Verma
 le 12 Mar 2019
  
    
    
    
    
    Commenté : Mauro Fusco
      
 le 12 Mar 2019
            Hi Everyone, I am trying to make a fit for the linear portion of the graph using MATLAB code, but I am stuck at this point. 
I am trying to extract the value of x axis where the 10% line is made as shown in figure below. and extract x axis data where the 90% line is made. and that is defined by the variable parameter. Any help would be appreciated.

0 commentaires
Réponse acceptée
  Mauro Fusco
      
 le 12 Mar 2019
        Let's say that your curve is described by the vectors x and y (I imagine that you obtain that curve via plot(x,y)).
Then you can find the maximum of the curve as:
y_max = max(y);
You can then pick the indices of the points corresponding to 10% and 90% of the maximum as:
idx_y10 = find(y == 0.1*y_max);
idx_y90 = find(y == 0.9*y_max);
The values that you are searching on the x axis will be:
x_10 = x(idx_y10);
x_90 = x(idx_y90);
I did not try it, enjoy!
5 commentaires
  Mauro Fusco
      
 le 12 Mar 2019
				Very good, but it is correct that my answer was not fully precise. Therefore, I post here  a working code:
a working code:
 a working code:
a working code:close all;
x = 0:0.01:3*pi/4;
y=sin(x);
plot(x,y);
[y_max,idx_max] = max(y);
idx_y10 = find(y > 0.1*y_max,1,'first');
idx_y90 = find(y(1:idx_max) < 0.9*y_max,1,'last');
x_10 = x(idx_y10);
x_90 = x(idx_y90);
hold on;
plot(x_10,0.1*y_max,'o red');
hold on;
plot(x_90,0.9*y_max,'o red');
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



