哈工大_计算方法实验_1拉格朗日
- 格式:doc
- 大小:231.00 KB
- 文档页数:14
实验题目1 Lagrange插值
摘要
给定平面上n+1个不同的数据点:
则满足条件
的n次拉格朗日插值多项式
是存在唯一的。
若,且充分光滑,则当时,有误差估计式
前言
利用拉格朗日插值多项式求的近似值
程序设计流程
拉格朗日插值框图
问题1 (1)
N = 5时,程序运行如下:
TestLag(inline('1./(1+x.^2)'), -5, 5, 5, 0.75:4.75);
将区间[-5,5]分为了5段
计算插值的点xi =
0.7500 1.7500 2.7500 3.7500 4.7500 计算出的插值yi =
0.9054 0.5258 0.0096 -0.3568 -0.1595 插值点处函数值yFact =
0.6400 0.2462 0.1168 0.0664 0.0424 计算误差err =
-0.2654 -0.2796 0.1072 0.4232 0.2020
N = 10时,程序运行如下:
TestLag(inline('1./(1+x.^2)'), -5, 5, 10, 0.75:4.75);
将区间[-5,5]分为了10段
计算插值的点xi =
0.7500 1.7500 2.7500 3.7500 4.7500 计算出的插值yi =
0.6907 0.2330 0.1122 0.1084 -0.2360 插值点处函数值yFact =
0.6400 0.2462 0.1168 0.0664 0.0424 计算误差err =
-0.0507 0.0132 0.0045 -0.0420 0.2785
N = 20时,程序运行如下:
TestLag(inline('1./(1+x.^2)'), -5, 5, 20, 0.75:4.75);
将区间[-5,5]分为了20段
计算插值的点xi =
0.7500 1.7500 2.7500 3.7500 4.7500 计算出的插值yi =
0.6413 0.2491 0.1282 0.1903 6.4150 插值点处函数值yFact =
0.6400 0.2462 0.1168 0.0664 0.0424 计算误差err =
-0.0013 -0.0029 -0.0114 -0.1239 -6.3726
问题1 (2)
N = 5时,程序运行如下:
TestLag(inline('exp(x)'), -1, 1, 5, [-0.95 -0.05 0.05 0.95]); 将区间[-1,1]分为了5段
计算插值的点xi =
-0.9500 -0.0500 0.0500 0.9500
计算出的插值yi =
0.3863 0.9513 1.0512 2.5863
插值点处函数值yFact =
0.3867 0.9512 1.0513 2.5857
计算误差err =
1.0e-003 *
0.4471 -0.1051 0.1069 -0.6129
N = 10时,程序运行如下:
TestLag(inline('exp(x)'), -1, 1, 10, [-0.95 -0.05 0.05 0.95]); 将区间[-1,1]分为了10段
计算插值的点xi =
-0.9500 -0.0500 0.0500 0.9500
计算出的插值yi =
0.3867 0.9512 1.0513 2.5857
插值点处函数值yFact =
0.3867 0.9512 1.0513 2.5857
计算误差err =
1.0e-008 *
-0.3126 -0.0055 -0.0055 -0.3714
N = 20时,程序运行如下:
TestLag(inline('exp(x)'), -1, 1, 20, [-0.95 -0.05 0.05 0.95]); 将区间[-1,1]分为了20段
计算插值的点xi =
-0.9500 -0.0500 0.0500 0.9500
计算出的插值yi =
0.3867 0.9512 1.0513 2.5857
插值点处函数值yFact =
0.3867 0.9512 1.0513 2.5857
计算误差err =
1.0e-012 *
0.7339 0 -0.0002 -0.5671
问题2 (1)
N = 5时,程序运行如下:
TestLag(inline('1./(1+x.^2)'), -1, 1, 5, [-0.95 -0.05 0.05 0.95]); 将区间[-1,1]分为了5段
计算插值的点xi =
-0.9500 -0.0500 0.0500 0.9500
计算出的插值yi =
0.5136 0.9978 0.9978 0.5136
插值点处函数值yFact =
0.5256 0.9975 0.9975 0.5256
计算误差err =
0.0121 -0.0002 -0.0002 0.0121
N = 10时,程序运行如下:
TestLag(inline('1./(1+x.^2)'), -1, 1, 10, [-0.95 -0.05 0.05 0.95]); 将区间[-1,1]分为了10段
计算插值的点xi =
-0.9500 -0.0500 0.0500 0.9500
计算出的插值yi =
0.5243 0.9975 0.9975 0.5243
插值点处函数值yFact =
0.5256 0.9975 0.9975 0.5256
计算误差err =
0.0014 0.0000 0.0000 0.0014
N = 20时,程序运行如下:
TestLag(inline('1./(1+x.^2)'), -1, 1, 20, [-0.95 -0.05 0.05 0.95]); 将区间[-1,1]分为了20段
计算插值的点xi =
-0.9500 -0.0500 0.0500 0.9500
计算出的插值yi =
0.5256 0.9975 0.9975 0.5256
插值点处函数值yFact =
0.5256 0.9975 0.9975 0.5256
计算误差err =
1.0e-005 *
-0.7023 0.0000 0.0000 -0.7023