昆明理工数值分析大作业最小二乘法Word格式.docx
- 文档编号:13224827
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:11
- 大小:80.98KB
昆明理工数值分析大作业最小二乘法Word格式.docx
《昆明理工数值分析大作业最小二乘法Word格式.docx》由会员分享,可在线阅读,更多相关《昆明理工数值分析大作业最小二乘法Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
4.15
4.37
4.51
4.58
4.02
4.64
1、用最小二乘法进行曲线拟合;
2、近似解析表达式为?
(t)=ait+a2t2+ast3;
3、打印出拟合函数?
(t),并打印出?
(tj)与y(tj)的误差,j=1,2,"
12;
4、另外选取一个近似表达式,尝试拟合效果的比较;
5、*绘制出曲线拟合图*。
三、实验目的
1、掌握曲线拟合的最小二乘法;
2、最小二乘法亦可用于解超定线代数方程组;
3、探索拟合函数的选择与拟合精度间的关系。
四、实验原理一一最小二乘法拟合
在函数的最佳平方逼近中f(x)€[a,b],对已知函数f(x)的一组离散数据
{(xi,yi),i=0,1,…m},yi=f(xi),求函数拟合S*(x),记误差Si=S*(xi)-yi
要求一个函数yS*(x)与所给数据x,yi,i0,1,,m的曲线拟合,这
里yif<
i
0,1,
m,
要求
一个函数y
S*(x)与所给数据
人』,i0,1,
m
拟
合
若
记误差
iS**yii
0,1,
2,,m,^设0
x,1x,,nx是Ca,b
上线性无关函数族,
在
span0
x,1x,,nx
中找一函数S*x,使误
差平方和
m
2
i
S*
Xiyi
minSxi
yi,(4.1)
i0
SXi0
这里
Sxa0
0x
a11x
a
1xn<
m.
(4.2)
这就是一般的最小二乘逼近,用几何语言说,就称为曲线拟合的
最小二乘法。
用最小二乘法求拟合曲线时,首先要确定Sx的形式。
这不单纯
是数学问题,还与所研究问题的运动规律及所得观测数据冷%有关;
通常要从问题的运动规律或给定数据描图,确定Sx的形式,并通过实际计算选出较好的结果一这点将从下面的例题得到说明。
Sx的一
般表达式为(4.2)式表示的线性形式。
若kx是k次多项式,Sx就是n次多项式。
为了使问题的提法更有一般性,通常在最小二乘法中
112都考虑为加权平方和
(4.3)
wXiSXi
这里wx0是a,b上的权函数,它表示不同点Xi,fXi处的数据比重
不同,例如,WXi可表示在点Xi,fXi处重复观测的次数,用最小二乘法求拟合曲线的问题时,就是在形如(4.2)式的Sx中求一函数
yS*x,使(4.3)式取得最小。
它转化为求多元函数
的极小点a;
a;
,a;
的问题。
由求多元函数极值的必要条件,有
Imn
2wXiajjx
aki0j0
fXikXi0,k0,1,,n.
五、实验设计和实验步骤
本实验利用最小二乘法和题目所给函数形式对所给数据进行拟合。
而
后选用不同函数形式对所给数据进行拟合得到拟合数据和所给数据的相对误差。
而后在正交多项式函数组的基础上建立相对最佳基函数选择指标P并且记录了相对最佳拟合函数。
现将实验步骤陈述如下:
(1)建立正交多项式函数族建立的程序思路和拟合函数系数求解。
(2)编辑程序进行计算记录实验结果。
(3)对所得结果进行总结和分析,找出存在的问题,探索拟合函数
的选择与拟合精度间的关系。
评价本次实验的结果。
六、编程思路
实验使用matlab工具编写了计算使用正交函数族©
二span(©
0(x),©
1(x)…进行最小二乘法拟合的拟合函数各项系
数的函数程序。
这是比较简单的。
并计算了其误差。
现将编程思路陈述如下:
一,按照不同和拟合多项式求拟合函数及其误差:
(1)利用已知条件生成相应正交多项式函数族
©
=span(©
1(x)……©
n(x))
(2)求格拉姆矩阵(即求其对角线元素)
G=
他叭)呛J“•9观)
¥
BV-■V1>
¥
FS-”
血®
)0詡:
)…妙mJ
(3)求(城(x),f(x))
(4)对应除以相应格拉姆矩阵对角线元素得到拟合函数
系数向量a.
(5)生成拟合函数绘图并且计算原来拟合数据中对应x点的函数值,求其误差。
6)改变所选择拟合函数的类型进行拟合如上过程求其拟合函
数误差及相应图像。
(4)探索拟合函数的选择与拟合精度间的关系。
利用已经建立的最小二乘法拟合函数来建立相应的最佳拟合函数
寻找函数,是一个比价复杂的过程,这里我们仅仅使用上面的正交多项式生成的函数族©
1(x)来寻找适宜的基函数
值个数,通过误差是否达到某一个极值来反应其适宜度的变化情况,现将该程序的建立思路简述如下:
(1)利用拟合数据和拟合函数值的相对误差建立判断指标P,
(2)利用判断指标P随着基函数个数的变化找出拟合数据范围内的
最大值,最小值和峰值。
(3)记录峰值处的拟合函数个数。
(4)在一定范围内画出判断指标P随基函数个数变化的函数图。
七、程序建立及实验结果
利用正交多项式求最小二乘法拟合函数
functionw=zjdxsnh(n,x,y);
m=length(x);
mf=zeros(1,n);
mp=zeros(1,n);
P=ones(n,m);
aw=0;
af=zeros(1,n-2);
bf=zeros(1,n-2);
fori=1:
m;
aw=x(i)+aw;
end
af
(1)=aw/m;
P(2,i)=x(i)-af
(1);
fori=3:
n;
d=i-2;
sumpl二sum(P(i-1,:
)42);
sump2二sum(P(i-2,:
sump3二sum((P(i-1)42).*x);
af(i-1)=sump3/sump1;
bf(i-2)=sump1/sump2;
P(i,:
)=x.*P(i-1,:
)-af(i-1)*P(i-1,:
)-bf(i-2)*P(i-2,:
);
forj=1:
fork=1:
mf(j)=mf(j)+P(j,k)A2;
mp(j)=mp(j)+P(j,k)*y(k);
%正交多项式的系数计算
A=zeros(n,n+2);
A(:
3)=1;
A(2,4)=af
(1);
1)=zeros();
2)=zeros();
d=i-1;
forj=4:
(n+2);
A(i,j)=A(i-1,j-1)-af(i-2)*A(i-1,j)-bf(i-2)*A(i-2,j-2);
endend%最终系数计算
AY=zeros(1,n);
a=mp./mf;
AX=zeros(n,n+2);
forz=1:
n
AX(z,:
)=a(z)*A(z,:
forb=1:
fort=1:
b;
AY(b)=AX(n-t+1,b+3-t)+AY(b);
w=AY;
由于使用的是课本上的正交多项式进行拟合,其系数的计算会带来巨大的误差,故最终的拟合多项式和原来的拟合数据发生了很大误差,这说明利用以上这一思路和实验设计来求解题目是不适合的。
即:
采用生成多项式的方法和思路去寻找最小二乘法拟合是不合理的。
至于后面探索精度和拟合多项式类型之间关系的工作至此无法做起!
由此本实验转换思路利用matlab强大的拟合功能来进行:
所使用的代码如下:
x=[0
510
152025303540455055];
y=[0
4.154.374.514.58
4.64];
plot(x,y,'
*'
holdon
p=polyfit(x,y,n);
xx=0:
1:
55;
yy=polyval(p,xx);
plot(xx,yy);
分别采用5次多项式,4次多项式和3次多项式所得拟合曲线如下:
5次,
4次,
3次,
F面是误差反应的图形:
五次:
Oegrec5
4
YYelves
4.07063
“2
C.4^993
1
010
Export.,.|
Close
四次:
2030
27.5
XValues
Degree
VValues
4.0706
0505
6
S
3
Q
275
Export...
三次:
对比拟合曲线得知采用五次多项式来拟合曲线其趋势相对较符合。
七、实验结果分析
本
次实验尝试采用自编程序的方法来进行相应的最小二乘法拟合及探
索工作,但是由于选取的方法不当带来了巨大误差导致了实验的失败,
最终采用已经有的成熟技术得到了实验结果。
II
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 昆明 理工 数值 分析 作业 最小二乘法
![提示](https://static.bdocx.com/images/bang_tan.gif)