Как в списке Python обособить данные для разных объектов?

Мой алгоритм сначала должен построить полином функции, а затем рассчитать его для нескольких точек X_j новой сетки иксов. Формула полинома такова: введите сюда описание изображения

Коэффициенты, подчеркнутые зеленым, одинаковы для всех точек сетки. А параметры уравнения, подчеркнутые красным, для всякой точки будут свои. Почему свои? Потому что x каждый раз будет новой точкой (x=0.00, x=0.157, x=3.14 и т.д.). В моем коде я получаю «красные» параметры одним списком:

[0.0, -0.0, 0.0, 0.15707963267948966, -0.02468040958517225, 0.011629911670345511]

В выводе, приведенном выше, показаны по 3 "красных" параметра для точек x=0.00 и x=0.157.

Затем я "красный" параметр для каждой точки умножаю (согласно формуле полинома) на стоящий при нём «зеленый» коэффициент и всё складываю. Это выведет в консоль рассчитанное для всякой точки значение полинома.

Вопрос: как мне обособить «красные» параметры в промежуточном списке, чтобы они не стояли в нем единым массивом для всех точек? Сейчас выходит так, что мы при расчете полинома даже «сшить» из списков данные через zip не можем: "зеленых" коэффициентов — 3, а "красных" параметров для всех точек 63 (longest_zip не решение проблемы)

Код:

x_j_list = [0.0, 0.15707963267948966, 0.3141592653589793, 0.47123889803846897, 0.6283185307179586]
# список с "зелеными" коэффициентами
koefs_list=[ 5.4099740369590625, -4.635567144596035, -24.403684135550616]
x_col_list = [0.0, 0.3142, 0.6283]
order=2
 
parameters_list = []
for x_j_elem in x_j_list:
    poly_0 = x_j_elem - x_col_list[0]
    parameters_list.append(poly_0)
    for args in range(1, order):   # args = 1,2
        poly_n =  (x_j_elem - x_col_list[args])*poly_0
        if args:
            parameters_list.append(poly_n)
        poly_0 = poly_n
# список с "зелеными" коэффициентами
# если бы точка была одна, то полином мы бы получили таким образом:
# перемножаем коэффициенты и параметры при них
summa_prod= y_0 + 0
for koefs, params in zip(koefs_list, parameters_list):
    product = koefs*params
    summa_prod +=product
print(summa_prod)

Ответы (0 шт):