- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最小二乘法拟合方法的应用
CENTRAL SOUTH UNIVERSITY
数值分析实验报告
最小二乘法拟合的方法的应用
一、问题背景
在实际的工程应用中,人们往往只能测得一些分散的数据点,为了从这些分散的数据点中找到内在的规律性,就需要利用这些分散的数据点,运用最小二乘法、多项式或其他的已知函数等方法来生成一个新的多项式或是函数来逼近这些已知点。由于MATLAB语言强大的计算功能和绘图功能,使得用户可以很方便的进行曲线拟合并绘制曲线拟合图。
二、数学模型
我们常说的最小二乘拟合通常指最小二乘多项式拟合。比多项式更一般的拟合函数形式为
其中,,…,为m个函数(多项式拟合中取为幂函数)。假设有n组观测数据,,将它们代入上面设定的拟合函数形式中得到
,
上面的方程组不一定有解,故写成约等号。这里的拟合就是确定参数,,…,的一组值,记为,,…,,使得由
其中计算得到的数值与观测数据 尽可能接近,这组,,…,可通过解最小化问题得到,即求
这种使与的误差平方和在最小二乘意义下最小所确定的函数 称为最小二乘拟合函数。
如果定义的拟合模型是关于参数的线性函数,则称为线性模型;如果拟合模型关于参数是非线性函数,则称为非线性模型。在多数情况下,可以通过函数变换的方式将非线性模型转化为线性模型。
三、算法及流程
对于给定的一组数据,假设拟合函数
其中基函数为线性无关的函数系。最小二乘拟合问题就是求系数,使下面的表达式取极小值。
根据多元函数极值问题,E取极值的必要条件是
设
以及,
那么-
如此,最小二乘拟合问题就转化为超定线性方程组
的最小二乘问题。
四、计算结果及分析
求数据
x -3 -2 -1 0 1 2 3 y 4 2 3 0 -1 -2 -5 的最小二乘拟合。
用MATLAB编写主函数如下:
% 最小二乘法拟合的主函数
x=[-3 -2 -1 0 1 2 3];
y=[4 2 3 0 -1 -2 -5];
% c为要求的变量
% 形成线性方程的系数矩阵
a=[
zx_nh_f(x(1))
zx_nh_f(x(2))
zx_nh_f(x(3))
zx_nh_f(x(4))
zx_nh_f(x(5))
zx_nh_f(x(6))
zx_nh_f(x(7))];
b=y;
% 法方程
A=a*a;
B=a*b;
c=A\B
% 在MATLAB中实际上可以直接使用c=a\b,其实以及进行了最小二乘
% c就是拟合基函数系数
% 作出原离散数据与你和函数图像
x_n=-3:0.02:3;
y_n=c(1)*1+c(2)*x_n+c(3)*x_n.^2;
plot(x,y,*,x_n,y_n)
grid
将文件以文件名zx_nh.m保存。
再编写拟合的基函数程序:
% 最小二乘法的拟合基函数
function f=zx_nh_f(x)
f(1)=1;
f(2)=x;
f(3)=x^2;
将文件以文件名zx_nh_f.m保存。
在MATLAB命令窗口输入:
zx_nh
回车得到:
c =
0.666666666666666
-1.392857142857143
-0.130952380952381
则由最小二乘法拟合得到的函数为:
运行程序还得到原离散数据与拟合函数图像,如下图所示,数据拟合与插值的最大区别在于拟合不需要函数经过原来数据的每一点,而是要求偏差平方和最小。从图中可以看出,在二次多项式拟合的情况下这个表达式在有限的精度内是最优的。
文档评论(0)