CurveFit是一款強大的曲線擬合軟件,內置40+常用擬合模型,使用精心編寫的擬合算法,無需複雜的配置和指定初值,擬合效果和成功率超過大部分同類軟件(包括MATLAB、Origin等)。

優勢:

  • 操作簡單,無需學習成本,小白也可快速上手
  • 支持大量開箱即用的擬合模型,無需複雜配置和指定初值,擬合精度和成功率超過大部分同類軟件
  • 支持自定義函數和隱函數擬合
  • 支持多模型擬合對比
  • 交互式查看擬合曲線圖和殘差圖,支持豐富的自定義繪圖設置
  • 靈活的數據輸入方式,支持文件導入

基本使用步驟

數據導入

支持以下四種數據輸入方式:

手動編輯單元格

MATLAB曲線曲面擬合——Curve Fitting Toolbox_擬合

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

MATLAB曲線曲面擬合——Curve Fitting Toolbox_擬合_02

文件導入

MATLAB曲線曲面擬合——Curve Fitting Toolbox_初值_03

導入示例數據

MATLAB曲線曲面擬合——Curve Fitting Toolbox_自定義_04

添加擬合

MATLAB曲線曲面擬合——Curve Fitting Toolbox_擬合_05


MATLAB曲線曲面擬合——Curve Fitting Toolbox_初值_06

查看擬合結果

MATLAB曲線曲面擬合——Curve Fitting Toolbox_自定義_07


MATLAB曲線曲面擬合——Curve Fitting Toolbox_初值_08

特色功能介紹

冪函數擬合

冪函數是一種常用的函數模型,大部分擬合軟件都支持下面兩種冪函數模型:

\(y=ax^b\)

\(y=ax^b+c\)

CurveFit不僅支持以上兩種冪函數模型,同時還支持下面兩種更通用的形式:

\(y=a(x+b)^c\)

\(y=a(x+b)^c+d\)

MATLAB曲線曲面擬合——Curve Fitting Toolbox_擬合_09

有理函數擬合

有理函數擬合對初值的敏感度極高,大部分擬合軟件的擬合成功率都不高,嚴重依賴用户指定的初值,尤其是分母次數較高時。

CurveFit支持分子/分母最高次數≤5的有理函數擬合,在不指定初值的情況下,擬合成功率顯著高於其它同類軟件。

MATLAB曲線曲面擬合——Curve Fitting Toolbox_自定義_10


MATLAB曲線曲面擬合——Curve Fitting Toolbox_自定義_11


作為對比,下面是MATLAB對以上兩組數據的擬合:

MATLAB曲線曲面擬合——Curve Fitting Toolbox_自定義_12


MATLAB曲線曲面擬合——Curve Fitting Toolbox_初值_13

多指數擬合

多指數模型有以下兩種形式:

\(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曲線曲面擬合——Curve Fitting Toolbox_自定義_14


MATLAB曲線曲面擬合——Curve Fitting Toolbox_自定義_15


作為對比,下面是MATLAB對以上兩組數據的擬合:

MATLAB曲線曲面擬合——Curve Fitting Toolbox_擬合_16


MATLAB曲線曲面擬合——Curve Fitting Toolbox_初值_17

多峯擬合

多峯擬合模型由一個常數項和若干個高斯函數構成:

\(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]。

MATLAB曲線曲面擬合——Curve Fitting Toolbox_自定義_18


MATLAB曲線曲面擬合——Curve Fitting Toolbox_初值_19

自定義函數擬合

添加擬合時選擇自定義->自定義函數,輸入自定義函數表達式,指定初值即可擬合:

MATLAB曲線曲面擬合——Curve Fitting Toolbox_初值_20


MATLAB曲線曲面擬合——Curve Fitting Toolbox_初值_21


可選擇以下兩種初值生成方式:

  1. 隨機生成初值,需指定隨機數量和隨機範圍
  2. 手動指定每一個參數的初值

自定義隱函數擬合

添加擬合時選擇自定義->自定義隱函數,輸入自定義隱函數表達式,指定初值即可擬合:

MATLAB曲線曲面擬合——Curve Fitting Toolbox_擬合_22


MATLAB曲線曲面擬合——Curve Fitting Toolbox_自定義_23


隱函數的初值指定方式與自定義函數相同。