主要内容

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

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

这个例子组织和显示输入和输出数据Microsoft Excel工作表。电子表格链接™函数复制数据到MATLAB工作空间,并执行MATLAB计算和图形函数。VBA宏还将输出数据返回到工作表。

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

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

Sheet1的值包含指定的范围数据,其中包含工作表单元格中的示例数据集A4通过C28

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

工作表中的模型数据

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

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

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

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

    • 一个三列的矩阵一个,它包含一列1,后面是其余的数据

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

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

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

    1. 将原始数据与适合

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

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

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

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

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

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

模型数据使用VBA宏

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

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

    工作表单元格A7到A31为y变量的空单元格,单元格B7到B31为fit变量的空单元格,单元格C7到C31为newfit变量的空单元格。

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

    ExliSamp.xls - Module1 (Code)窗口包含了参数为aData, sTarget1, sTarget2和sTarget3的CurveFit函数的VBA代码。

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

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

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

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

    • 列C包含多项式数据newfit

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

另请参阅

|||||

相关的话题