MATLAB支持用基本拟合界面进行曲线拟合。该拟合界面具有拟合快速、操作简便的优势,并且具有如下功能:
使用样条插值、分段三次艾尔米特插值(PCHIP)或者是1~10阶的多项式插值进行数据拟合;
利用一组数据可以同时制作多条拟合曲线;
可以绘制残差图;
可以检查拟合结果;
可以对拟合进行内插或外推;
用拟合结果和标准残差在图中进行注释;
可以将拟合和计算结果保存在MATLAB工作空间中。
可以按照下面的步骤进行操作。
(1)用某些数据绘图;
(2)在图形窗口的“工具”菜单中单击“基本拟合”命令;
(3)在打开的“基本拟合”对话框(见图5-2)中进行设置。
图5-2 基本拟合界面
基本拟合界面中各选项的功能介绍如下。
“数据”下拉框:该下拉框中显示了图形窗口中图形用到的所有数据集的名称,在其中选择要拟合的数据。一次只能选择一组数据,但在一组数据里可以同时拟合多条曲线。
“中心化并缩放x轴数据”复选框:选择此复选框以后,数据中心化为具有0均值,比例化为具有单位标准差。对数据进行中心化和比例化,可以提高后面数值计算的精度。
“拟合的类型”区域:选择当前数据集的拟合类型。有两种拟合类型可供选择,即插值和多项式。插值方式包括三次样条插值和保形插值。多项式拟合可以使用1~10次多项式模型。如果数据有N个点,则应该使用至少有N个系数的多项式。如果使用多于N个系数的多项式,则界面会自动在计算中设置足够个数的0系数,使得系统是非欠定的。在区域中选择复选框,则复选框对应的拟合模型的图形和方程会立即显示在图形窗口的坐标系中。
“拟合结果”区域:在本区域对前步选择的每个模型设置需要输出的拟合结果,可选结果包括拟合模型的方程、R平方和残差范数。每个模型占用一个选项卡。可通过“有效数字”下拉框设置将计算结果保留几位小数。默认时选择了方程,如果选择模型的R平方和残差范数,则对应的结果会立即显示在图形窗口的坐标系中。单击区域右下角的“扩展结果”按钮,会弹出一个对话框,显示当前选定模型的选定拟合结果。可将该结果导出到工作区。
“误差估计(残差)”区域:在本区域设置残差图的绘制方式。在“绘图样式”下拉框中选择绘图样式,默认时不绘图,可以用条形图、散点图或线形图进行绘制。在“绘图位置”下拉框中选择绘图的位置,可以在单独的图形窗口绘图,也可以在原图形窗口以子图的形式绘制。选择“残差范数”复选框,显示残差的范数。残差的范数是表示拟合优度的一个统计量,值越小,表示拟合程度越高。用norm函数进行计算,即norm(V,2),其中V为残差向量。
“内插外插数据”区域:在本区域输入表示插入点的值(如2)或表达式(如1:2:8)。插入点可以在原数据点的取值范围以内,称为内插,也可以在原范围以外,称为外插。输入插入点的值或表达式后,回车,会在文本框下方显示一个有2列的表格,第1列和第2列分别显示各插入点的横坐标和纵坐标。选择“绘制计算的数据”复选框,在图形窗口绘制计算结果。单击文本框右侧的箭头按钮,可以将计算结果输出到工作区。
【例15】通过拟合MATLAB自带的数据census.mat演示基本拟合界面的功能。
(1)在命令窗口中输入下面的命令,在图形窗口中绘图。
>> load census
>> plot(cdate,pop,'ro')
生成图5-3。
图5-3 从“工具”菜单中选择“基本拟合”选项
(2)从图形窗口的“工具”菜单中选择“基本拟合”选项,打开“基本拟合”对话框,如图1-6所示。
(3)在“拟合的类型”区域选择“二次”、“三次”和“样条插值”复选框,立即在图形窗口中添加对应模型的图形,如图5-4所示。
图5-4 绘制选定拟合模型的图形
(4) 在“拟合结果”区域,在“二次”和“三次”选项卡中分别选择“R2”和“残差范数”复选框,图形窗口中立即显示模型拟合的R平方值和残差范数,如图5-5所示。
图5-5 添加更多拟合结果
单击“拟合结果”区域右下角的“扩展结果”按钮,打开当前拟合模型对应的拟合结果对话框。如图5-6中为三次多项式模型对应的拟合结果,包括拟合模型的方程、方程的待定系数、R平方和残差范数。
图5-6 “拟合结果”对话框
(5) 在“误差估计(残差)”区域,在“绘图样式”下拉框中选择“散点图”,在“绘图位置”下拉框中选择“子图”,选择“残差范数”复选框,立即在图形窗口中添加残差散点图子图,如图5-7所示。
图5-7 添加残差散点图
(6) 在“内插/外插数据”区域,在“X=”文本框中输入“[1700 1880 1920 1980]”,根据拟合模型给定点进行内插或外插。选择“绘制计算的数据”复选框,插入点以棱形标记显示在图形窗口的模型曲线上,如图5-8所示。
图5-8 添加插入点
同时在“X=”文本框下方显示一个表格,表格有2列,分别保存各插入点的横坐标和纵坐标,如图5-9所示。
图5-9 插入点的坐标
单击“X=”文本框右侧的箭头按钮,打开“将结果保存到工作区”对话框,如图5-10所示。输入变量名称,单击“确定”按钮,结果用指定变量保存到工作区。
图5-10 将拟合结果保存到工作区