Если ваша «произвольная кривая» описывается набором точек (x_i, y_i), где каждый x_i уникален, и если вы подразумеваете под «подгонкой» вычисление наилучшего полиномиального приближения методом наименьших квадратов степени N, выможно просто получить коэффициенты b полинома, используя
b = polyfit(X,Y,N)
, где X - вектор значений x_i, Y - вектор значений Y_i.Таким образом, вы можете увеличивать N, пока не получите требуемую точность.Конечно, вы можете достичь нулевой ошибки аппроксимации, вычислив интерполяционный полином.Однако для подбора данных часто требуется заранее продумать - вам нужно подумать о том, чего вы хотите достичь в приближении.Существуют различные математические способы оценки ошибки аппроксимации (с использованием различных норм), выбор которых будет зависеть от ваших требований к полученному приближению.Есть также много потенциальных ловушек (таких как переоснащение), с которыми вы можете столкнуться, и слепая попытка подобрать кривые может привести к приближению, которое теоретически обоснованно, но совершенно бесполезно для вас с практической точки зрения.Я бы предложил провести небольшое исследование по теории приближений, если описанный выше метод не соответствует вашим требованиям, как это было предложено в комментариях к вашему вопросу.