Я хочу нарисовать кривую и создать многочлен, который ей подходит.Как бы я пошел по этому поводу? - PullRequest
2 голосов
/ 01 февраля 2012

У меня есть произвольная кривая (определенная набором точек), и я хотел бы создать многочлен, который соответствует этой кривой с произвольной точностью.Как лучше всего решить эту проблему, или уже есть библиотека или онлайн-сервис, который выполняет эту задачу?

Спасибо!

1 Ответ

1 голос
/ 30 мая 2012

Если ваша «произвольная кривая» описывается набором точек (x_i, y_i), где каждый x_i уникален, и если вы подразумеваете под «подгонкой» вычисление наилучшего полиномиального приближения методом наименьших квадратов степени N, выможно просто получить коэффициенты b полинома, используя

    b = polyfit(X,Y,N)

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

...