Полином аппроксимирования кривыми
[ также возвращается p,S,mu]
= polyfit(x,y,n)mu, который является двухэлементным вектором с центрирующими и масштабирующими значениями. mu(1) является mean(x), и mu(2) является std(x). Используя эти значения, polyfit центры x в нуле и масштабирует его, чтобы иметь единичное стандартное отклонение,
Это преобразование центрирования и масштабирования улучшает числовые свойства как полинома, так и алгоритма аппроксимации.
В задачах со многими точками увеличение степени аппроксимации полиномом с помощью polyfit не всегда приводит к лучшему подгонке. Полиномы высокого порядка могут быть колебательными между точками данных, что приводит к более плохой подгонке к данным. В этих случаях можно использовать аппроксимацию полиномом низкого порядка (который имеет тенденцию быть более плавным между точками) или другой метод, в зависимости от задачи.
Полиномы являются неограниченными, колебательные функции по природе. Поэтому они не хорошо подходят для экстраполяции ограниченных данных или монотонных (увеличивающихся или уменьшающихся) данных.
polyfit использует x для формирования матрицы Вандермонда V с n+1 столбцы и m = length(x) строки, в результате чего линейная система
который polyfit решает с p = V\y. Поскольку столбцы в матрице Вандермонда являются степенями вектора x, число обусловленности V часто является большим для аппроксимаций высокого порядка, получая матрицу сингулярных коэффициентов. В этих случаях центрирование и масштабирование могут улучшить числовые свойства системы, чтобы получить более надежную подгонку.