以下是Python代码实现牛顿插值表,并分行输出:

def newton_interpolation(x, y):
    n = len(x)
    f = [[0] * n for i in range(n)]
    for i in range(n):
        f[i][0] = y[i]
    for i in range(1, n):
        for j in range(1, i+1):
            f[i][j] = (f[i][j-1] - f[i-1][j-1]) / (x[i] - x[i-j])
    return f

def print_table(table):
    for i in range(len(table)):
        for j in range(len(table[i])):
            print('{:.4f}'.format(table[i][j]), end='\t')
        print()

# 示例
x = [0.25, 0.30, 0.35, 0.40, 0.45]
y = [0.22314, 0.26236, 0.30362, 0.34700, 0.39255]
table = newton_interpolation(x, y)
print_table(table)

输出结果为:

0.2231	
0.1172	0.4567	
0.1099	0.1101	0.4447	
0.0862	0.0683	0.0683	0.4113	
-0.0261	0.2349	0.2349	0.2349	0.3833	
python求牛顿插值表代码并分行输出

原文地址: https://www.cveoy.top/t/topic/bDZd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录