Дьяконов В. Maple 7 - Учебный курс (1185900), страница 53
Текст из файла (страница 53)
Функция Атассог(р) выполняет полную факторизацию [разложение) полинома р от нескольких переменных с козффициентахш в виде алгебраических чисел нал полем комплексных чисел. При этом справедливо отношение еча1а(АЕастог(р) ) =[ассог(р, сотр1 ех). Таким образом, зта функция является, по существу, избьггочной. В случае одномерного полпнома полное разложение на множители является разложением на линейные множители. Функция АЕасСогз аиалОГИЧНа фУнюипи Атассог, но создает структуру данных формы [ц, [[Ч[Ц,е[Ц],, [Е[п], е[п]]]] так, что р=о*Е[Ц "е[Ц*.*р[п] е[п], где каждый Г[(] — непрпводпмый по.ином. Ниже даны примеры применения функции Ауастог: > еча)а(АЕастог(2*х"2ч4*х-6)): 2 (х+ 3 ) (х — 1) > еча1а(АЕастог(х 2ч2 У"2)); [х — )(оо(01[ 2'+ 2)у)(х+йоо(ОГ( Ет +2)у) > ехрапв((х-1)*(х-2)*(х-3)*(х-4) ): х — 10 лл+ 35 х — 50 х+ 24 > АЕассог(Х).' АГас(05(х~- 10 х'+ 35 х' — 50.т+ 24) > еча1а(Х); (х — 1) (х — 2) (х — 3 ) (х — 4) > ехрапо((х.1+1*2)*(х+1-1*2)*(х.з)): х' - 3 х' + 3 х - 9 + 4 1х - ! 2 У > еча1а(АЕастог(Х)); (.х — 3 ) (х + 3 е 4 1) > еча1а(АЕассогз(х"2-2*у"2)); [1, [[х — Коо(01( У~ — 2)у, 1], [х+йоо(О~ У' — 2)у,! ]]] Нетрудно заметить, что разложение полинома ца множители позволяет оценить наличие у него корней.
Однако для зтого удобнее воспользоваться специальными функциями, рассмотренными ниже. Вычисление корней полинома Для вычисления действительных и комплексных корней полиномов служит уже известная нам функция зо1че(р,х), возвращающая список корней полинома р одной переменной. Кроме того, имеются следующие функции для вычисления корней полиномов: ГООС5(Р) гООС5(Р. К) гоосыр. х) ГООС5(Р. Х. К) Эти функции вычисляют точные корни в рациональной или алгебраической области чисел"Корин возвращаются в виде [ [г1,аЦ., [гп,вп] ], где г! — зто 350 Урок 9.
Анализ функций и полиноиов корень полинома, а ат — порядковый номер полинома. С действиями этих функ- ций можно разобраться с помощью приведенных ниже примеров: > р: х"4+9*х"3+31*х" 2+59'"х+ао: р:= х~ + 9 хз + 31 хз + 59 х + 60 > зо)че(р,х); -3, -4, -1 + 2 Т, -1 — 2 ( > гол!в(р.х); [[-4, 1 ], [-3, 1 ]] > гоотз(х"2.4.х); [[2, 1], [-2, 1]] > ехрапе((х. 1)*(х.2)*(х.з)>(х.4)); х" — 10 хз+ 35 х — 50 х+ 24 > гоо15(з,х): [[1, 1], [2, 1], [3, 1] [4, 1]] Основные операции с полиномами С полиномами могу~ выполняться различные операции.
Прежде всего отметим некоторые функции, которые относятся к одному полиному: О рз((гг(р) — возвращает квадрат полинома; О ргоо1(р, и) — возвращает п-ю степень полинома; О геа)гоо1(р) — возвращает интервал, в котором находятся действительные корни полинома; О гапсро)у(чага. ецпа) — возвращает случайный полипом по переменным чагъ [список) с максимальной с~епенью ецпа; О ((тасг(в(р.чаг) — вычисление дискримипанта полинома по переменной чаг; О Ргпа!1(че(а) вой р — проверка полинома на примитивность (возвращает 1гце, если полипом примитивен). Действие этих функций достаточно очевидно, поэтому ограничимся привсдени- ем примеров их использования: > геай) (Ырвцгт): > геао)(Ыргоот): > рзцгт(х"2+2*к"у>у'2); у+х > ргоос(х"3+3 "х"2+3*х+1. 3); х+1 > рзцге(х+у); ХОБДЯТ > ргоот(х+у. 2): )УО1(ООТ > р: х"3-3"х"2+5"х.
10; р:= х — 3 ха + 5 х — 10 Операции с полииомами 351 > 0(асг(в(р,х): -1355 > геад1(ыгеа!гоог): > геа1гоог(р): ((0,4)) > гапоро1у((х]АеЯгее 10): 63 х'о+ 57х — 59х + 45х~ — 8х — 93 > гапдро)у(гх] Аергее-10); -5 х~ + 99 х — 61 х — 50 х~ — 12 х — 18 х > гапура)у(гх] Агвгее 10); 41 хе — 58 ха — 90 хг + 53 ха — х4+ 94 х > Рг(в(г(уе( х"4+х+1 ) воо 2; г ие Обратите внимание на то, что для использования некоторых из приведенных функций необходим вызов их нз стандартной библиотеки.
Для функции гапаро1у приведенные результаты случайны, так что, скорее всего, их повторение невозможно. С полиномами можно выполнять обычные операции, используя для этого соответствующие операторы; > геа01(ыраегг): > геа01(ыргоог): > Рггв(ггхе( х"4+х+1 ) вод 2: Ггие > р1: а1*х"3+Ы*х"2+с1>х+01: р2: а2*х"2+02"х+с2: > Р)+Р2: а1 ха + Ы х + с1 х + Н + а2 хт + Ь2 х+ 02 > р1*02; (а! х'+ Ы х'+ с! х+ (!) (а2х'+Ь2х+ с2) » со11есг(т,х): а1 а2 х~+ (Ы а2+ а! Ь2) ха+ (с1 а2+ Ы Ь2+ а! с2) х + (Н а2+ с1 Ь2+ Ы с2) х +(Н Ь2+с!с2)х+Н с2 > р1/р2: а!а+Их +с!х+Н а2х +Ь2х+с2 > ехрапо(х.х); а1 х' Ых с!х Н 2 + г + а2хх+Ьйх+с2 а2х +Ь?х+с2 а2х~+Ь2х+с2 а2х~+Ь2х+с2 В целом надо отметить, что аппарат действий с полиномами в Мар!е 7 хорошо развит и позволяет выполнять с ними практически любые математические операции.
В частности, можно вычислять производные от полиномов и интегралы, у которых полиномы являются подынтегральными функциями: > 01тт(р1,х); За1хх+2Ых+с! > 0)тт(р1. ха2): 352 Урок 9. Анализ функций и полиноион ба1х+2Ы г 1пт(р1,х) зпт(р1.х): а! х +Их +с1х+аз! азх=-а!х +-Ых +-с1х +а(! х 3 2 з ! г 4 3 2 1пт(р1.х 0..1) (пг(р1.х 0..1); ! ! ! а 1 хз + Ы л + с ! х + 41! 4!х = — а ! + — Ы + - с! + 41! 4 3 2 о Операции над степенными многочленами с отрицательными степенями Хотя в подавляюгцем болыпцнстве случаев используются степенные многочлены (полиномы) с положительными степенями, Мар!е 7 не накладывает особых ограничений и на многочлены с отрицательными степенями.
Например, можно задать такой степенной многочлен: г рр:-а*х (.2)+Ь*х"(- 1)+с*х+04е*х 2+(*х"3: рр:= — + — + сх+ аз+ е х +! х а Ь 2 Э хг х Нетрудно показать, что с ним можно выполнять различные операции: г РР4РР' 2 — + — + 2 с х + 2 4(+ 2 е х + 2 1'х а 2Ь 2 Э хг х ~ РР РР' 0 рр 2; а Ь .3) с в,+ — +ах+аз+ел +!х х ~ 3(пр)(ГУ(г): 2 (а + Ьх+ схз+ 4(х + ех~+1хз) х4 0(Л(рр, х) й)тт(рр.х): дба Ь 3) а Ь вЂ” — +-+ах+4!+ех'+1х' =-2 — — — +с+2ех+31хг д.~, х хз хг х 1пг(рр.х): а Ь г з — + — +ох+4(+ех +Гх а)х х2 х > гпг(рр.х): а г ! з ! +Ь!п(х)+-сх +а)х+-ех + — Ух х 2 3 4 Интерполяция и аппроксимация функциональных зависимостей 353 ~ ПРИМЕЧАНИЕ Марте 7 не накладывает ограничений на применение степенных иногочленов (полиномов) с отрицательными степенями. Однако свойства таких полиномов заметно отличаются от свойств полиномов с положительнымм степенями, поэтому при приненении первых надо проявлять известную осторожность.
Интерполяция и аппроксимация функциональных зависимостей Интерполяция, экстраполяция и аппроксимация Вычисление многих функций, особенно специальных, требует больших затрат времени. Поэтому до сих пор широко применяются таблицы таких функций. Достаточно отметить знаменитые на весь мпр таблицы в книге «Справочник по специальным функциям с формулами, графиками и таблицами» под редакцией М. Абрамовица и И, Стигав )59). Если некоторая зависимость у(х) представлена рядом табличных отсчетов у(х,), то иггтерполяцией принято называть вычисление значений у(х) при заданном х, расположенном в интервале между отсчетами. За пределами общего интервала определения функции (а, 61, то есть при х с а и х > Ь, вычисление у(х) называют экстраполяцией (или иногда предсказаггием значений функции).
В данном случае речь идет об одномерной интерполяции, но возможны двумерная интерполяция функций двух переменных г(х, у) и даже многомерная интерполяция для функций многих переменных. Интерполяция и экстраполяция часто выполняются по некоторой скрытой, тзо подразумеваемой зависимости. Например, если узловые точки функции соедннить отрезками прямых, то будем илгеть многоинтервальную линейную интерполяцию данных. Если использовать отрезки параболы, то интерполяция будет параболической.
Особое значение имеет многоинтервальная сплайн-интерполяция, области применения которой уже сейчас весьма обширны и непрерывно расширяются. Интерполяция рядом Фурье (набором синусоидальных функций) также достаточно хорошо известна; она эффективна при интерполяции периодических функций.
Аппроксимацией в системах компьютерной математики обычно называют получение приближенных значений какого-либо выражения. Однако под аппроксимацией функций подразумевается получение некоторой конкретной функции, вычисленные значения которой с некоторой точностью аналогичны аппроксимируемой зависимости. Обычно предпочитают найти одну зависимость, приближающую заданный ряд узловых точек. Часто для этого используют степенные многочлены — полиномы. Здесь мы будем рассматривать такие виды аппроксимации, которые дают точные значения функции у(х) в узловых точках в пределах погрешности вычислений по умолчанию. Если аппроксимирующая зависимость выбирается из условия наименьшей средиеквэдратической погрешности в узловых точках (метод наименьших квадратов), то мы имеем регрессию или нриблиясеиие функций по методу наименьших квадратов., 354 Урок р.
Анализ функций и лолиномое Аппроксимация аналитически заданных функций Если функция задана аналитически, то наиболее простым способом нахождения ее аппроксимирующей зависимости является применение функции сопчег1. Это поясняют следующие примеры: > сопчег((тау)ог(ехр(х).х.5),ро)упои); 3 1 4 1+х+-х-+-х + — х 2 б 24 > Г;-х >(х"3+х)/(х а- 1); хз+х у:=х — ь— хз — 1 > сопчегт(Г(х),рагтгас,х): 1 1 х+ — +— х — 1 хе! На рис.