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