2.根据实验内容和要求编写程序; 3.调试程序; 4.运行程序;
5.撰写报告,讨论分析实验结果.
数值分析实验报告
实验一 函数插值方法报告
一、问题提出
y?f(xj),j?0,1,?,n对于给定的一元函数y?f(x)的n+1个节点值j。试用Lagrange公式求其插值多项式或分段二次Lagrange插值多项式。
数据如下:
(1) xj 0.4
0.55 0.65 0.80 0.95 1.05 yj 0.41075 0.57815 0.69675 0.90 1.00 1.25382 求五次Lagrange多项式L5(x),和分段三次插值多项式,计算f(0.596),f(0.99) 的值。(提示:结果为f(0.596)?0.625732, f(0.99)?1.05423 )
(2) xj 1 2 3 4 5 6 7 yj 0.368 0.135 0.050 0.018 0.007 0.002 0.001 试构造Lagrange多项式L6(x),计算的f(1.8),f(6.15)值。(提示:结果为
f(1.8)?0.164762, f(6.15)?0.001266 )
二、要求
1、 利用Lagrange插值公式
?nx?xi?Ln(x)?????ykx?xk?0?i?0,i?kki?编写出插值多项式程序;
n2、 给出插值多项式或分段三次插值多项式的表达式;
3、 根据节点选取原则,对问题(2)用三点插值或二点插值,其结果如何; 4、 对此插值问题用Newton插值多项式其结果如何。Newton插值多项式如下:
Nn(x)?f(x0)??f[x0,?,xk]?k?1n(x?xj)?j?0,j?kk?1
f[x0,?,xk]??i?0k其中:
(xi?xj)?j?0,j?ikf(xi)
三、目的和意义
1、 学会常用的插值方法,求函数的近似表达式,以解决其它实际问题; 2、 明确插值多项式和分段插值多项式各自的优缺点; 3、 熟悉插值方法的程序编制;
4、 如果绘出插值函数的曲线,观察其光滑性。
四、实验学时:2学时 五、实验步骤:
1.进入C或matlab开发环境; 2.根据实验内容和要求编写程序; 3.调试程序; 4.运行程序;
5.撰写报告,讨论分析实验结果.
求解如下:
一、编写插值函数结构程序
Lagrange插值多项式M文件:lagrange1.m function [A1,LN,L1,B1]=lagrange1(X,Y) m=length(X); LN=ones(m,m); for k=1: m x1=1; for i=1:m if k~=i
x1=conv(x1,poly(X(i)))/(X(k)-X(i)); end end
L1(k,:)=x1; B1(k,:)=poly2sym (x1)
end
A1=Y*L1;LN=Y*B1
(1)、求五次Lagrange多项式L5(x),
在主显示区,输入五次Lagrange多项式L5(x)程序: >> X=[0.4 0.55 0.65 0.80 0.95 1.05];
>> Y=[0.41075 0.57815 0.69675 0.90 1.00 1.25382]; >> [A1,LN,L1,B1]=lagrange1(X,Y) >> plot(X,A1); >> F=poly2sym(A1)
运行后,输出五次Lagrange多项式L5(x)的结果: A1 =
121.6264 -422.7503 572.5667 -377.2549 121.9718 -15.0845 F =
(2139673480305281*x^5)/17592186044416
-
(1859275536318005*x^4)/4398046511104 + (9836621836743*x^3)/17179869184 - (414796119737013*x^2)/1099511627776 + (2145751274873259*x)/17592186044416 - 1061478972867847/70368744177664
拉格朗日插值多项式L5(x)的图如下:
相关推荐: