我需要将parameters_list枚举的结果放入列表中,得到如下: 首先,(x-x_0)它是x从列表中获取的x_j_list,和x_0- 从列表中获取的x_col_list。
那么parameters_list另一个元素应该出现在:第一个差值和第二个差值的乘积。它是通过从x零后面的同一列表元素中减去而获得的x_col_list。依此类推,直到此列表中的元素用完(它们与变量一样多order)。
编译了一个不按预期工作的脚本。我得到的答案在第二个之后并没有真正收敛(算法正确地考虑了前两个)。
我的输出Список parameters_list: [0.15707963267948966, -0.024674011002723394, -0.07402203300817019, -0.12337005501361697]:
同时-0.074,我的心理账户给出的不是元素,而是0,011;-0.123而不是我考虑另一个元素的元素: -0.008。
代码:
x_j_list = [(0.05*np.pi*j) for j in range(0, 21)]
point_elem_j = 1
order = 4
x_col_list = [0.0, 0.3141592653589793, 0.6283185307179586, 0.9424777960769379]
parameters_list = []
for args, elems in enumerate(x_col_list):
poly_0 = x_j_list[point_elem_j] - x_col_list[0]
print(x_col_list[0])
print('poly_0: ', poly_0)
print('elems: ', elems)
if not args:
parameters_list.append(poly_0)
if args in range(1, order): # args = 1,2
poly_n = (x_j_list[point_elem_j] - x_col_list[args])*poly_0
print('elems: ', elems)
print('poly_n: ', poly_n)
if args:
parameters_list.append(poly_n)
poly_0 = poly_n
print('Длина parameters_list: ', len(parameters_list))
print('Список parameters_list: ', parameters_list)

如果你遵循这个逻辑,那么你可以这样做:
由于在循环的每次迭代中该值
poly_0都被重置为原始值,即 手术poly_0 = poly_n是徒劳的。如果您poly_0 = x_j_list[point_elem_j] - x_col_list[0]在循环开始之前进行了渲染,那么结果应该是正确的。这也解释了前两个元素的正确性——它们在操作之前被计算并输入到列表中poly_0 = poly_n。