python求牛顿插值表代码并分行输出
以下是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
原文地址: https://www.cveoy.top/t/topic/bDZd 著作权归作者所有。请勿转载和采集!