在图中寻找坐标

2次浏览(过去30天)
Tanmay辛格
Tanmay辛格 2021年8月21日
评论道: 明星黾 2021年8月22日
我必须找到我绘制的曲线的半宽,为此,我需要找到图中最大值的一半以及它们对应的坐标。我怎么找到它?

接受的答案

明星黾
明星黾 2021年8月21日
我希望这不是 家庭作业
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;
K = 1:数值(hafmax)
Idxrng1 = find(y(k,1:idx(k))“最后一次”);
Idxrng2 = find(y(k,idx(k): number (x))“第一”) + idx (k);
xm (k - 1) = interp1 (y (k, idxrng1 +(三3)x (idxrng1 +(三3)),hafmax (k));
xm (k, 2) = interp1 (y (k, idxrng2 +(三3)x (idxrng2 +(三3)),hafmax (k));
结束
格式短g
xm
xm = 3×2
-832.87 832.87 -979.71 979.71 -1387.7 1387.7
格式
数字
情节(x, y)
持有
K = 1:数值(hafmax)
Plot ([xm(k,1) xm(k,2)], [1 1]*hafmax(k),“- k”“线宽”, 1.5)
结束
持有
网格
xlim ([1] * 2000)
对您的数据进行适当的更改。
2的评论
明星黾
明星黾 2021年8月22日
一如既往,我的荣幸!

登录评论。

更多答案(1)

darova
darova 2021年8月21日
使用 polyxpoly
X1 = 0: 1:圆周率;%第一曲线
Y1 = sinx1;
X2 = [0 pi];%直线求交点
y = [1 1]*max(y)/2;
[xc,yc] = polyxpoly(x1,y1,x2,y2);
情节(xc、yc“r”
线(x1, y1)
线(x2, y2)

标签

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!