问题描述
考虑[0.0,1.2]内的函数y=f(x)=cos(x)。利用多个(2,3,4等)节点构造拉格朗日插值多项式。
输入形式
在屏幕上依次输入在区间[0.0,1.2]内的一个值x*,构造插值多项式后求其P(x*)值,和多个节点的x坐标。
输出形式
输出插值多项式系数矩阵,拉格朗日系数多项式矩阵和P(x*)值(保留小数点后6位有效数字)。
样例输入
0.3
0 0.6 1.2
样例输出
[-0.40043538 -0.05084608 1. ]
[[ 1.38888889 -2.5 1. ]
[-2.77777778 3.33333333 -0. ]
[ 1.38888889 -0.83333333 0. ]]
P2(0.3)=0.948707
样例说明
输入:x*为0.3,3个节点的x坐标分别为x0=0,x1=0.6和x2=1.2。
输出:插值多项式系数矩阵,则P2(x)表示为-0.40043538x**2-0.05084608x+1;拉格朗日系数多项式矩阵,则P2(x)表示为:y0*(1.38888889x**2-2.5x+1)+y1*(-2.77777778x**2+3.33333333x-0)+y2*(1.38888889x**2-0.83333333x+0);当x*为0.3时,P2(0.3)值为0.948707。
代码
# 拉格朗日插值多项式
import numpy as np
import math
def Input():
x_ = float(input(