数值分析实验(3)_第1页
数值分析实验(3)_第2页
数值分析实验(3)_第3页
数值分析实验(3)_第4页
数值分析实验(3)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三 函数逼近与快速傅里叶变换 P95 专业班级:信计131班 姓名:段雨博 学号:2013014907一、实验目的1、熟悉matlab编程。2、学习最小二乘法及程序设计算法。二、实验题目1、对于给函数在区间上取,试求3次曲线拟合,试画出拟合曲线并打印出方程,与第二章计算实习题2的结果进行对比。2、由实验给出数据表0.00.10.20.30.50.81.01.00.410.500.610.912.022.46试求3次、4次多项式的曲线拟合,再根据数据曲线形状,求一个另外函数的拟合曲线,用图示数据曲线及相应的三种拟合曲线。3. 给定数据点如表所示00.50.60.70.80.91 11.751.962.192.442.713.00用最小二乘法求拟合数据的二次多项式,并求平方误差。 三、实验原理与理论基础1最小二乘原理与线性拟合:在函数的最佳平方逼近中,如果只在一组离散点集上给出,这就是科学实验中经常见到的实验数据的曲线拟合,这里,要求一个函数与所给数据拟合,若记误差,设是Ca,b上线性无关函数族,在中找一函数使误差平方和,这 里 ()。这就是一般的最小二乘逼近,用几何语言说,就称为曲线拟合的最小二乘法。 数据拟合是根据测定的数据间的相互关系,确定曲线的类型,然后再根据在给定点上误差的平方和达到最小的原则,即求解无约束问题:确定出最优参数:,从而得到拟合曲线2、多项式拟合。3、定义1:设有数据和权系数称:为函数4、用正交函数最佳平方逼近: 为避免出现正规方程组的系数矩阵是病态矩阵的情况,在选择多项式时需要考虑正交的多项式是正交基,即:于是正规方程组可以简化为: (1)解方程得到:这里避免了求解病态方程组,提高了计算系数的精确度。对任意的其最佳平方逼近函数为:由式(1)以及,导出平方误差为:其平方根称为均方误差。5、由题意决定,即决定拟合多项式,分别计算,用组成方阵A,用组成矩阵B,利用A/B求出该多项式的系数,再利用求出平方误差。四、实验内容解:1、 i = 0:10; x = -1+0.2*i; y = 1./(1+25*x.2); p=polyfit(x,y,3); s=vpa(poly2sym(p) s = - 0.00000000000000016864439246388428423588689609742*x3 - 0.57518273581808898597955703735352*x2 + 0.000000000000000042557797397088199024277357508168*x + 0.48412492484890701227584486332489 f=polyval(p,x); plot(x,f,x,y,o )2、 x=0 0.1 0.2 0.3 0.5 0.8 1; y=1 0.41 0.5 0.61 0.91 2.02 2.46; p1=polyfit(x,y,3)%三次多项式拟合p1 = -6.6221 12.8147 -4.6591 0.9266 p2=polyfit(x,y,4)%四次多项式拟合p2 = 2.8853 -12.3348 16.2747 -5.2987 0.9427 y1=polyval(p1,x); y2=polyval(p2,x);%多项式求值 plot(x,y,c-,x,y1,r:,x,y2,y-.) p3=polyfit(x,y,2)%观察图像,类似抛物线,故用二次多项式拟合。p3 = 3.1316 -1.2400 0.7356 y3=polyval(p3,x); plot(x,y,c-,x,y1,r:,x,y2,y-.,x,y3,k-)%画出四种拟合曲线3、M文件:function =zuixiaoercinihe2(x,y)n=length(x);k00=0;for i=1:n k00=k00+1;endk01=0;for i=1:n k01=k01+x(i);endk02=0;for i=1:n k02=k02+x(i)*x(i);endk11=0;for i=1:n k11=k11+x(i)*x(i);endk12=0;for i=1:n k12=k12+x(i)*x(i)*x(i);endk22=0;for i=1:n k22=k22+x(i)*x(i)*x(i)*x(i);endk0y=0;for i=1:n k0y=k0y+y(i);endk1y=0;for i=1:n k1y=k1y+x(i)*y(i);endk2y=0;for i=1:n k2y=k2y+x(i)*x(i)*y(i);endA=k00 k01 k02;k01 k11 k12;k02 k12 k22;B=k0y;k1y;k2y;C=AB;p=C(1);q=C(2);r=C(3);syms m;拟合的二次函数为f=p+q*m+r*m*ml=0;for i=1:n l=l+(p+q*x(i)+r*x(i)*x(i)-y(i)*(p+q*x(i)+r*x(i)*x(i)-y(i);end该拟合函数的平方误差为end五、实验结果1、 i = 0:10; x = -1+0.2*i; y = 1./(1+25*x.2); p=polyfit(x,y,3); s=vpa(poly2sym(p) s = - 0.00000000000000016864439246388428423588689609742*x3 - 0.57518273581808898597955703735352*x2 + 0.000000000000000042557797397088199024277357508168*x + 0.48412492484890701227584486332489 f=polyval(p,x); plot(x,f,x,y,o )2、 x=0 0.1 0.2 0.3 0.5 0.8 1; y=1 0.41 0.5 0.61 0.91 2.02 2.46; p1=polyfit(x,y,3)%三次多项式拟合p1 = -6.6221 12.8147 -4.6591 0.9266 p2=polyfit(x,y,4)%四次多项式拟合p2 = 2.8853 -12.3348 16.2747 -5.2987 0.9427 y1=polyval(p1,x); y2=polyval(p2,x);%多项式求值 plot(x,y,c-,x,y1,r:,x,y2,y-.) p3=polyfit(x,y,2)%观察图像,类似抛物线,故用二次多项式拟合。p3 = 3.1316 -1.2400 0.7356 y3=polyval(p3,x); plot(x,y,c-,x,y1,r:,x,y2,y-.,x,y3,k-)%画出四种拟合曲线3、 x=0 0.5 0.6 0.7 0.8 0.9 1.0x = 0 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000 y=1 1.75 1.96 2.19 2.44 2.71 3.00y = 1.0000 1.7500 1.9600 2.1900 2.4400 2.7100 3.0000 zuixiaoercinihe2(x,y)ans =拟合的二次函数为f =m2 + m + 1ans =该拟合函数的平方误差为l = 5.8178e-030六、实验结果分析与小结1、通过这次实习,我学会了如何使用matlab根据已知点或者函数进行线性拟合,并慢慢熟悉编写函数后如何进行改错,有些过程作了简单的注释,也明白了课本中最小二乘法算法如何逼近、如何运算,对第三章的理论内容有了更深的了解。只有真正操作了才能将理论转为实践,有新的发现。2、不足的地方仍然是matlab的使用。虽然很简单的最基础的会了一点,可是使用matlab仍有困难,有些函数编写不太对,结果出不来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论