这个例子展示了如何执行MATLAB®数据回归和曲线拟合微软®Excel®使用工作表和VBA宏。
实例中组织和显示输入和输出数据Microsoft Excel工作表。Spreadsheet Link™函数将数据复制到MATLAB工作区,并执行MATLAB计算和图形函数。VBA宏还将输出数据返回到工作表。
要使用带有电子表格链接的Excel中的VBA代码,必须启用电子表格链接作为微软Visual Basic®编辑器。详细信息请参见安装.
打开ExliSamp.xls
文件并选择Sheet1工作表。寻求帮助ExliSamp.xls
文件的更多信息,请参考安装.
Sheet1包含已命名范围的电子表格数据
,由工作表单元格中的示例数据集组成A4
通过C28
.
若要执行回归和曲线拟合,请在工作表单元格中执行指定的电子表格链接函数。
执行电子表格链接函数,通过双击单元格将示例数据集复制到MATLAB工作空间E5
和紧迫输入.数据集包含三个变量的25个观测值。观测值之间有很强的线性相关性。事实上,它们很接近彼此的标量倍数。
在单元格中执行函数E8
,E9
,E10汽油
.这些单元格中的电子表格链接函数将第三列数据回归到其他两列上,并创建:
一个单一向量y
包含第三列数据
三列矩阵一个
,由一列1组成,后面跟着其余的数据
执行单元格中的函数E13
.该函数使用MATLAB反斜杠计算回归系数(\)
操作解决多因素决定的线性方程组,A* = y
.
执行单元格中的函数E16天
.MATLAB矩阵向量乘法得到回归结果,适合
.
在单元格中执行函数E19
,E20
,E21
.这些函数:
将原始数据与适合
.
按递增顺序对数据进行排序,并将相同的排列应用于适合
.
为观察的数量创建一个标量。
在单元格中执行函数E24
而且E25
.将一个多项式方程拟合到一个五次多项式的数据中。MATLABpolyfit
功能自动设置方程组的联立线性方程和解决的系数。金宝搏官方网站的polyval
函数然后在每个数据点上计算得到的多项式,以检查拟合的优度newfit
.
执行单元格中的函数E28
.MATLAB情节
函数图的原始数据(蓝色圆圈),回归结果适合
(红色虚线)和多项式结果(绿色实线)。
由于数据密切相关,但不完全线性相关,因此适合
曲线(虚线)显示一个接近,但不准确,拟合。五次多项式曲线newfit
是对数据进行更精确的数学模型。
若要使用VBA宏对数据建模,请在VBA宏中执行电子表格链接函数。
在ExliSamp.xls
文件,单击Sheet2选项卡。将显示此示例的工作表。
细胞A4
调用宏CurveFit
,你可以在微软Visual Basic环境。
当此模块打开时,请确保启用了电子表格链接外接程序。要启用它,请参见插件安装.启用外接程序后,项目资源管理器将其列在参考文献文件夹中。
执行CurveFit
宏,通过双击单元格A4
和紧迫输入.宏运行电子表格链接函数。宏完成后,输入和输出数据将出现在工作表单元格中A7: C31
.
列A包含原始数据y
(排序)。
列B包含相应的回归数据适合
.
C列包含多项式数据newfit
.
MLEvalString
|MLGetMatrix
|MLPutMatrix
|情节
|polyfit
|polyval