CurveFit是一款强大的曲线拟合软件,内置40+常用拟合模型,使用精心编写的拟合算法,无需复杂的配置和指定初值,拟合效果和成功率超过大部分同类软件(包括MATLAB、Origin等)。
下载地址:https://apps.microsoft.com/detail/9NZ8P19PRH4Z
优势:
- 操作简单,无需学习成本,小白也可快速上手
- 支持大量开箱即用的拟合模型,无需复杂配置和指定初值,拟合精度和成功率超过大部分同类软件
- 支持自定义函数和隐函数拟合
- 支持多模型拟合对比
- 交互式查看拟合曲线图和残差图,支持丰富的自定义绘图设置
- 灵活的数据输入方式,支持文件导入
基本使用步骤
数据导入
支持以下四种数据输入方式:
手动编辑单元格

手动批量添加(行模式+列模式)

文件导入

导入示例数据

添加拟合


查看拟合结果


特色功能介绍
幂函数拟合
幂函数是一种常用的函数模型,大部分拟合软件都支持下面两种幂函数模型:
\(y=ax^b\)
\(y=ax^b+c\)
CurveFit不仅支持以上两种幂函数模型,同时还支持下面两种更通用的形式:
\(y=a(x+b)^c\)
\(y=a(x+b)^c+d\)

有理函数拟合
有理函数拟合对初值的敏感度极高,大部分拟合软件的拟合成功率都不高,严重依赖用户指定的初值,尤其是分母次数较高时。
CurveFit支持分子/分母最高次数≤5的有理函数拟合,在不指定初值的情况下,拟合成功率显著高于其它同类软件。


作为对比,下面是MATLAB对以上两组数据的拟合:


多指数拟合
多指数模型有以下两种形式:
\(y=\sum_{i=1}^{n}a_i\exp(b_ix)\)
\(y=a_0+\sum_{i=1}^{n}a_i\exp(b_ix)\)
MATLAB仅支持第一种形式,且n最大只能为2,在使用默认初值的情况下,拟合成功率极低。
CurveFit支持上面两种模型,最高5阶(n≤5),且无需指定初值,拟合成功率远高于同类软件。


作为对比,下面是MATLAB对以上两组数据的拟合:


多峰拟合
多峰拟合模型由一个常数项和若干个高斯函数构成:
\(y=y_0+\sum_{i=1}^{n}a_i\cdot\exp(-\frac{(x-b_i)^2}{c_i})\)
创建多峰拟合时需要输入每个峰的x坐标大致范围,如下图输入内容为"-2,0,1,3,4,6,7,9",表示总共四个峰,第一个峰范围为[-2, 0],第二个峰范围为[1, 3],第三个峰范围为[4, 6],第四个峰范围为[7, 9]。


自定义函数拟合
添加拟合时选择自定义->自定义函数,输入自定义函数表达式,指定初值即可拟合:


可选择以下两种初值生成方式:
- 随机生成初值,需指定随机数量和随机范围

- 手动指定每一个参数的初值

自定义隐函数拟合
添加拟合时选择自定义->自定义隐函数,输入自定义隐函数表达式,指定初值即可拟合:


隐函数的初值指定方式与自定义函数相同。