Я пытаюсь построить программу, которая находит (приблизительно) уравнение графа, учитывая координаты группы точек на графе. Предполагается, что указанные координаты представляют собой всю диаграмму (т. Е. Поведение не изменяется за пределами данной области).
Я использую простую функцию ниже, чтобы сделать это:
#x and y are arrays of the x coordinates and corrosponding y coordinates
def get_equation(x,y):
degree = 2
coefs, res, _, _, _ = np.polyfit(x,y,degree, full = True)
ffit = np.poly1d(coefs)
print (ffit)
return ffit
Это работает достаточно хорошо для координат на графиках основных уравнений, таких как x ^ 2, но совсем не работает для более сложных графиков, таких как график ниже.
Как найти уравнение для более сложных графиков, подобных приведенному выше, с учетом координат на графике?
Кроме того, возможно ли выяснить, какова степень графика, или это всегда нужно вводить вручную?