拉格朗日插值多项式MATLAB

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告:拉格朗日插值多项式 实验目的与要求: 熟练掌握拉格朗日插值的基本思想与插值公式
实验内容:
对于给定的一元函数 y f ( x ) 的 n+1 个节点值 y j f ( x j ), j 0,1, , n 。试用 Lagrange 公式求其插值多项式 Lagrange 插值多项式。 数据如下: (1)
xj yj
0.4 0.41075
0.55 0.57815
0.65 0.69675
0.80 0.90
0.95 1.00
1.05 1.25382
求五次 Lagrange 多项式 L5 ( x) ,计算 f (0.596) , f (0.99) 的值。 (2)
xj yj
1 0.368
2 0.135
3 0.050
4 0.018
5 0.007
6 0.002
7 0.001
试构造 Lagrange 多项式 L6 ( x) ,计算的 f (1.8) , f (6.15) 值。
实验环境与器材: Matlab7.0 实验过程(步骤)或程序代码: (1) fid=fopen('l3.txt','wt'); fprintf(fid,' 试 用 Lagrange 公 式 求 其 插 值 多 项 式 Lagrange 插 值 多 项 式 , 求 f(0.596),f(0.99)\n'); A=[0.4,0.55,0.65,0.80,0.95,1.05]; B=[0.41075,0.57815,0.69675,0.9,1,1.25382]; For p=1:2 x=input('输入 x=') a=1; for i=1:6
a=a*(x-A(i)); end l=0; for i=1:6 b=1; for j=1:6 if i~=j b=b*(A(i)-A(j)); end end l=l+B(i)*a/((x-A(i))*b); end fprintf(fid,'x f(x)\n'); fprintf(fid,'%2f %f\n',x,L); end (2) fid=fopen('l3.txt','wt'); fprintf(fid,' 试 用 Lagrange 公 式 求 其 插 值 多 项 式 Lagrange 插 值 多 项 式 , 求 f(1.8),f(6.15)\n'); for p=1:2 x=input('输入 x=') A=[1,2,3,4,5,6,7]; B=[0.368,0.135,0.050,0.018,0.007,0.002,0.001]; a=1; for i=1:7 a=a*(x-A(i)); end l=0; for i=1:7 b=1; for j=1:7 if i~=j b=b*(A(i)-A(j)); end end l=l+B(i)*a/((x-A(i))*b); end fprintf(fid,'x f(x)\n'); fprintf(fid,'%2f %f\n',x,L); end
实验结果与分析: (1) 试用 Lagrange 公式求其插值多项式 Lagrange 插值多项式,求 f(0.596),f(0.99) x f(x) 0.596000 0.625732 x f(x) 0.990000 1.054230(2) 试用 Lagrange 公式求其插值多项式 Lagrange 插值多项式,求 f(1.8),f(6.15) x f(x) 1.800000 0.165093 x f(x) 6.150000 0.001231
成 绩: 教师签名: 月 日
相关文档
最新文档