一、差商
设节点为x0,x1,…,xn则
xi,xj的一阶差商:
xi,xj,xk的二阶差商:
x0,x1,…,xk的k阶差商:
构建差商定义表:
注:这里构建差商是为了方便后续插值函数模型的构建。
import numpy as npimport numpy.linalg as lg#构建牛顿差商矩阵函数'''构建牛顿差商矩阵表x_val:对应x轴的数据;y_val:对应y轴的数据。'''def difference_quotient(x_val, y_val): assert len(x_val) == len(y_val) n = len(x_val) p = np.zeros((n, n+1)) p[:, 0] = x_val p[:, 1] = y_val for j in range(2, n+1): p[j-1: n, j] = (p[j-1: n, j-1] - p[j-2: n-1, j-1]) / (x_val[j-1: n] - x_val[: n+1-j]) q = np.diag(p, k=