Полиномиальные коэффициенты. Коэффициенты полинома (Polynomial Coefficients) Смотреть что такое "Полиномиальные коэффициенты" в других словарях
Подходящие кривые и поверхности к данным с помощью регрессии, интерполяции и сглаживания
Curve Fitting Toolbox™ предоставляет приложение и функции для подбора кривой кривым и поверхностям к данным. Тулбокс позволяет вам выполнить исследовательский анализ данных, предварительно обработать и постобработать данные, сравнить модели кандидата и удалить выбросы. Можно провести регрессионный анализ, пользующийся библиотекой линейных и нелинейных предоставленных моделей, или задать собственные уравнения. Библиотека обеспечивает оптимизированные параметры решателя и стартовые условия улучшить качество ваших подгонок. Тулбокс также поддерживает непараметрические техники моделирования, такие как сплайны, интерполяция и сглаживание.
После создания подгонки можно применить множество методов последующей обработки для графического вывода, интерполяции и экстраполяции; оценка доверительных интервалов; и вычисляя интегралы и производные.
Начало работы
Изучите основы Curve Fitting Toolbox
Линейная и нелинейная регрессия
Подходящие кривые или поверхности с линейными и нелинейными моделями библиотеки и пользовательскими моделями
Интерполяция
Подходящие кривые интерполяции или поверхности, оцените значения между известными точками данных
Сглаживание
Подходящее сглаживание использования шлицует и локализованная регрессия, сглаженные данные со скользящим средним значением и другими фильтрами
Подходящая постобработка
Графический вывод, выбросы, невязки, доверительные интервалы, данные о валидации, интегралы и производные, генерирует код MATLAB ®
Сплайны
Создайте сплайны с или без данных; ppform, B-форма, продукт тензора, рациональный, и сплайны тонкой пластины stform
Если для полинома n-й степени найден корень , то можно понизить степень полинома, построив полином степени , у которого все корни совпадают с корнями полинома за исключением того, что у него нет корня .
Запишем соотношение, связывающее полиномы:
Учитывая соотношение 6.3 о равенстве двух полиномов одной степени, можно выписать соотношение, связывающее коэффициенты этих полиномов. Эти соотношения нетрудно разрешить относительно неизвестных коэффициентов . В результате получим:
(6.4) |
Заметьте, неизвестных всего , а уравнений можно построить - . Но последнее уравнение является следствием предыдущих и используется для контроля вычислений.
К новому полиному можно применить тот же процесс - найти его корень и понизить затем степень полинома. Реально понижение степени не намного упрощает задачу отыскания корней, так что чаще всего проще искать корни исходного полинома, изменяя начальные приближения в итерационном процессе или отыскивая различные интервалы, на которых полином меняет свой знак.
Нахождение коэффициентов полинома по его корням
До сих пор рассматривалась задача отыскания корней полинома с заданными коэффициентами. Иногда приходится решать обратную задачу - найти коэффициенты полинома, если известны его корни - . Полиномов с одинаковыми корнями существует бесчисленное множество. Однако среди них существует единственный полином с коэффициентом , равным единице. Этот полином называется приведенным, его-то и будем строить. Все остальные полиномы получаются из приведенного полинома умножением всех коэффициентов на произвольное число , от которого требуется лишь, чтобы оно не было равно нулю. Поэтому для однозначного решения задачи требуется задать n корней и коэффициент при старшем члене полинома. Тогда можно записать следующее равенство:
Для нахождения коэффициентов полинома воспользуемся, как обычно, соотношением 6.3. Но применить его напрямую сложно. Поэтому воспользуемся процессом, обратным к процессу понижения степени. Построим вначале - полином первой степени, у которого является единственным корнем. Затем повысим степень и построим полином второй степени - , у которого появляется еще один корень - . Продолжая этот процесс, дойдем до искомого полинома . При вычислении коэффициентов нового полинома будем использовать коэффициенты уже посчитанного полинома на единицу меньшей степени. Получающиеся в результате соотношения близки к тем, что приведены для случая понижения степени полинома.
Коэффициенты полинома первой степени выписываются явно:
Коэффициенты полинома k-й степени вычисляются через коэффициенты полинома степени k-1:
Переходя к коэффициентам, получим следующие уравнения:
(6.5) |
В соотношении 6.5 через обозначены коэффициенты полинома степени . На самом деле схема безопасна и позволяет считать коэффициенты на том же месте, не требуя дополнительной памяти. Приведу алгоритм вычисления коэффициентов полинома по его корням в виде схемы, приближенной к языку C#.
Вычислить:
//Вычисляем коэффициенты полинома первой степени a= 1; a = -x; //цикл по числу полиномов for(int k=2;k<=n; k++) { //Вычисляем коэффициенты полинома степени k //Вначале старший коэффициент a[k]= a; //затем остальные коэффициенты, кроме последнего for(int i=k-1;i>0; i--) { a[i] = a- a[i]*x; } //теперь младший коэффициент a= -a*x; } //Последний этап - умножение коэффициентов на an for(int i=0; i<=n; i++) a[i] = a[i]*an;
Полином Лагранжа
Пусть на плоскости заданы точка: . Полиномом Лагранжа называется полином n-й степени, проходящий через все точки . Если точки не образуют возвратов, то такой полином существует и является единственным. Под возвратом понимается ситуация, когда существуют две точки и такие, что .
Как построить такой полином? Лагранж предложил следующий алгоритм. Полином строится как сумма полиномов n-й степени:
Каждый из полиномов , входящих в сумму, строится следующим образом. Корнями полинома являются все точки за исключением точки . Единственность обеспечивается за счет того, что коэффициент при старшем члене an подбирается так, чтобы полином проходил через точку . В записи Лагранжа полином выглядит следующим образом.
Если выражение является полиномом относительно некоторой переменной х, заданным не в обычном виде а 0 +а 1 х+а 2 х 2 +..., а как произведение других, более простых полиномов, то коэффициенты а 0 +а 1 +а 2 легко определяются символьным процессором Mathcad. Коэффициенты сами могут быть функциями (подчас, довольно сложными) других переменных.
Рис. 5.10. Вычисление коэффициентов полинома
Чтобы вычислить полиномиальные коэффициенты в выражении при помощи меню (рис. 5 10):
- Введите выражение.
- Выделите в нем имя переменной или выражение, для которого требуется рассчитать полиномиальные коэффициенты (в примере на рис. 5.10 это переменная z).
- Выполните команду Symbolic / Polynomial Coefficients (Символика / Коэффициенты полинома).
В результате под выражением появится вектор, состоящий из полиномиальных коэффициентов. Первым элементом вектора является свободный член а 0 , вторым - а 1 , и т. д.
Конкретная задача, требующая вычисления полиномиальных коэффициентов, приведена в разделе, посвященном численному отделению корней полинома (см. разд. "Корни полинома" гл. 8).
Чтобы вычислить полиномиальные коэффициенты с помощью оператора символьного вывода:
- Введите выражение.
- Нажмите кнопку Coeffs на панели Symbolic (Символика).
- Введите в местозаполнитель после вставленного ключевого слова coeffs аргумент полинома.
- Введите оператор символьного вывода ->
- Нажмите клавишу
.
Примеры вычисления коэффициентов полинома приведены в листингах 5.7 и 5.8. Листинг 5.7 показывает расчет коэффициентов для разных аргументов. Последний листинг демонстрирует возможность определения коэффи-щентов не только для отдельных переменных, но для более сложных выражений, входящих в рассматриваемую формулу в качестве составной части.
Листинг 5.7. Вычисление коэффициентов полинома
Листинг 5.8. Вычисление полиноминальных коэффициентов для простой переменной и выражения
Если выражение является полиномом относительно некоторой переменной х, заданным не в обычном виде а 0 +а 1 х+а 2 х 2 +…, а как произведение других, более простых полиномов, то коэффициенты а 0 +а 1 +а 2 легко определяются символьным процессором Mathcad. Коэффициенты сами могут быть функциями (подчас, довольно сложными) других переменных.
Рис. 5.10 . Вычисление коэффициентов полинома
Чтобы вычислить полиномиальные коэффициенты (Polynomial Coefficients ) в выражении при помощи меню (рис. 5 10):
- Введите выражение.
- Выделите в нем имя переменной или выражение, для которого требуется рассчитать полиномиальные коэффициенты (в примере на рис. 5.10 это переменная z).
- Выполните команду Symbolic › Polynomial Coefficients (Символика › Коэффициенты полинома).
В результате под выражением появится вектор, состоящий из полиномиальных коэффициентов. Первым элементом вектора является свободный член а 0 , вторым - а 1 , и т. д.
Конкретная задача, требующая вычисления полиномиальных коэффициентов, приведена в разделе, посвященном численному отделению корней полинома (см. разд. "Корни полинома" гл. 8).
Чтобы вычислить полиномиальные коэффициенты с помощью оператора символьного вывода:
- Введите выражение.
- Нажмите кнопку Coeffs на панели Symbolic (Символика).
- Введите в местозаполнитель после вставленного ключевого слова coeffs аргумент полинома.
- Введите оператор символьного вывода →
- Нажмите клавишу Enter .
Примеры вычисления коэффициентов полинома приведены в листингах 5.7 и 5.8. Листинг 5.7 показывает расчет коэффициентов для разных аргументов. Последний листинг демонстрирует возможность определения коэффициентов не только для отдельных переменных, но для более сложных выражений, входящих в рассматриваемую формулу в качестве составной части.
Листинг 5.7 . Вычисление коэффициентов полинома:
Листинг 5.8 . Вычисление полиноминальных коэффициентов для простой переменной и выражения:
- 1-й способ с помощью графика;
- 2-й способ с помощью функции Excel =ЛИНЕЙН() ;
Подробнее о полиноме и способе его расчета в Excel далее в нашей статье.
Полиномиальный тренд применяется для описания значений временных рядов, попеременно возрастающих и убывающих. Полином отлично подходит для анализа большого набора данных нестабильной величины (например, продажи сезонных товаров).
Что такое полином? Полином - это степенная функция y=ax 2 +bx+c (полином второй степени) и y=ax 3 +bx 2 +cx+d (полином третей степени) и т.д. Степень полинома определяет количество экстремумов (пиков), т.е. максимальных и минимальных значений на анализируемом промежутке времени.
У полинома второй степени y=ax 2 +bx+c (на графике ниже 1 максимум).
У Полинома третьей степени y=ax 3 +bx 2 +cx+d может быть один или два экстремума .
Один экстремум
Два экстремума
У Полинома четвертой степени не более трех экстремумов и т.д.
Как рассчитать значения полинома в Excel?
Есть 3 способа расчета значений полинома в Excel:
- 1-й способ с помощью графика;
- 2-й способ с помощью функции Excel =ЛИНЕЙН;
- 3-й способ с помощью Forecast4AC PRO;
1-й способ расчета полинома - с помощью графика
Выделяем ряд со значениями и строим график временного ряда.
На график добавляем полином 6-й степени.
Затем в формате линии тренда ставим галочку "показать уравнение на диаграмме"
После этого уравнение выводится на график y = 3,7066x 6 - 234,94x 5 + 4973,6x 4 - 35930x 3 - 7576,8x 2 + 645515x + 5E+06 . Для того чтобы последний коэффициент сделать читаемым, мы зажимаем левую кнопку мыши и выделяем уравнение полинома
Нажимаем правой кнопкой и выбираем "формат подписи линии тренда"
В настройках подписи линии тренда выбираем число и в числовых форматах выбираем "Числовой".
Получаем уравнение полинома в читаемом формате:
y = 3,71x 6 - 234,94x 5 + 4 973,59x 4 - 35 929,91x 3 - 7 576,79x 2 + 645 514,77x + 4 693 169,35
Из этого уравнения берем коэффициенты a, b, c, d, g, m, v, и вводим в соответствующие ячейки Excel
Каждому периоду во временном ряду присваиваем порядковый номер, который будем подставлять в уравнение вместо X.
Рассчитаем значения полинома для каждого периода. Для этого вводим формулу полинома y = 3,71x 6 - 234,94x 5 + 4 973,59x 4 - 35 929,91x 3 - 7 576,79x 2 + 645 514,77x + 4 693 169,35 в первую ячейку и фиксируем ссылки на коэффициенты тренда (см. )
R2C8 *RC[-3]^6+ R3C8 *RC[-3]^5+ R4C8 *RC[-3]^4+ R5C8 *RC[-3]^3+ R6C8 *RC[-3]^2+ R7C8 *RC[-3]+ R8C8
R2C8*RC[-3]^6 +R3C8*RC[-3]^5 +R4C8*RC[-3]^4 +R5C8*RC[-3]^3 +R6C8*RC[-3]^2 +R7C8*RC[-3]+R8C8
2-й способ расчета полинома в Excel - функция ЛИНЕЙН()
Рассчитаем коэффициенты линейного тренда с помощью стандартной функции Excel =ЛИНЕЙН ()
Для расчета коэффициентов в формулу =ЛИНЕЙН (известные значения y, известные значения x, константа, статистика) вводим:
- "известные значения y" (объёмы продаж за периоды),
- "известные значения x" (порядковый номер временного ряда),
- в константу ставим "1",
- в статистику "0"
Получаем следующего вида формулу:
ЛИНЕЙН(R[-4]C:R[-4]C;R[-5]C:R[-5]C;1;0),
Теперь, чтобы формула Линейн() рассчитала коэффициенты полинома , нам в неё надо дописать степень полинома, коэффициенты которого мы хотим рассчитать.
Для этого в часть формулы с "известными значениями x" вписываем степень полинома :
- ^{1:2:3:4:5:6} - для расчета коэффициентов полинома 6-й степени
- ^{1:2:3:4:5} - для расчета коэффициентов полинома 5-й степени
- ^{1:2} - для расчета коэффициентов полинома 2-й степени
Получаем формулу следующего вида:
ЛИНЕЙН(R[-4]C:R[-4]C; R[-5]C:R[-5]C^{1:2:3:4:5:6} ; 1; 0)
Вводим формулу в ячейку, получаем 3,71 -- значение (a) для полинома 6-й степени y=ax^6+bx^5+cx^4+dx^3+gx^2+mx+v
Для того, чтобы Excel рассчитал все 7 коэффициентов полинома 6-й степени y=ax^6+bx^5+cx^4+dx^3+gx^2+mx+v, необходимо:
1. Установить курсор в ячейку с формулой и выделить 7 соседних ячеек справа, как на рисунке:
2. Нажать на клавишу F2
Получаем 7 коэффициентов полиномиального тренда 6-й степени.
Рассчитаем значения полиномиального тренда с помощью полученных коэффициентов. Подставляем в уравнение y=3,7* x ^ 6 -234,9* x ^ 5 +4973,5* x ^ 4 -35929,9 * x^3 -7576,7 * x^2 +645514,7* x +4693169,3 номера периодов X, для которых хотим рассчитать значения полинома.
Каждому периоду во временном ряду присваиваем порядковый номер, который будем подставлять в уравнение полинома вместо X.
Рассчитаем значения полиномиального тренда для каждого периода. Для этого вводим формулу полинома в первую ячейку и фиксируем ссылки на коэффициенты тренда(см.)
Получаем формулу следующего вида:
R2C8 *RC[-3]^6+R3C8 *RC[-3]^5+R4C8 *RC[-3]^4+R5C8 *RC[-3]^3+R6C8 *RC[-3]^2+R7C8 *RC[-3]+R8C8
в которой коэффициенты тренда зафиксированы и вместо "x" мы подставляем ссылку на номер текущего временного ряда (для первого значение 1, для второго 2 и т.д.)
Также "X" возводим в соответствующую степень (значок в Excel "^" означает возведение в степень)
R2C8*RC[-3]^6 +R3C8*RC[-3]^5 +R4C8*RC[-3]^4 +R5C8*RC[-3]^3 +R6C8*RC[-3]^2 +R7C8*RC[-3]+R8C8
Теперь протягиваем формулу до конца временного ряда и получаем рассчитанные значения полиномиального тренда для каждого периода.
2-й способ точнее, чем первый, т.к. коэффициенты тренда мы получаем без округления, а также этот расчет быстрее.
3-й способ расчета значений полиномиальных трендов - Forecast4AC PRO
Устанавливаем курсор в начало временного ряда
Заходим в настройки Forecast4AC PRO, выбираем "Прогноз с ростом и сезонностью", "Полином 6-й степени", нажимаем кнопку "Рассчитать".
Заходим в лист с пошаговым расчетом "ForPol6", находим строку "Сложившийся тренд":
Копируем значения в наш лист.
Получаем значения полинома 6-й степени, рассчитанные 3 способами с помощью:
- Коэффициентов полиномиального тренда выведенных на график;
- Коэффициентов полинома рассчитанных с помощью функцию Excel =ЛИНЕЙН
- и с помощью Forecast4AC PRO одним нажатием клавиши, легко и быстро.
Присоединяйтесь к нам!
Скачивайте бесплатные приложения для прогнозирования и бизнес-анализа :
- Novo Forecast Lite - автоматический расчет прогноза в Excel .
- 4analytics - ABC-XYZ-анализ и анализ выбросов в Excel.
- Qlik Sense Desktop и QlikView Personal Edition - BI-системы для анализа и визуализации данных.
Тестируйте возможности платных решений:
- Novo Forecast PRO - прогнозирование в Excel для больших массивов данных.