主要内容

使用回归和曲线拟合的模型数据

这个例子展示了如何执行MATLAB®数据回归和曲线拟合微软®Excel®使用工作表和VBA宏。

实例中组织和显示输入和输出数据Microsoft Excel工作表。Spreadsheet Link™函数将数据复制到MATLAB工作区,并执行MATLAB计算和图形函数。VBA宏还将输出数据返回到工作表。

要使用带有电子表格链接的Excel中的VBA代码,必须启用电子表格链接作为微软Visual Basic®编辑器。详细信息请参见安装

打开ExliSamp.xls文件并选择Sheet1工作表。寻求帮助ExliSamp.xls文件的更多信息,请参考安装

Sheet1包含已命名范围的电子表格数据,由工作表单元格中的示例数据集组成A4通过C28

Sheet1包含E列单元格中的电子表格链接函数的代码

在工作表中建模数据

若要执行回归和曲线拟合,请在工作表单元格中执行指定的电子表格链接函数。

  1. 执行电子表格链接函数,通过双击单元格将示例数据集复制到MATLAB工作空间E5和紧迫输入.数据集包含三个变量的25个观测值。观测值之间有很强的线性相关性。事实上,它们很接近彼此的标量倍数。

  2. 在单元格中执行函数E8E9,E10汽油.这些单元格中的电子表格链接函数将第三列数据回归到其他两列上,并创建:

    • 一个单一向量y包含第三列数据

    • 三列矩阵一个,由一列1组成,后面跟着其余的数据

  3. 执行单元格中的函数E13.该函数使用MATLAB反斜杠计算回归系数(\)操作解决多因素决定的线性方程组,A* = y

  4. 执行单元格中的函数E16天.MATLAB矩阵向量乘法得到回归结果,适合

  5. 在单元格中执行函数E19E20,E21.这些函数:

    1. 将原始数据与适合

    2. 按递增顺序对数据进行排序,并将相同的排列应用于适合

    3. 为观察的数量创建一个标量。

  6. 在单元格中执行函数E24而且E25.将一个多项式方程拟合到一个五次多项式的数据中。MATLABpolyfit功能自动设置方程组的联立线性方程和解决的系数。金宝搏官方网站的polyval函数然后在每个数据点上计算得到的多项式,以检查拟合的优度newfit

  7. 执行单元格中的函数E28.MATLAB情节函数图的原始数据(蓝色圆圈),回归结果适合(红色虚线)和多项式结果(绿色实线)。

    图窗口包含原始数据图、回归结果图和多项式结果图

    由于数据密切相关,但不完全线性相关,因此适合曲线(虚线)显示一个接近,但不准确,拟合。五次多项式曲线newfit是对数据进行更精确的数学模型。

使用VBA宏建模数据

若要使用VBA宏对数据建模,请在VBA宏中执行电子表格链接函数。

  1. ExliSamp.xls文件,单击Sheet2选项卡。将显示此示例的工作表。

    工作表单元格A7到A31是y变量的空单元格,单元格B7到B31是拟合变量的空单元格,单元格C7到C31是新拟合变量的空单元格。

    细胞A4调用宏CurveFit,你可以在微软Visual Basic环境。

    ExliSamp.xls -模块1(代码)窗口包含CurveFit函数的VBA代码,参数为aData, sTarget1, sTarget2和sTarget3

    当此模块打开时,请确保启用了电子表格链接外接程序。要启用它,请参见插件安装.启用外接程序后,项目资源管理器将其列在参考文献文件夹中。

  2. 执行CurveFit宏,通过双击单元格A4和紧迫输入.宏运行电子表格链接函数。宏完成后,输入和输出数据将出现在工作表单元格中A7: C31

    • 列A包含原始数据y(排序)。

    • 列B包含相应的回归数据适合

    • C列包含多项式数据newfit

    工作表单元格A7到A31包含y变量的数据,单元格B7到B31包含拟合变量的回归数据,单元格C7到C31包含新拟合变量的多项式数据。

另请参阅

|||||

相关的话题