我正在编写一个用于计算牛顿多项式的代码片段。在循环期间for
,我需要得到 3 个术语(每个术语都必须在括号中):
(x - 30) (x - 20) (x - 10) + (x - 20)*(x - 10) + (x - 10)
当我浏览代码时,我得到了这个:
x + (x - 30) (x - 20) (x - 10) + (x - 20)*(x - 10) - 10
拥有 3 个术语对我来说很重要,因为将来在另一个周期中,它们中的每一个都将乘以系数。
如何实现?
编码:
from sympy import symbols
x = symbols('x')
dig_list = [10, 20, 30]
poly_0 = x-dig_list[0]
summa = poly_0
for i in range(1, len(dig_list)):
poly_n = poly_0 * (x-dig_list[i])
summa += poly_n
poly_0 = poly_n
print(summa)