Дьяконов В. Maple 7 - Учебный курс (1185900), страница 54
Текст из файла (страница 54)
9.4 предо~вален пример полиномиальной аппроксимации хорошо известной статистической функции еггс(х). Для полинома задана максимальная степень 12, ио ввиду отсутствия в разложении четных степеней максимальная степень результата оказывается равна 11. Рнс. О.Л. Пример полнномиальной аппроксимации функции епс(х) ))нтерполяция и аппроксимация функциональннх зависимостей 355 Как видно из приведенного рисунка, в интервале изменения х от — 1,5 до 1,5 аппроксимирующее выражение поч~и повторяет исходную зависимость. Однако затем график аппроксимирующей функции быстро отходит от графика исходной зависимости. При этом он ведет себя иначе даже качественно, никоим образом не показывая асимптотическое поведение, характерное для исходной зависимоспь Полиномиальная интерполяция табличных данных Если данные некоторой зависимости у(х) заданы векторами Х и з' ее дискретных значений, то для получения интерполяционного степснного многочлена достаточно записать многочлен для всех Х пар значений у(х) при 1 = 1...Ю (или ( - О...У вЂ” 1, если индексы отсчетов начинаются с нуля).
Полученная при этом система линейных (относительно коэффициентов полинома) уравнений после решения дает коэффициенты аппроксимирующего полинома. Степень полинома на 1 меньше )Ч:; а вычисляемые при х значения у(х) совпадают с табличными (узловыми) в пределах вычислитель)той погрешйоети. Па самом деле все это делать не нужно, поскольку Мар1е 7 имеет реалнзуюшую данный алгоритм встроенную функцию (п1егр(Х, У, ч) или в инертной форме [пТегр(Х.У,ч). Переменная ч указывает имя переменной пнтерполяционного полинома. Векторы Х и ч должны содержать и + 1 - Ю координат точек исходной зависимости, где и — степень интерполирующего полинома.
Рисунок 9.5 показывает технику применения полипомиальной аппроксимации па основе функции (пгегр с построением графика исходных точек и аппроксимируюшего полинома. Нетрудно заметить, что график полипома проходит точно через исходные точки — онп показаны квадратиками. В этом примере полезно присмотреться к визуализации результа~ов вычислений и совместному построению графика интерполирующего полпнома и исходных точек. В частности, для построения последних использована обычная функция р)о1, позволяющая выводить на график точки с заданными координатами, причем не только в виде окружностей, но и в виде точек, маленьких крестиков, кружков, квадратов и других фигур. Для выбора типа точек и других параметров графика его надо выделить (установив указатель мыши в поле графика и Шелкнув левой кнопкой) и нажать правую кнопку мыши — появится контекстно-зависимое меню с операциями форматирования графика.
Это меню показано на рис. 9.5. Приведем еше несколько примеров использования функции 1п1егр; > 1пгегр([2,9,6), [9,8.3), х) яоц 11; 8х~н бх+9 » а)(аз(а)рвааооСВГ(х"4+к+1))з а > а: )птегр([0.1.а)рва).[а)рна,а)рва"2.а)рва ЗВ х) яоп 2; а:= ха+ (а'+ а+ 1) х+ а 356 Урок 9. Анализ функций и лолиноиов Рис. 9.9. Пример псупгессвпемив пплиипмиапьмпй аппроксимации Сплайн-интерполяция и аппроксимация Точность погшномпальпой щшроксимапнн катастрофически падает при увеличении степени аппроксимирующих полиномов. От этого недостатка можно избавиться, используя для аппроксимации огпрезхи полиномов невысокой с~сцепи, применяемые для представления части узловых ~очек. Самым известным методом такой аппроксимации является сплайгг-аппроксимация на основе применения отрезков кубических полиномов. при этом аппарат сплайн-аппроксимации позволяе~ получить полиномы, которые дают в узгговых точках непрерывность не только представляемой ими функции, но и ее первых и даже вторых производных.
Наглядно сплайн-функцию можно представить в виде гибкой стальной линейки, закрепленной в узловых точках и плавно изгибающейся, благодаря указанным свойствам сплайнов они неплохо описывают функции, представленные как небольшим числом узловых точек (благодаря плавности сплайн-кривых), так и функции, представляемые очень большим числом узловых точек (поскольку порядок полиномов от этого числа уже не зависит). Недостатком сплайн-аппроксимации является отсутствие общего выражения для всей кривой, Фактически приходится использовать набор сплайн-функций для различных интервалов между узловыми точками.
Интерполяция и аппроксииация функциональных зааисииостей 357 Для получения сплайн-интерполяции используется Мар! е-функция зр!йпе(Х, У, чаг,6), Здесь Х и У вЂ” одномерные векторы одашакового размера, несущие значения координат узловых точек исходной функции (причелг в произвольном порядке), чаг — имя переменной, относителыю которой вы пкляется сплайн-функция, наконец, необязательный параметр г! задав~ вид сплай на. Он может иметь следугощие значения; 1 ! пеа г— линейная функция, или полипом первого порядка, ацацга1тс — квадратичная функция, илп полипом второго порядка, сцЬ!с — полипом третьего порядка, оцаг11с— полипом четвертого порядка, Если параметр с! опущен, то сплайн-функцця будет сгроиться на основе подиномов третьего порядка (кубические сплайны).
Технику сгглайновой аппроксимации наглядно поясняе~ рпс. 9.6. На цем представлено задание векторов узловых точек Х и Ч п четырех сплайиовых функций, по которым построены пх графики. Для одной из фупкппй (с линейной интерполяцией между узлами) показан вид сплайновой функции.
Рис. й.а. Задание спяайнавай аппраксииации и пвсгрвение графиков паяучениых функций Как видно из рис. 9.6, сплайновая функция представляет собой кусочную функцию, определяемую на каждом отдельном интервале. При этом на каждом участке такая функция описывается отдельным полиномом соответствующей степени. Функция р1от апонимаета такие функции и позволяет без преобразования типов данных строить их графики. Для работы с кусочными функциями можно использовать функции сопчег1 и р1есевпхе. 358 зрок 9. Анализ фуинций и полииомов Прямое и обратное Е-преобразования Прямое и обратное Х-преобразования функций широко используются при решении задач автоматического управления.
Эти преобразования задаются следующими функциями: О хТгапз(т, и. 2) — прямое преобразование функции Дп) в у(г); О )пихггапз(г, х. и) — обратное преобразованиеДг) ау(п). Заметим, что прямое Х-преобразование базируется па соотношении хт гааз( г(п) . и, г)= = зцн(1(п)/х"п,п=О..тпГ1гп1у), записанном на Мар!е-языке. В первых версиях системы Мар)е 2-преобразования выполнялись средствами библиотеки и требовали вызова командой геао))!)(гтгапв).
Но в Мар)е 7 они включены в ядро системы и предварительного вызова уже не требую~. В этом убеждают следующие примеры: > а:=жгвпз(п"2.п,г); ."(г+ 1) а:= (з — ! )з з Злтжгалз(альпы Родственные Х-преобразованиям интегральные преобразования Лапласа и Фу- рье реализуются с помощью пакета тпьсгапв (интегральные преобразования). Что нового мы узнали? В этом уроке мы научились: О Выполнять поиск экстремулюв функций. О Осущес~влять поиск минимумов и максимумов аналитических функций. О Анализировать функции на непрерывность. О Находить сингулярные точки функций. О Вычислять асимптотические и иные разложения.
О Анализировать сложные функции. О Работать с кусочными функциями. О Выполнять операции с полиномами. О Интерполировать и аппроксимировать функциональные зависимости. О Вычислять прямые и обратные Х-преобразования. З Программирование символьных операций а Э о а Символьные (аналитические) операции Основные операции с выражениями Подстановки Упрощение выражений Расширение выражений Факторизация выражений Комплектование по степеням Основные операции с выражениями Работа с частями выражений Выражения (ехрг) или уравнения (ецп) обычно используются как сами по себе, так и в виде равенств пли неравенств, В последнем случае обьекты с выражениями имеют левую и правую части.
Для простейших мацицуляций с выражениями полезны следующие функции: О созИа) — возвращает число сложений и умножений в выражении а (функция паке~а соде((еп); О )Ьз(едп) — выделяет левую часть е()п; О гбв(едп) — выделяет правую часть ецп; О погва) (ехрг) — дает нормализацию (сокращенне) ехрг в виде дроби; О повес(ехрг) — выделяет числитель ехрг; О бенов(ехрг) — выделяет знаменатель ехрг.
Ввиду очевидности действия зтнх функций ограннчилтся наглядными примерами их применения: » и11Щ ох)едеп, солт): > соФх"3>Ь 2.х): 2 асЫ///опт е 3 ти1/р!/са(/опя > )Ьз(еип(х) 2>сов(х) "2 1); яп(х) + соз(х) > гьз(з(п(х) 2>сох(х) "2 1); 1 > пепла)(2/4+3/б+б/12): 3 2 > Г:"бл(а-Ы 2/(а"2-2*а*Ь.Ь 2); (а — Ь)~ ./:= 5— а — 2аЬ вЂ” Ь > пввег(Г); 5 (а — Ь) > бенов(г): ах-2аЬ-Ьт Основные операции с выражениями 361 ~ ПРИМЕЧАНИЕ Обратите внимание на то, что а предюестаующих версиях Мар!е затрузка библиотечной функции сои выполнялась иначе — командой теабцв(сои).
Это обстоятельство может служить причиной неяерной работы документоя, созданных а старых версиях Мар(е, а среде описываемой персии Мар)е 7. Работа с уровнями вложенности выражений В общем случае выражения мо)ут быль многоуровневыми и содержать объекты, расположенные на разных уровнях вложенности.