Effacer les filtres
Effacer les filtres

Finding coordinates in a plot

1 vue (au cours des 30 derniers jours)
Tanmay Singh
Tanmay Singh le 21 Août 2021
Commenté : Star Strider le 22 Août 2021
I have to find halfwidth of a curve I have plotted for this I need to find half of maximum value in the plot and their corresponding coordinates.How do I find it?
  2 commentaires
darova
darova le 21 Août 2021
Where is the curve?
Tanmay Singh
Tanmay Singh le 21 Août 2021

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 21 Août 2021
I hope this is not homework!
x = linspace(-5000, 5000, 250);
y = [7.5; 1.9; 0.9] .* exp(-(0.001*[1; 0.85; 0.6] * x).^2);
[ymx,idx] = max(y,[],2);
hafmax = ymx/2;
for k = 1:numel(hafmax)
idxrng1 = find(y(k,1:idx(k))<hafmax(k), 1, 'last');
idxrng2 = find(y(k,idx(k):numel(x))<hafmax(k),1,'first')+idx(k);
xm(k,1) = interp1(y(k,idxrng1+(-3:3)), x(idxrng1+(-3:3)), hafmax(k));
xm(k,2) = interp1(y(k,idxrng2+(-3:3)), x(idxrng2+(-3:3)), hafmax(k));
end
format short g
xm
xm = 3×2
-832.87 832.87 -979.71 979.71 -1387.7 1387.7
format short
figure
plot(x, y)
hold on
for k = 1:numel(hafmax)
plot([xm(k,1) xm(k,2)], [1 1]*hafmax(k), '-k', 'LineWidth',1.5)
end
hold off
grid
xlim([-1 1]*2000)
Make appropriate changes with respect to your data.
.
  2 commentaires
Tanmay Singh
Tanmay Singh le 22 Août 2021
Thankyou..!
Star Strider
Star Strider le 22 Août 2021
As always, my pleasure!
.

Connectez-vous pour commenter.

Plus de réponses (1)

darova
darova le 21 Août 2021
Use polyxpoly
x1 = 0:.1:pi; % first curve
y1 = sin(x1);
x2 = [0 pi]; % straight line for findinf intersection
y2 = [1 1]*max(y1)/2;
[xc,yc] = polyxpoly(x1,y1,x2,y2);
plot(xc,yc,'.r')
line(x1,y1)
line(x2,y2)
  1 commentaire
Tanmay Singh
Tanmay Singh le 22 Août 2021
thanks alot..!

Connectez-vous pour commenter.

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by