import numpy as np
import matplotlib.pyplot as plt
def inter_x(a, b, n):
"""
:param a: 插值区间左端点
:param b: 插值区间右端点
:param n: 插值点个数
:return: 插值节点向量
"""
x = np.zeros(n+1)
h = (b - a) / n
for i in range(n+1):
x[i] = a + i * h
return x
def inter_y(x, f):
"""
:param x: 插值节点向量
:param f: 插值函数
:return: 对应节点上的函数值向量
"""
n = np.size(x)
y = np.zeros(np.size(x))
for i in range(n):
y[i] = f(x[i])
return y
def fun(x):
return np.exp(np.abs(x))
def lagrange(x, inx, iny):
a0 = (x - inx[1]) * (x - inx[2]) * (x - inx[3])
b0 = (inx[0] - inx[1]) * (inx[0] - inx[2]) * (inx[0] - inx[3])
a1 = (x - inx[0]) * (x - inx[2]) * (x - inx[3])
b1 = (inx[1] - inx[0]) * (inx[1] - inx[2]) * (inx[1] - inx[3])
a2 = (x - inx[0]) * (x - inx[1])
均匀节点插值与切比雪夫插值以及龙格现象
最新推荐文章于 2023-10-07 16:22:58 发布