如何找到曲线的拐点

56个观点(过去30天)
harith larabi
harith larabi 2022年10月4日14:22
评论道: 明星黾 2022年10月6日11:33
你好,伙计们。
我在找一些信息。
也许你能帮我?
我需要找到曲线的拐点。
我知道我可以用二阶导数或正切但我不知道如何在matlab中应用或计算它?
在这里你会找到曲线
它代表了从弹性域到塑性域的过渡。
谢谢你!
问候
Harith

接受的答案

明星黾
明星黾 2022年10月4日14:28
编辑:明星黾 2022年10月4日20:40
首先,使用 sgolayfilt 函数来消除尽可能多的噪声,因为求导会放大它。使用的 梯度 函数来计算数值导数,例如:
framelen = 101;
Ys = sgolayfilt(y, 3, framelen);
Dydx = gradient(ys) ./ gradient(x);
选择合适的值 “framelen” 以得到想要的结果。
编辑- (2022年10月4日20:40)
的例子,
X = linspace(0.9,1.8, 250);%创建数据
y = exp (- (x - 1.3) ^ 2 * 50) / 8 + x + 0.005 * randn(大小(x));%创建数据
%图
%的阴谋(x, y)
%的网格
ydt =去趋势(y, 1);%趋势'y'以促进分析
framelen = 101;%选择合适的值
ydt = sgolayfilt(ydt, 3, framelen);%降噪信号
Dydx =梯度(ydts) ./梯度(x);%计算数值导数
[maxdydx, idxmax] = max(就要);插值指数下限
[mindydx, idxmin] = min(就要);插值指数上限
Idxrng = idxmax: idxmin;
Inflptx = interp1(dydx(idxrng), x(idxrng), 0)%找到拐点x值
inflptx = 1.3014
Inflpty = interp1(x, y, inflptx)找到拐点y值
inflpty = 1.4191
数字
情节(x, y,“DisplayName的”“数据”
持有
情节(inflptx inflpty,“+ r”“MarkerSize”10“DisplayName的”“拐点”
持有
网格
包含(“X”
ylabel (“Y”
传奇(“位置”“最佳”
8的评论
明星黾
明星黾 2022年10月6日11:33
我的荣幸!
如果我的回答能帮你解决问题,请 接受 它!

登录发表评论。

更多的答案(0)

2022世界杯八强谁会赢?

世界杯预选赛小组名单社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!世界杯预选赛小组名单

开始狩猎!

Baidu
map