Малый бизнес

Массивы. Коэффициенты полинома (Polynomial Coefficients) Смотреть что такое "Полиномиальные коэффициенты" в других словарях

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

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

Подходящие кривые и поверхности к данным с помощью регрессии, интерполяции и сглаживания

Curve Fitting Toolbox™ предоставляет приложение и функции для подбора кривой кривым и поверхностям к данным. Тулбокс позволяет вам выполнить исследовательский анализ данных, предварительно обработать и постобработать данные, сравнить модели кандидата и удалить выбросы. Можно провести регрессионный анализ, пользующийся библиотекой линейных и нелинейных предоставленных моделей, или задать собственные уравнения. Библиотека обеспечивает оптимизированные параметры решателя и стартовые условия улучшить качество ваших подгонок. Тулбокс также поддерживает непараметрические техники моделирования, такие как сплайны, интерполяция и сглаживание.

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

Начало работы

Изучите основы Curve Fitting Toolbox

Линейная и нелинейная регрессия

Подходящие кривые или поверхности с линейными и нелинейными моделями библиотеки и пользовательскими моделями

Интерполяция

Подходящие кривые интерполяции или поверхности, оцените значения между известными точками данных

Сглаживание

Подходящее сглаживание использования шлицует и локализованная регрессия, сглаженные данные со скользящим средним значением и другими фильтрами

Подходящая постобработка

Графический вывод, выбросы, невязки, доверительные интервалы, данные о валидации, интегралы и производные, генерирует код MATLAB ®

Сплайны

Создайте сплайны с или без данных; ppform, B-форма, продукт тензора, рациональный, и сплайны тонкой пластины stform

ЛАБОРАТОРНАЯ РАБОТА № 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. Вычисление коэффициентов полинома

Чтобы вычислить полиномиальные коэффициенты в выражении при помощи меню (рис. 5 10):

  • Введите выражение.
  • Выделите в нем имя переменной или выражение, для которого требуется рассчитать полиномиальные коэффициенты (в примере на рис. 5.10 это переменная z).
  • Выполните команду Symbolic / Polynomial Coefficients (Символика / Коэффициенты полинома).

В результате под выражением появится вектор, состоящий из полиномиальных коэффициентов. Первым элементом вектора является свободный член а 0 , вторым - а 1 , и т. д.

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

Чтобы вычислить полиномиальные коэффициенты с помощью оператора символьного вывода:

  • Введите выражение.
  • Нажмите кнопку Coeffs на панели Symbolic (Символика).
  • Введите в местозаполнитель после вставленного ключевого слова coeffs аргумент полинома.
  • Введите оператор символьного вывода ->
  • Нажмите клавишу .

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

Листинг 5.7. Вычисление коэффициентов полинома

Листинг 5.8. Вычисление полиноминальных коэффициентов для простой переменной и выражения