MATLAB cftool中如何拟合分段函数

方程:y=a(1-e^b(x^2))+cx (0<x<330)
y=dx^2+cx (x>330)
求大神指点

把原始数据分成两份,然后拟合两次就好了。
关于划分,可以考虑find(x<330)
lsqcurvefit可以最小二乘拟合任意形式的曲线。自带的cftool开始使用方便,但是不够灵活,建议直接用lsqcurvefit进行拟合。追问

能把详细代码写一下吗?谢谢

追答

得有原始数据
find函数查找,也可以用sort排序

lsqcurvefit 查下帮助各种格式的都有。
具体看数据整理吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-03
把原始数据分成两份,然后拟合两次就好了。
关于划分,可以考虑find(x<330)
lsqcurvefit可以最小二乘拟合任意形式的曲线。自带的cftool开始使用方便,但是不够灵活,建议直接用lsqcurvefit进行拟合。
相似回答