函数模型分为
一元函数模型和
多元函数模型,其中一元函数模型最为常见。函数模型的计算机
拟合方法包括两种:“
Origin软件法”和“
C语言程序法”。Origin软件法适用于一元函数模型的拟合,C语言程序法适用于一元函数模型和多元函数模型的拟合,这两种方法各有利弊。
概念介绍
函数模型的数学表达式是,其中:,代表函数模型中所含有的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)如下表所示:
按照上节所述,接下来的操作步骤就是:
(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值所对应的函数模型的“残差平方和”。
(3)根据“最小二乘法”,记录下使函数模型的残差平方和取得最小值时的m、n1、n2值——m'=41800、n1'=21、n2'=322。
(4)将m'、n1'、n2'值代入到函数模型中,得到,函数模型拟合完毕。此函数模型的拟合曲线如图1所示:
两种方法的对比
函数模型的计算机拟合方法分为“Origin软件法”和“C语言程序法”两种:Origin软件法是利用Origin软件的“曲线拟合”命令,直接选择Origin软件所提供的函数模型,将含参数的函数模型拟合出来,它适用于一元函数模型的拟合;C语言程序法是用数学方法首先建立含参数的函数模型,然后再利用C语言程序确定函数模型中的参数,它适用于一元函数模型和多元函数模型的拟合。上述两种方法各有利弊: