数值实验3:插值法

16 篇文章 4 订阅
9 篇文章 1 订阅

插值法

1 实验目的

  1. 熟悉拉格朗日插值多项式和牛顿插值多项式,注意其不同特点。
  2. 观察高次插值的荣格现象。

2 实验内容

1) 已知函数表

实验1
x(i) 0.56160 0.56280 0.56401 0.56521
y(i) 0.82741 0.82659 0.82577 0.82495

用三次拉格朗日插值多项式求 x=0.5635 时的函数近似值。

2) 已知函数表

实验2
x(i) 0.4 0.55 0.65 0.8 0.9
y(i) 0.41075 0.5715 0.69675 0.88811 1.02652

用牛顿插值多项式求 x=0.596 x=0.895 时的函数近似值。

3)在区间 [1,1] 上,分别构造函数 f(x) 的2次、5次和10次拉格朗日多项式,画出原函数和插值函数的图形,并将在节点数的函数值和插值多项式的函数值结果列表,观察并分析实验结果。其中函数 f(x)

f(x)=11+25x2

3 实验程序

实验程序主要包含拉格朗日插值和牛顿插值2个方法。

  • 拉格朗日差值法
function [C, L] = Rlagranpoly(X, Y)
%拉格朗日插值 2015.11.18
% 调用格式:[C, L] = Rlagranpoly(X, Y)
% 输入:X = x 行向量
%       Y = y 行向量
% 输出:C = 多项式系数
%       L = 线性插值多项式
w = length(X);
n = w - 1;
L = zeros(w);
for k = 1 : n+1
    V = 1;
    for j = 1 : n+1
        if k ~= j
            V = conv(V, poly(X(j)))/(X(k)-X(j));
        end
    end
    L(k,:) = V;
end
C = Y*L;
  • 牛顿插值法
function [C, D] = Rnewtonpoly(X, Y)
%牛顿插值 2015.11.18
% 调用格式:[C, D] = Rnewtonpoly(X, Y)
% 输入:X = x 行向量
%       Y = y 行向量
% 输出:C = 多项式系数
%       D = 差商表
n = length(X);
D = zeros(n);
D(:, 1) = Y';
for j = 2 : n
    for k = j : n
        D(k, j) = (D(k, j-1) - D(k-1, j-1))/(X(k) - X(k-j+1));
    end
end
C = D(n, n);
for k = n-1 : -1 : 1
    C = conv(C, poly(X(k)));
    m = length(C);
    C(m) = C(m) + D(k, k);
end

4 实验结果分析

4.1 实验一

图1 问题1的拉格朗日插值

问题1的解
x=0.5635 y=0.8261

4.2 实验二

图2 问题2的牛顿插值

问题2的解
x=0.596 y=0.6286
0.895 y=1.0191

4.3 实验三

图3 问题3的拉格朗日插值

  • 2次拉格朗日插值多项式结果对比
xi f(xi) 插值多项式函数值
1 3.8462E2 3.8462E2
0 1 1
1 3.8462E2 3.8462E2
  • 5次拉格朗日插值多项式结果对比
xi f(xi) 插值多项式函数值
1 3.8462E2 3.8462E2
-0.60.10.1
-0.20.50.5
0.20.50.5
0.60.10.1
1 3.8462E2 3.8462E2
  • 10次拉格朗日插值多项式结果对比
xi f(xi) 插值多项式函数值
1 3.8462E2 3.8462E2
0.8 5.8824E2 5.8824E2
0.6 0.1 0.1000
0.4 0.2 0.2000
0.2 0.5 0.5000
0 1 1.000
0.2 0.5 0.5000
0.4 0.2 0.2000
0.6 0.1 0.1000
0.8 5.8824E2 5.8824E2
1 3.8462E2 3.8462E2

5 实验结论

本次实验研究了拉格朗日插值多项式和牛顿插值多项式的特性,并观察到了高次拉格朗日插值多项式在高阶插值的荣格现象。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值