当前位置:文档之家› 重庆大学矩阵理论及其应用论文

重庆大学矩阵理论及其应用论文

“矩阵理论及其应用”课程研究报告

科 目: 矩阵理论及其应用 教 师: 蒋卫生

姓 名: 学 号:

专 业: 机械电子工程 类 别: 学术

上课时间: 2013 年 10 月至2013 年 12 月

考 生 成 绩:

阅卷评语:

阅卷教师 (签名)

最小二乘法问题

摘要:无论在哪个专业领域,都不可避免的要面对测量所得到的一批数据。这些数据看似杂乱无章,但对于特定的时间却是符合特定的规律。而要发现这些规律必须借助一定的手段。矩阵理论作为一门具有强大功能的学科再此发挥了它重要的作用。用矩阵论的理论来处理现代工程技术中的各种问题已经越来越普遍了。在工程技术中引进矩阵理论不仅使理论的表达极为简捷,而且对理论的实质刻画也更为深刻,这一点是不容质疑的,更由于计算机和计算方法的普及发展,不仅为矩阵理论的应用开辟了崭新的研究途径。矩阵理论与方法已成为研究现代工程技术的数学基础。因此,对于数据的处理采用最小二乘法是最恰当不过的了。

关键词:数据处理,矩阵理论,最小二乘法

正文

一、引言

最小二乘法已有近200年的发展历史,它首先由Gauss K F提出并被应用于天文计算中,现已被广泛地用来解决各种技术问题。在过去的30多年里,它已被成功地应用到过程控制系统的参数估计领域,数字计算机技术又使最小二乘原理更有实践价值。参数估计现在模型结构已知时,用实验法所取得的数据来确定表征系统动力学模型中的参数。最小二乘法原理提供了一个数学程序,通过它可以获得一个在最小方差意义下与实践数据拟合最好的模型,它在稳态系统数学模型的回归分析方面应用已很成熟,在动态系统的参数辨识方面也取得了许多重要成果,其参数估计的收敛性质也得到了深入的研究,可以说在参数估计领域中最小二乘方法已达到了完善的程度。

本文讨论的问题如下:

一颗导弹从敌国发射,通过雷达我们观测到了它的飞行轨迹,具体有如下数据:

i 0 1 2 3 4

x 0 250 500 750 1000

y 0 8 15 19 20

我国军情处分析得出该导弹沿抛物线轨道飞行。

问题:预测该导弹在什么水平距离着地。

二、预备知识

基本术语解释

从整体上考虑近似函数px同所给数据点,0,1,()iiimxy误差0,1,iiirpxyim的大小,常用的方法有以下三种:

∞—范数:绝对值的最大值0max||iimr

1—范数:误差绝对值的和m0||iir

2—范数(欧式范数):误差平方和m20iir的算术平方根。

前两种方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方,因此在曲线拟合中常采用误差平方和m20iir来 度量误差0,1,iimr的整体大小。

最小二乘法:对给定数据,iixy,0,1,i…,m,在取定的函数类中,求pxφ,使误差iirpxy,0,1,i…,m的平方和最小,即

2200()minmmiiiiiIrpxy

从几何意义上讲,就是寻求与给定点,iixy,0,1,i…,m的距离平方和为最小的曲线ypx。函数px称为拟合函数或最小二乘解,求拟合函数px的方法称为曲线拟合的最小二乘法。

基本原理阐释:

假设给定数据点,iixy,0,1,i…,m,为所有次数不超过nnm的多项式构成的函数类,现求一0nknkipxax,使得

2200()minmmiiiiiIrpxy

显然上式为01,,naaa…的多元函数,因此上述问题即为求01,,nIIaaa…的极值问题。由多元函数求极值的必要条件,得

002()0mnjkiiikikjIaxyxa 0,1,jn

000()nmmjkjiiikiikayxx 0,1,jn

上式为关于01,,naaa…的线性方程组,用矩阵表示为

miinimiiimiinminiminiminiminimiimiiminimiiyxyxyaaaxxxxxxxxm000100201001020001

以上两式称为正规方程组或法方程组。

