Войти
Юридический сайт - Spravka01
  • Интернет-сервис “Онлайн запись на прием в инспекцию”
  • Информация о налоговой декларации Кто обязан подать декларацию 3 ндфл
  • Что такое проскомидия, как и за кого можно подавать записку
  • Сталинские репрессии — причины, списки репрессированных и реабилитированных жертв
  • Приходные и расходные кассовые ордера: порядок оформления, правила заполнения и образец
  • Фундаментальные исследования
  • Коэффициенты полинома (Polynomial Coefficients). Коэффициенты полинома (Polynomial Coefficients) Тестируйте возможности платных решений

    Коэффициенты полинома (Polynomial Coefficients). Коэффициенты полинома (Polynomial Coefficients) Тестируйте возможности платных решений

    Если выражение является полиномом относительно некоторой переменной х, заданным не в обычном виде а 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. Вычисление полиноминальных коэффициентов для простой переменной и выражения

    • 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 способами с помощью:

    1. Коэффициентов полиномиального тренда выведенных на график;
    2. Коэффициентов полинома рассчитанных с помощью функцию Excel =ЛИНЕЙН
    3. и с помощью Forecast4AC PRO одним нажатием клавиши, легко и быстро.

    Присоединяйтесь к нам!

    Скачивайте бесплатные приложения для прогнозирования и бизнес-анализа :


    • Novo Forecast Lite - автоматический расчет прогноза в Excel .
    • 4analytics - ABC-XYZ-анализ и анализ выбросов в Excel.
    • Qlik Sense Desktop и QlikView Personal Edition - BI-системы для анализа и визуализации данных.

    Тестируйте возможности платных решений:

    • Novo Forecast PRO - прогнозирование в Excel для больших массивов данных.

    Если для полинома 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 подбирается так, чтобы полином проходил через точку . В записи Лагранжа полином выглядит следующим образом.

    ЛАБОРАТОРНАЯ РАБОТА № 7

    ИНТЕРПОЛЯЦИЯ ФУНКЦИИ МНОГОЧЛЕНАМИ

    ЛАГРАНЖА

    Задание. Вычислить приближенное значение функции при данном значении аргумента х* с помощью интер­поляционного многочлена Лагранжа; построить график мно­гочлена Лагранжа, проходящий через заданные шесть точек.

    Краткое описание метода.

    Начнем с рассмотрения задачи интерполяции в наиболее простом и полно исследованном случае интерполирования алгебраическими многочленами. Для заданной таблицы данных)

    интерполяционным многочленом , если он удовлетворяет условиям

    Равенство (7.2) можно записать в виде системы уравнений

    относительно коэффициентов многочлена а к . Эта система однозначно разрешима, так как система функций 1, х, х 2 , х п линейно независима в точках х 0 , х и .х п. Однозначная разрешимость системы(7.3) следует из того хорошо известного факта, что определитель этой системы (определитель Вандермонда)

    отличен от нуля, если узлы интерполяции попарно различны. Таким образом, верна следующая теорема.

    Теорема 7.1. Существует единственный интерполяционный многочлен степени п, удовлетворяющий условиям (7.2).

    Замечание. На практике система (7.3) никогда не используется для вычисления коэффициентов интерполяционного многочлена. Дело в том, что она часто является плохо обусловленной. Кроме того, существуют различные удобные явные формы записи интерполяционного многочлена, которые и применяются при интерполяции. Наконец, в большинстве приложений интерполяционного многочлена явное вычисление коэффициентов а к не нужно.

    Задача интерполяции состоит в построении функции (x) удовлетворяющей условию Другими словами, ставится задача о построении функции, график которой проходит через заданные точки (x i ,y i) Так как функция (x) проходит через все заданные точки, то этот метод называется глобальной интерполяцией. Наиболее простой и полно исследованный случай - интерполяция алгебраическими многочленами. Одна из форм записи интерполяционного многочлена -многочлен Лагранжа:

    Как нетрудно видеть, представляет собой многочлен, удовлетворяющий условиям

    Таким образом, многочлен Лагранжа действительно является интерполяционным.

    В инженерной практике наиболее часто используется интерполяция многочленами первой, второй и третьей степени. Приведем соответствующие формулы для записи многочленов Лагранжа первой и второй степени:

    Пример 7.1. Пусть задана таблица значений функции у =ln x:

    X 1,0 1,1 1,2 1,3 1,4
    У 0,000000 0,095310 0,182322 0,262364 0,336472

    Для приближенного вычисления значения 1п(1,23) воспользуемся линейной и квадратичной интерполяцией.

    Возьмем х 0 =1,2 и x 1 =1,3. Вычисление по формуле (7.4) дает значение 1n(1,23) 0,206335 .

    Для применения квадратичной интерполяции возьмем х 0 =1,1, x 1 =1,2, х 2 =1,3 - три ближайших к точке х =1,23

    узла. Вычисляя по формуле (7.5), имеем 1n(1,23) 0,207066.

    Приведем без доказательства наиболее известную теорему о погрешности интерполяции.

    Теорема 7.1. Пусть функция f(x) дифференцируема n+1

    раз на отрезке [а, b], содержащем узлы интерполяции Тогда для погрешности интерполяции в точке справедливо равенство

    в котором

    - некоторая точка, принадлежащая интервалу (а, b).

    Основное неудобство в использовании этой теоремы состоит в том, что точка неизвестна. Поэтому чаще всего используется не сама теорема, а ее следствие.

    Следствие. Справедлива оценка погрешности интерполяции в точке , имеющая, вид

    а также оценка максимума модуля погрешности интерполяции на отрезке имеющая вид

    Пример 7.2. Оценим погрешность приближений к

    ln(1,23) , полученных в примере 7.1 с помощью интерполяции многочленами первой и второй степени. В этих случаях неравенство (7.7) примет вид

    Заметим, что для имеем и . Поэтому здесь

    Тогда в силу неравенств (7.9) и(7.10) получаем следующие оценки погрешности:

    Если на отрезке , производная меняется слабо, то величина абсолютной погрешности почти полностью определяется значением функции . Представление о типичном характере поведения этой функции можно получить из рис. 1. Обратим внимание на то, что при выходе аргумента х за пределы отрезка наблюдения значение быстро становится очень большим. Это объясняет ненадежность экстраполяции функции для значений аргумента, удаленных от отрезка наблюдения.

    Пусть теперь и пусть i -й шаг таблицы, а Несколько огрубляя оценку (7.8), можно получить следующее неравенство

    Оно позволяет утверждать, что для достаточно гладкой функции при фиксированной степени интерполяционного многочлена погрешность интерполяции на отрезке [х 0 , х n ] при стремится к нулю не медленнее, чем некоторая величина, пропорциональная . Этот факт принято формулировать так: интерполяция многочленом степени п имеет (n+1)-й порядок точности относительно h max . В частности, линейная и квадратичная интерполяция имеют второй и третий порядок точности соответственно.

    Варианты x* x i y i Варианты x* x i y i
    0,702 0,43 0,48 0,55 0,62 0,70 0,75 1,63597 1,73234 1,87686 2,03345 2,22846 2,35973 0,152 0,02 0,08 0,12 0,17 0,23 0,30 1,02316 1,09590 1,14725 1,21483 1,30120 1,40976
    0,512 0,174
    0,645 0,185
    0,736 0,203
    0,526 0,35 0,41 0,47 0,51 0,56 0,64 2,73951 2,30080 1,96864 1,78776 1,59502 1,34310 0,616 0,41 0,46 0,52 0,60 0,65 0,72 2,57418 2,32513 2,09336 1,?6203 1,74260 1,62098
    0,453 0,478
    . 15 0,482 0,665
    0,552 0,537
    0,896 0,68 0,73 0,80 0,88 0,93 0,99 0.80866 0,89492 1,02964 1,20966 1,34087 1,52368 0,314 0,11 0,15 0,21 0,29 0,35 0.40 9,05421 6,61659 4,69170 3,35106 2,73951 2,36522
    0,812 0,235
    0,774 0,332
    0,915 0,275

    Алгоритм программы

    Использовать модули crt и graph;

    определение переменных;

    начало исполняемой части программы

    задание значений элементов массивов х[i] и y[i]; задание значения аргумента хz; уz = 0; в цикле по i от 0 до 5 выполнять

    | в цикле по ] от 0 до 5 выполнять если * / то |хх =хх (хz - х[j]/(х[i] - х[j]);

    | y z =y z+y[i] x x

    конец цикла по i ;

    вывод на экран значений хz и уz;.

    ожидание нажатия клавиши Еnter;

    переход в графический режим;

    изображение заданных точек (х i ,у i);

    изображение графика многочлена Лагранжа;

    ожидание нажатия любой клавиши конец программы.

    Указание. При работе в графическом режиме воспользуйтесь программами из предыдущих лабораторных работ.

    Контрольные вопросы

    1. В чем состоит задача интерполяции?

    2. Какой многочлен называется интерполяционным мно­гочленом?

    3. В чем состоит различие между глобальной и локаль­ной интерполяцией?

    4. Как зависит степень интерполяционного многочлена Лагранжа от числа узлов?

    5. Сколько многочленов существует, удовлетворяющих условию интерполирования?

    6. В чем состоят недостатки интерполяционного много­члена Лагранжа?

    7. Как оценивается погрешность интерполяции?

    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 . Вычисление полиноминальных коэффициентов для простой переменной и выражения: