Полиномиальное аппроксимирование кривыми
p = polyfit(x,y,n)[p,S] =
polyfit(x,y,n)[p,S,mu]
= polyfit(x,y,n)[ также возвращает 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 является часто большим для старших подгонок, приводящих к сингулярной матрице коэффициентов. В тех случаях центрирование и масштабирование могут улучшить числовые свойства системы произвести более надежную подгонку.