gpt4 book ai didi

matlab - 在matlab中拟合分段回归并找到变化点

转载 作者:行者123 更新时间:2023-12-05 03:09:20 25 4
gpt4 key购买 nike

在 matlab 中,我想拟合分段回归并找到第一个变化点在 x 轴上的位置。例如,对于以下数据,输出可能是 changepoint=20(我实际上并不想绘制它,只想要变化点)。

data = [1 4 4 3 4 0 0 4 5 4 5 2 5 10 5 1 4 15 4 9 11 16 23 25 24 17 31 42 35 45 49 54 74 69 63 46 35 31 27 15 10 5 10 4 2 4 2 2 3 5 2 2];
x = 1:52;
plot(x,data,'.')

最佳答案

如果你有信号处理工具箱,你可以直接使用 findchangepts 函数(参见 https://www.mathworks.com/help/signal/ref/findchangepts.html 文档):

data = [1 4 4 3 4 0 0 4 5 4 5 2 5 10 5 1 4 15 4 9 11 16 23 25 24 17 31 42 35 45 49 54 74 69 63 46 35 31 27 15 10 5 10 4 2 4 2 2 3 5 2 2];
x = 1:52;
ipt = findchangepts(data);
x_cp = x(ipt);
data_cp = data(ipt);

plot(x,data,'.',x_cp,data_cp,'o')

本例中变化点的索引为22。

数据图及其用红色圈出的变化点:

enter image description here

关于matlab - 在matlab中拟合分段回归并找到变化点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43362831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com