Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 71
Текст из файла (страница 71)
В МАТВАВ имеется широкий набор графических форматов. Прн помотци команды печати или меню графического окна можно распечатать изображение, записать рисунок в собственном формате (ЙВ) и сохранить его в нескольких графических форматах. Таблица 14.17. Команды печати Имя Назначение Сохранение рисунка в файле Задание параметров команды рг1 от Печать рисунка ргтпс ргтпсоот рт"свс Команда печати обычно имеет дополнительные параметры, указывающие графи- ческий формат (табл. 14.18) и некоторые особенности. Так, для добавления рисун- ка к существующему файлу достаточно набрать рг!пс -вррепд тт'1е В МАТВАВ используются также другие форматы, полную информацию о кото- рыхможио получить, обратившись к справке Не(р рпот.
Кроме того, сохранить изоб- ражение в каком-либо формате можно при помощи пункта Вхротс... нз меню Рйе. Печать и запись рисунков в файл 381 Таблица 14.18, Графические форматы Параметр Назначвмие Назначения можно изменить прямо в команде ргт пг, например для записи в формате ерз ВтОрОГО рнеуНКа (Е1дн ГЕ !тс. 2) В файЛ аЬС ЛОСтатОЧНО ВЫПОЛНИТЬ СЛЕдуЮШуЮ КОМацду: рг1пт -деря -Г2 аЬс Параметры страницы можно определить при помощи команды огт епс ТУРЕ с парамет- ром тУРе, принимающим значения роггга11 (портрет), 1апдзсаре (ландшафт), ьа11 (пе- чать во всю страницу), а также явно указать графическое окно и параметр ог1 епс ! !т, ТУРЕ) . Того же самого можно добиться при помощи специального окна Раде 5егор, вызывае- мого при выборе одноименного пункта меню Ейе графического окна, см.
рис. 14.32. -дтпл -дидпс -дпгеса -дЫтптар "др5 -др5с -др52 .др552 -дерь -депзс -дер52 дергс2 -д1!! д1редспп> -дЦТТ Черно-белая печать Цветная печать Сохранение в буфере в формате плт Сохранение в буфере в формате Ьмр Черно-белая печать (рисунок) в стандарте Розт5спр! уровня 1 Цветная печать в стандарте Роз!5спрт уровня 1 Черно-белая печать в стандарте Ро515спр! уровня 2 Цветная печать в стандарте РЬ515спр! уровня 2 Черно-белая печать в стандарте Епсарзи!асед РозС5спрт уровня 1 Цветная печать в стандарте Епсаряо!а!ед Ро515спрт уровня 1 Черно-белая печать в стандарте Епсарзо!асед Ро515спрсуровня 2 Цветная печать в стандарте Епсаряп!атед Роят5спр! уровня 2 Графический формат АдоЬе П!озсгасог 88 8РЕб-формат, качество определяется параметром пп (по умолчанию пп равно 75) Графический формат ПЕГ Рис. 15.32. Окно опреяелення параметров страницы в МАТ!АВ В.З 382 Глава 14. Графика МАТЮКАВ Рис.
34.33. Окно определения параметров страницы в МАЦАВ 6 Из всех возможностей данного окна отметим пункт Ма1с!т Р!доге 5сгееп 5!те, позволяющий увязать величину графического окна на экране дисплея с площадью картинки на странице или размером изображения в графическом файле. В МАТЮКАВ 6 окно для определения параметров страницы Раде 5е1ир приобрело другой вид, см. рис. 14.33.
Численный анализ в МАП.АВ До этой главы вычислительные возможности МАТЮКАВ были представлены лишь для задач линейной алгебры. Теперь рассмотрим команды для решения нелинейных задач, вычисления интегралов и интерполяции, интегрирования дифференциальных уравнений и т. и. Интересно отметить, что разработчиком первой версии системы МАТ|АВ был Клиффорд Моулер — известный специалист по численному анализу, ряд книг которого переведен на русский язык ~53, 71, 72].
Для успешного применения функций МАТЮКАВ к решению разнообразных задач можно рекомендовать знакомство с упомянутыми книгами, а также с книгами отечественных авторов по численному анализу, где приводятся теория и практические рекомендации по применению тех или иных вычислительных процедур ~44, 45, 49, 52, 68~. Алгоритмы численного решения постоянно совершенствуются, и функции МАТЮКАВ также модернизируются, чтобы лучше и эффективнее справляться с задачами повышающейся сложности. Следует помнить, что опасно доверять численному результату, полученному одним методом, и здоровый скептицизм дополнительных проверок всегда уместен в серьезных делах. Поэтому на ряде примеров мы постараемся показать, какие неожиданные решения могут получиться для вроде бы стандартных задач.
Функции для вычисления интегралов, решения задач минимизации, интегрирования дифференциальных уравнений находятся в каталоге 1оойох~шайаЬ~доп1цп, и их список можно получить по команде Ье1р Гоп1'оп. Команды работы с конечными разностями, функции для вычисления быстрого преобразования Фурье и фильтрации содержатся в директории 1оойох~юэбаЬ~йа1аГо и. Функции для работы с полиномами, интерполирования, геометрического анализа и т.д. находятся в каталоге 1оо!Ьох~еайаЬ~ро!уГо и. Работа с полиномами В МАТЮКАВ имеется мошный набор команд для работы с полиномами, обеспечиваюший их перемножение, дифференцирование, вычисление корней.и т. д.
Ряд 384 Глава 15. Численный анализ в МАТ(АВ функций позволяет работать также с дробно-рациональными выражениями, числители и знаменатели которых есть полиномы. Полипом в МАТЮКАВ задается вектором коэффициентов начиная с коэффициента при старшей степени. Например, кубическому полиному хз+12х-9 соответствует вектор » рп-(1 0 12 -93 рп = 1 0 12 -9 Команды работы с полиномами представлены в табл. 15.1, где использованы сле- дующие обозначения: а, Ь, 0, р, ц, — полиномы, г — вектор-столбец корней, 5 — мас- сив точек, и — квадратная матрица. Выходные параметры указаны только в том случае, если их несколько.
Таблица 19.1. Команды работы с полиномами Назначение Имя Задание полинома по его корням Вычисление значений полинома р в точках 5 Вычисление значений полинома р для матричного аргумента и Дифференцирование полннома р ро1у(г) ро)уча!(р,5) ро1уча1е(р,н) ро1уоег(р) Дифференцирование произведения полиномов а и Ь ро1уеег(а, Ы Дифференцирование дроби с числителем Ь и знаменателем а Умножение полиномов Деление полиномов (получение частного и остатка) Разложение дроби с числителем Ь и знаменателем а на простые дроби (0 — вычеты, р — полюс, ц — частное) Вычисление корней полинома Гп.р]-ро)упег(Ь.а) согт(а. Ы (ц.р3йдесогт(а.Ь) Ео.р.ц]=гезтоое(Ь.а) гоосз(р) Теперь вычислим полипом от матрицы: » ро1уна1м(р,н) апз- 2 0 1 3 Приведем примеры использования операций деления Гкоманда ((есопч) и вычис- ления производной Гро]уг)ег). Команда ро1 уча! вычисляет значения полююма для элементов массива 5, рассматривая их как точки, а команда ро1 ууа10) работает с матричным аргументом Н.
Поясним это следующим примером. Определим линейный полипом и матрицу второго порядка: »р=ПП;и(!О; 123 Обратимся к функции ро1ута1, рассматривая Н как массив точек: » ро)ута1(р.и) апз- 2 1 2 3 Работа с полииоиаии ЗВ5 Разделим полипом р-(х-1) г на хт+1; » [р1.Р2)-бесопч(ро1у(опез(7. 1)). П О 11) р1 " 1 -7 20 -28 15 7 р2 0 0 0 0 0 0 -8 -8 Размерность вектора, в котором даются коэффициенты остатка, совпадает с размерностью делимого, а степень полученного в остатке пол инома определяется первым ненулевым коэффициентом. Для приведенного примера остаток есть -8х-8.
Вычислим производную для полннома р2: » ро1убег(р2) ап5 -8 Если известны корни полинома, то его можно задать при помощи команды ро1у. Хотя нахождение корней полинома есть стандартная задача численного анализа и обычно не возникает проблем с вычислениями, существуют ситуации, когда полученные решения могут оказаться далеки от реальных значений корней. В 1721 анализируется пример Уилкинсона (1963), когда при нахождении корней полинома двадцатого порядка 20 п(- ) возникают комплексные решения, хотя все корни исходного полинома вещественные.
В современной реализации МАТ?АВ для этого теста получаются довольно хорошие результаты. Определим полипом двадцатого порядка и вычислим корни при помощи функции Г0015: » РО-ро1у(1:20)'; гоп!а(РО) Хотя полученные решения и отличаются от точных, все они вещественные. Наибольшая погрешность в полпроцента получается для четырнадцатого и пятнадцатого корня: 1.0000 2.0000 3,0000 4.0000 5.0000 6.0000 ?.0000 7.9999 9,0005 9.9972 11.0107 1!.9725 13.0565 13.9220 15.0842 15.9319 17.0360 17.9857 19.0032 19.9997 В данном случае получился неплохой результат, однако при некотором повышении степени полинома вновь могут появиться комплексные решения. Определим полипом двадцать четвертого порядка, вычислим его корни и покажем их распределение на рис. 15.1.
Видно, что первые девять корней воспроизводятся хорошо. При вычислении следующих корней погрешность увеличивается и вместо вещественных чисел получаются комплексные: » РР Ро1у(1:24) '; гоо тоета(рр): р1от(гоо. '+') Полипом может быть получен в результате перемножения двух полиномов. Далее дан пример получения полинома с кратным корнем: » р-[1): тог о-1:7, р-сопч(р,[1 -11); епб: 386 Глава 15.
Численный анализ в МАТОВ -2 0 $10 1520 25 Рис. 15Л. Коиплексные решения Лля полиноиа с вещественны ни корняии х10 1 х10 0.5 -100 009 0.95 1 1.0$1.1 0.99 0.995 1 1.005 1.01 Рис. 15.2. График полиноиа а окрестности кратного корня Чтобы нарисовать график полинома, нужно задать вектор значений независимой переменной, вычислить значения полинома в этих точках и обратиться к команде р) от. Построим график полинома, выбрав небольшой отрезок в окрестности корня (точка х-1). Команда определения масштаба ах1$ позволяет точно указать макси- мум и минимум, если использовать константу 1пй » х-0.9:.0002: 1.); у-ро!ута)(р,х); зиЬр)ом 121). р)от(х,у); ахтз((.9 1 Д -1пт 1пГ3) знЬр)от(122), р)ос(х,у); ахтз((.99 1,01 -)е-14 )е-)43) На рис.
15.2 график слева выглядит так, как предсказывает теория для гладкой функции с единственным корнем: полипом положителен при х 0, отрицателен при х<0 и равен нулю только при х-0. На правом рисунке из-за ошибок округления по- лучается график с большим числом нулей, которое увеличивается, если взять боль- шее число точек для построения графика. Найдем корни полинома и изобразим их на рис. 15.3. Вместо семи одинаковых корней МАТ1.АВ выводит набор комплексных чисел, сгруппированных около точ- ного значения, равного единице: Решение уравнений и минимизация 387 ъ хр гонга(р).