数值分析—实验报告1_第1页
数值分析—实验报告1_第2页
数值分析—实验报告1_第3页
数值分析—实验报告1_第4页
数值分析—实验报告1_第5页
全文预览已结束

下载本文档

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

文档简介

.左上方框里填写学号后两位,学习委员按此顺号(报告展开排序)交给老师 31 数值分析实验报告专业 信息与计算科学 班级 15级1班 组别 指导教师 汪玉霞 姓名 史博强 同组人 实验时间 2017 年 10 月 20 日 实验地点 k7403 实验名称 插值函数与数据拟合 实验目的:(1)由函数的个节点处函数值得出次Lagrange插值函数;(2)由函数的个节点处函数值得出次Newton插值函数;(3)由函数的个节点处函数值得出Hermite插值函数或分段三次Hermite函数;(4)由未知函数的离散数据得出最小二乘拟合函数。实验仪器:1、支持Intel Pentium 及其以上CPU,内存256MB以上、硬盘1GB以上容量的微机; 软件配有Windows98/2000/XP操作系统及MATLAB软件等。2、了解MATLAB等软件的特点及系统组成,在电脑上操作MATLAB等软件。实验内容、步骤及程序:1、 Lagrange插值函数程序:function yi=lg201541110131(x,y,xin)n=length(x);p=zeros(1,n);for k=1:n t=ones(1,n); for j=1:n if j=k t(j)=(xin-x(j)/(x(k)-x(j); end end p(k)=prod(t);endyi=sum(y.*p);题目:设f(x)=lnx并已知f(x)的数据如下表:x0.400.500.70f(x)-0.916291-0.693147-0.356675试用Lagrange插值多项式来计算ln(0.6)的近似值并估计误差。运行结果:format longx=0.40 0.50 0.70;y=-0.916291 -0.693147 -0.356675;xin=0.6;yi=lg201541110131(x,y,xin)yi = -0.50660833333333jqz=log(0.6)jqz = -0.51082562376599wc=yi-jqzwc = 0.00421729043266x=0.70 0.80 0.90;y=log(x);xin=0.6;yi=lg201541110131(x,y,xin)yi = -0.50595469353139wc=yi-jqzwc = 0.00487093023460数据分析: 表:ln(0.6)内插外插x0.40.50.70.70.80.9f(x)-0.916291-0.693147-0.356675-0.356675-0.223144-0.105361yi-0.50660833333333-0.50595469353139jqz-0.51082562376599-0.51082562376599wc0.004217290432660.0048709302346小结:根据以上的数据分析得内插的误差较小,要使x的结果更接近真实值,则要选择内插进行插值,并且插值区间a,b越小更接近真实值。运用插值法时要注意几个问题:(1)如果f(x)本身是次数不超过n的多项式,那么满足n+1个插值条件多项式就是它自身;(2)如果插值区间a,b很大,那么对给定的x,|wn+1(x)|的值一般会很大,因此,误差可能很大;(3)插值多项式一般仅用来估计插值区间内点的函数值。2、 Newton插值函数程序:function ndcz,Y=nd201541110131(x,y,xin)n=length(x);Y=zeros(n);Y(:,1)=y;for k=1:n-1 for i=1:n-k Y(i,k+1)=(Y(i+1,k)-Y(i,k)/(x(i+k)-x(i); endendndcz=0;for i=1:n z=1; for k=1:i-1 z=z*(xin-x(k); end ndcz=ndcz+Y(1,i)*z;End题目:设f(x)=lnx并已知f(x)的数据如下表:x0.400.500.70f(x)-0.916291-0.693147-0.356675试用Newton插值多项式来计算ln(0.6)的近似值并估计误差。运行结果:x=0.40 0.50 0.70;y=-0.916291 -0.693147 -0.356675;xin=0.6;ndcz,Y=nd201541110131(x,y,xin)ndcz = -0.50660833333333Y = -0.91629100000000 2.23144000000000 -1.83026666666667 -0.69314700000000 1.68236000000000 0 -0.35667500000000 0 0jsz=log(0.6)jsz = -0.51082562376599wc=ndcz-jszwc =0.00421729043266数据分析:一阶均差二阶均差三阶均差-0.9162910000000002.231440000000001-1.830266666666669-0.6931470000000001.6823600000000000-0.35667500000000000 表:ln(0.6) x 0.40.50.7f(x)-0.916291-0.693147-0.356675yi -0.50660833333333jqz-0.51082562376599wc0.00421729043266e-003小结:根据以上的数据分析得Newton插值和Lagrange插值对于计算函数的值是相同的,误差也是相同的,这就说明Newton插值和Lagrange插值在一定程度上近似值相同。Newton插值多项式便于逐步增加节点,并且计算过程中能估计误差,带导数的插值多项式适合于已知导数情形,当n较大时,这些方法都有数值不稳定的缺陷。3、 Hermite插值函数程序:function f=Hermite201541110131(x,y,dy,xin)syms s;f=0.0;n=length(x);for i=1:n la=1;lp=0.0; for j=1:n if j=i la=la*(s-x(j)/(x(i)-x(j); lp=lp+1/(x(i)-x(j); end end temp1=1-2*(s-x(i)*lp; %lp即为拉格朗基函数在当前节点xi处的倒数值 temp2=y(i)*temp1*la2; temp3=dy(i)*(s-x(i)*la2; f=f+temp2+temp3;endf=simplify(f); %合并同类项化简if nargin=3 f=subs(f,s,x);f=vpa(f,4);endif nargin=4 f=subs(f,s,xin);end题目:已知函数y=lnx的数据如下表:x0.50.60.7y-0.693147-0.510826-0.356675dy21.6666671.428571试用Hermite插值多项式来计算ln(0.64)的近似值并估计误差。运行结果:x=0.5 0.6 0.7;y=-0.693147 -0.510826 -0.356675;dy=2 1.666667 1.428571;xin=0.64;f=Hermite201541110131(x,y,dy,xin)f = -0.44628695753600jqz=log(0.64)jqz = -0.44628710262842wc=f-jqzwc =1.450924181356506e-007数据分析: 表:ln(0.64)x 0.50.60.7y-0.693147-0.510826-0.356675dy21.6666671.428571yi -0.44628695753600jqz -0.44628710262842wc 1.450924181356506e-007小结:根据以上的数据分析得Hermite插值函数误差比Newton插值函数和Lagrange插值函数都要小,误差在十万分之一以上。当同时知道函数和导数值时,可以采用分段3次Hermite插值,3次样条插值函数不仅在内节点处二阶导数是连续的,而且具有很好的逼近性和收敛性。四、最小二乘拟合函数程序:function S=nihe201541110131(x,y,n,w)global i;global j;xsjz=zeros(n+1);for i=0:n for j=0:n; xsjz(i+1,j+1)=sum(w.*jhs(x,i).*jhs(x,j); endendcsx=zeros(n+1,1);for i=0:n csx(i+1)=sum(w.*jhs(x,i).*y);endS=xsjzcsx;function jihanshu=jhs(x,k) jihanshu=x.k;题目:用多项式拰合表中的离散数据,做最小二乘拟合函数拰合。x0.000.250.500.751.00f(x)0.100.350.811.091.96运行结果: x=0.00 0.25 0.50 0.75 1.00;y=0.10 0.35 0.81 1.09 1.96;n=2;w=1;S=nihe201541110131(x,y,n,w)S = 0.12142857142857 0.57257142857143 1.21142857142857plot(x,y,*)hold onxni=0:0.1:1;yni=S(1)+S(2)*xni+S(3)*xni.2;plot(xni,yni,g-)hold onx x=0.00 0.25 0.50 0.75 1.00;y=0.10 0.35 0.81 1.09 1.96;n=3;w=1;S=nihe201541110131(x,y,n,w)S =0.08342857142857 1.66190476190483-1.82857142857162 2.02666666666679plot(x,y,*)hold onxni=0:0.1:1;yni=S(1)+S(2)*xni+S(3)*xni.2+S(4)*xni.3;plot(xni,yni,r-)hold onx数据分析:n=3时,f(x)图像n=2时,f(x)图像小结:根据以上的数据分析得当n=3时拟合度较高,最小二乘法在应用科学中有重要的应用,最佳平方逼近和曲线拟合分别要求误差平方的积分和误差平方之和最小。但在许多实际问题中,变量之间的关系

温馨提示

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

评论

0/150

提交评论