-
函數模型
鎖定
- 中文名
- 函數模型
- 外文名
- Function Model
- 所屬學科
- 數學
函數模型概念介紹
函數模型的數學表達式是
,其中:
,代表函數模型中所含有的p個自變量;
,代表函數模型中所含有的q個待定參數;y為因變量。當p=1時,函數模型被稱為“一元函數模型”;當p≥2時,函數模型被稱為“多元函數模型”。一元函數模型是函數方程式中只含有一個自變量的函數模型,其數學表達式可以寫成
——其中x為自變量,其函數圖像通常是一條二維曲線。一元函數模型是最常見的函數模型。
函數模型擬合方法
函數模型的擬合步驟可以分為兩步:(1)建立模型;(2)確定參數。按照擬合工具的不同,本文將函數模型的計算機擬合方法分為“Origin軟件法”和“C語言程序法”兩種。實施這兩種擬合方法的共同前提條件是:函數模型
的實際測量值xji、yi(i=1~n,j=1~p)已知,其中n為樣本容量,p為自變量個數。
函數模型Origin軟件法
1 操作步驟
Origin軟件法適用於一元函數模型的擬合,它適用於“函數模型尚未建立”的情形。Origin軟件可以根據已知的xi、yi值(i=1~n),直接擬合出x與y之間存在的函數關係——建立函數模型、確定模型參數、畫出函數曲線。其操作步驟如下所示:
(1)打開Origin軟件,新建Workbook文件,在操作界面中輸入xi、yi兩列數據;
(2)選中上述兩列數據,按下快捷鍵“Ctrl+Y”,從而打開了“曲線擬合”對話框。
(3)在Settings選項卡中,在Category下拉菜單中選擇函數模型的類別,在Function下拉菜單中選擇函數模型。此時,在Fit Curve選項卡窗口中可以看到所選函數模型的擬合曲線,在Formula選項卡中可以看到所選函數模型的表達式。
(4)根據擬合曲線的形態,選擇曲線擬合度看上去比較高的函數模型,點擊“Fit鍵”左邊的“Fit till converged鍵”。點擊Messages選項卡,觀察此窗口中顯示的COD(R^2)值,記錄下此時所選擇的函數模型。
(5)重複第(3)(4)步——選擇不同的函數模型。
(6)根據第(3)(4)(5)步的結果,選擇COD(R^2)值最接近1時所對應的函數模型,點擊“Fit鍵”(如果剛剛點擊過“Fit till converged鍵”,此時則會變為“OK鍵”)。
此時,Origin軟件的輸出結果就是所求的函數模型。其中:Notes表格中的Equation就是所求函數模型的表達式;Parameters表格中顯示了函數模型各個參數的數值;Statistics表格中顯示了函數模型的“殘差平方和”與“調整後的決定係數”的數值;Fitted Curves Plot表格中顯示了函數模型的擬合曲線。
2 應用實例
下面以一個一元函數模型
為例,對Origin軟件法予以説明。已知xi、yi值(i=1~21)如下表所示:
i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | - |
xi | 0.175 | 0.275 | 0.375 | 0.475 | 0.575 | 0.675 | 0.775 | 0.875 | 0.975 | 1.075 | |
yi | 291 | 1208 | 5739 | 13748 | 26302 | 35982 | 55748 | 58016 | 53284 | 45604 | |
i | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
xi | 1.175 | 1.275 | 1.375 | 1.475 | 1.575 | 1.675 | 1.775 | 1.875 | 1.975 | 2.075 | 2.175 |
yi | 35329 | 25352 | 19016 | 13526 | 8976 | 6013 | 4287 | 2691 | 1863 | 1299 | 1116 |
按照上節所述,接下來的操作步驟就是:
(1)打開Origin軟件,新建Workbook文件,在操作界面中輸入表1中xi、yi(i=1~21)這兩列數據;
(2)選中上述兩列數據,按下快捷鍵“Ctrl+Y”,從而打開了“曲線擬合”對話框。
(3)在Settings選項卡中,在Category下拉菜單中選擇“Origin Basic Functions”,在Function下拉菜單中選擇“Sine”。此時,在Fit Curve選項卡窗口中可以看到Sine函數模型的擬合曲線,在Formula選項卡中可以看到Sine函數模型的表達式。觀察後發現Sine函數模型擬合曲線的擬合度看上去不高,遂重新選擇函數模型。
重複上述操作,在Settings選項卡中,在Category下拉菜單中仍然選擇“Origin Basic Functions”,在Function下拉菜單中選擇“Gauss”。此時,在Fit Curve選項卡窗口中觀察Gauss函數模型的擬合曲線,發現曲線的擬合度看上去較高。
(4)點擊“Fit鍵”左邊的“Fit till converged鍵”。點擊Messages選項卡,觀察此窗口中顯示的COD(R^2)值為0.978,記錄下此時所選擇的函數模型——Gauss。
(5)重複第(3)(4)步——選擇不同的函數模型。本例中則是繼續在Category下拉菜單中選擇“Statistics”,在Function下拉菜單中選擇“Extreme”。此時,在Fit Curve選項卡窗口中觀察Extreme函數模型的擬合曲線,發現曲線的擬合度看上去較高,點擊“Fit鍵”左邊的“Fit till converged鍵”。點擊Messages選項卡,觀察此窗口中顯示的COD(R^2)值為0.990,記錄下此時所選擇的函數模型——Extreme。
(6)根據第(3)(4)(5)步的結果,選擇COD(R^2)值最接近1時所對應的函數模型——Extreme,點擊“OK鍵”得到最終輸出結果。
此時,Origin軟件的輸出結果就是所求的函數模型。其中:Notes表格中的Equation就是所求函數模型的表達式,為
——其中y0、xc、w、A為模型參數;Parameters表格中顯示了函數模型4個參數的數值,它們分別為y0=254.65、xc=0.86、w=0.27、A=56703.22;Statistics表格中顯示了函數模型的“殘差平方和”與“調整後的決定係數”的數值,它們分別為8.16×107和0.99;Fitted Curves Plot表格中顯示了函數模型的擬合曲線如下所示:
函數模型C語言程序法
1 操作步驟
C語言程序法適用於一元函數模型和多元函數模型的擬合,它適用於“函數模型已經建立,但其參數尚未確定”的情形。例如:已經運用數學方法建立了雙參數函數模型
,接下來的函數模型擬合步驟就是:
(1)確定參數a1、a2的取值範圍:例如
、
,且a1、a2為整數。
(2)藉助C語言程序,利用窮舉法,將a1、a2所有可能的取值都分組一一代入到函數模型
中去,求出每組a1、a2值所對應的函數模型的“殘差平方和”。
(3)根據“最小二乘法”,記錄下使函數模型的殘差平方和取得最小值時的a1、a2值——a1'、a2'。
(4)將a1'、a2'代入到函數模型
中,得到
,函數模型擬合完畢。
2 應用實例
下面以一個一元函數模型
為例,對C語言程序法予以説明。已知xi、yi值(i=1~21)如第2.1.2節中表1所示。首先,已經運用數學方法建立了三參數一元函數模型
,其中m、n1、n2為待定參數。接下來的函數模型擬合步驟就是:
(1)確定參數m、n1、n2的取值範圍。本例中:
,
,且n1、n2為整數;
,且m為100的倍數——為了便於計算。
(2)藉助C語言程序,利用窮舉法,將m、n1、n2所有可能的取值都分組一一代入到函數模型
中去,求出每組m、n1、n2值所對應的函數模型的“殘差平方和”。
(4)將m'、n1'、n2'值代入到函數模型
中,得到
,函數模型擬合完畢。此函數模型的擬合曲線如圖1所示:
函數模型兩種方法的對比
函數模型的計算機擬合方法分為“Origin軟件法”和“C語言程序法”兩種:Origin軟件法是利用Origin軟件的“曲線擬合”命令,直接選擇Origin軟件所提供的函數模型,將含參數的函數模型擬合出來,它適用於一元函數模型的擬合;C語言程序法是用數學方法首先建立含參數的函數模型,然後再利用C語言程序確定函數模型中的參數,它適用於一元函數模型和多元函數模型的擬合。上述兩種方法各有利弊:
- | 利 | 弊 |
Origin軟件法 | 建模方便,從軟件所提供的函數模型中直接選擇即可。模型擬合的效率高,軟件的計算速度快,模型建立、參數確定一氣呵成。 | 不能隨意修改軟件已經提供的函數模型,所建立的函數模型的通用性有限。適用範圍窄:只適用於一元函數模型的擬合。 |
C語言程序法 | 建立模型和確定參數分兩步走,精細化程度高,函數模型的針對性強。由於函數模型是事先建立的,所以修改起來比較方便。 | 費時費力:事先建立函數模型需要時間,編寫程序擬合參數也需要時間。適用範圍寬:適用於一元或多元函數模型的擬合。 |