资源描述:
《试验二 插值法与数据拟合》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、试验二插值法一、实验目的(1)学会Lagrange插值和牛顿插值等基本插值方法;(2)讨论插值的Runge现象,掌握分段线性插值方法(3)学会Matlab提供的插值函数的使用方法,会用这些函数解决实际问题。二、实验要求(1)按照题目要求完成实验内容;(2)写出相应的Matlab程序;(3)给出实验结果(可以用表格展示实验结果);(4)分析和讨论实验结果并提出可能的优化实验。(5)写出实验报告。三、实验步骤1、用编好的Lagrange插值法程序计算书本P66的例1、用牛顿插值法计算P77的例1。2、已知函数在下列各点的值为:0.20.
2、40.60.81.00.980.920.810.640.38试用4次牛顿插值多项式对数据进行插值,根据{},画出图形。3、在区间[-1,1]上分别取用两组等距节点对龙格函数作多项式插值,对不同值,分别画出插值函数及的图形。4、下列数据点的插值01491625364964012345678可以得到平方根函数的近似,在区间[0,64]上作图。(1)用这9个点作8次多项式插值。附:试验报告格式样本(正式报告这行可删除)佛山科学技术学院实验报告课程名称数值分析实验项目插值法专业班级姓名学号指导教师成绩日期月日一、实验目的1、学会Lagran
3、ge插值、牛顿插值和分段线性插值等基本插值方法;2、讨论插值的Runge现象,掌握分段线性插值方法3、学会Matlab提供的插值函数的使用方法,会用这些函数解决实际问题。二、实验原理1、拉格朗日插值多项式2、牛顿插值多项式3、分段线性插值三、实验步骤1、用MATLAB编写独立的拉格朗日插值多项式函数2、用MATLAB编写独立的牛顿插值多项式函数3、利用编写好的函数计算本章P66例1、P77例1的结果并比较。4、已知函数在下列各点的值为:0.20.40.60.81.00.980.920.810.640.38试用4次牛顿插值多项式对数据
4、进行插值,根据{},画出图形。5、在区间[-1,1]上分别取用两组等距节点对龙格函数作多项式插值,对不同值,分别画出插值函数及的图形。6、下列数据点的插值01491625364964012345678(1)可以得到平方根函数的近似,在区间[0,64]上作图。(1)用这9个点作8次多项式插值。源程序与解答:1、Lagrange插值多项式源代码functionyi=Lagrange(x,y,xi)%Lagrange插值多项式,其中%x---向量,全部的插值节点%y---向量,插值节点处的函数值%xi---标量,自变量x%yi---xi处
5、的函数估计值n=length(x);m=length(y);ifn~=merror('ThelengthsofXandYmustbeequal');return;endp=zeros(1,n);%对向量p赋初值0fork=1:nt=ones(1,n);forj=1:nifj~=kifabs(x(k)-x(j))6、i=New_Int(x,y,xi)%Newton基本插值公式,其中%x---向量,全部的插值节点,按行输入%y---向量,插值节点处的函数值,按行输入%xi---标量,自变量x%yi---xi处的函数估计值n=length(x);m=length(y);ifn~=merror('ThelengthsofXandYmustbeequal');return;end%计算均差表YY=zeros(n);Y(:,1)=y';%Y(:,1)表示矩阵中第一列的元素fork=1:n-1fori=1:n-kifabs(x(i+k)-x(i))7、error('theDATAiserror!');return;endY(i,k+1)=(Y(i+1,k)-Y(i,k))/(x(i+k)-x(i));endend%计算Newton插值公式N(xi)yi=0;fori=1:nz=1;fork=1:i-1z=z*(xi-x(k));endyi=yi+Y(1,i)*z;end3、(1)求书本P66例1的解答x=[144,169,225];>>y=[12,13,15];>>yi=Lagrange(x,y,175)yi=13.230158730158733(2)书本P77例1的解答x=[0
8、.40,0.55,0.65,0.80];>>y=[0.41075,0.57815,0.69675,0.88811];>>yi=New_int(x,y,0.596)yi=0.6319144055040004、x=[0.2:0.2:1.0