Я написал следующий код для вычисления полиномиального уравнения для заданного набора координат X и Y с использованием алгоритма Лагранжа. Уравнение реализовано с использованием def и, кажется, работает правильно. Тем не менее, я пытаюсь использовать полученное полиномиальное уравнение, чтобы получить координаты y для заданного диапазона значений X, чтобы я мог построить путь для робота. Например. если диапазон составляет от 1 до 15 включительно, программа должна рассчитать соответствующие значения Y и построить каждую пару координат на графике. Я не уверен, как передать значение X в def и получить правильное значение Y - я уверен, что это относительно просто, но мой разум совершенно пуст! Любая помощь будет принята с благодарностью!
import sympy
from functools import *
from sympy import *
X = Symbol('X')
def Lagrange(points):
P=[reduce((lambda x,y: x*y),[(X-points[j][0])/(points[i][0] - points[j][0]) for j in range(len(points)) if i != j])*points[i][1] for i in range(len(points))]
return sum(P)
points=[[0, 1], [1, 0], [3, 16], [-1, 16]]
print(points)
P=Lagrange(points)
print("\nLagrange equation :\n")
print(P)