可以证明,上述方程组的系数矩阵是一个对称正定矩阵,故存在唯一解。从线性方程组解出0,1,,kakn,从而可得多项式

nkkknxaxp0)(

可以证明,式中的nPx即为所求的拟合多项式。我们把20[]mniiiPxy称为最小二乘拟合多项式nPx的平方误差,记作

200220()||||nmkiiikiimiaxyry

可得

200220()||||nmkiiikiimiaxyry

三、求解过程

由题目内容可知,该导弹沿抛物线飞行。我们从导弹的观测到的发射点为O点,以导弹前进方向的水平面的x轴,以O点的垂直高度为y轴,建立直角坐标系。则观测数据为

i 0 1 2 3 4

x 0 250 500 750 1000

y 0 8 15 19 20

根据抛物线的特征可建立导弹飞行轨迹的曲线模型为:

2012Pxaaxax,可知参数m=4, n=2。

miinimiiimiinminiminiminiminimiimiiminimiiyxyxyaaaxxxxxxxxm000100201001020001

由表中数据,可计算出系数矩阵和值矩阵中的相应的元素。所得结果如下:

01122525001875000621562500000437502500187500034937500187500015625000001.382812510aaa

通过matlab求出该线程方程组的解为

0120.228570.0398290.000019429aaa

从而,该最小拟合曲线模型为:2()0.228570.0398290.000019429Pxxx

将观测到的水平距离数据ix带入得到的曲线模型,得

0 1 2

3

4

ix 0 250 500 750 1000

iy 0 8 15 19 20

*()iPx -0.22857 8.5143675 14.82868 18.7143675 20.17143

平方误差:

2*220[()]0.457142882miiirPxy 由最小二乘拟合曲线*()Px,我们令*()0Px,则可以求出导弹的预测着陆点,

20.228570.0398290.0000194290xx

解该一元二次方程,得

122044.2335.75495()xx舍

则,我们预测的导弹在2044.233着陆。

结论

对大批看似杂乱无章的数据,应用最小二乘拟合是发现这些数据规律的重要且有效的手段,并且通过最小二乘可以可靠地获得一些未知的信息。由本报告所得到的结论如下:

(1) 由表2中数据对比可看出,由最小二乘法得到的方程所计算出的数据与观测到的数据误差相差在可接受范围内。且其误差平方和为最小,只有0.457142882。

由matlab做出拟合曲线和观测值得图像,如附图1,(图中圆圈所表示为观测值)看出预测点基本与所拟合的曲线重合。由此更加直观的看出由小二乘法所得到的拟合曲线所预测的结果可信度极高。

(2) 最小二乘拟合多项式的存在唯一性。即线性方程组

有且仅有一组解。证明略。

参考文献

[1] 李新,何传江.矩阵理论及其应用[M].重庆:重庆大学出版社,2008        

 

       

 

   

 

   

 

       

 

       

  

  

       

  

  

  

   

m

i i n

i m

i i i m

i i

n m

i n

i m

i n

i m

i n

i m

i n

i m

i i m

i i m

i n

i m

i i

y x y x y

a a a

x x x x x x x x m

0 0 0

1 0

0 2

0 1

0 0 1

0 2

0 0 0 1

 

      附录:

01002003004005006007008009001000-50510152025

data1data2

图1

Matlab代码:

(1) 求线性方程组的解:

>> A=[5 2500 1875000;2500 1875000 1562500000;1875000 1562500000

1382812500000];

>> b=[62 43750 34937500]';

>> a=A\b

a =

-8/35

158/3967

-5/257353

(2) 求预测着陆点:

>> p=[-1.94285714285714e-05 0.03983 -0.2286];

>> x=roots(p)

x =

44975/22

259/45

(3) 作图:

>> x=0:250:1000;

>> y=-1.94285714285714e-05*x.^2+0.03983*x-0.2286;

>> z=[0 8 15 19 20];

>> t=[0 250 500 750 1000];

>> figure1=figure('color',[1 1 1]);

>> plot(x,y,t,z,'o-')

相关主题