Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов
Шрифт:
Интервал:
Закладка:
7.12. Новые возможности Maple 10 в решении дифференциальных уравнений
7.12.1. Средства Maple 10 для аналитического решения дифференциальных уравнений
Возможности Maple 10 в решении дифференциальных уравнений существенно расширены. Это прежде всего касается решения ряда таких уравнений в аналитическом виде. В частности введен ряд новых опций для функции dsolve, представляющих решения дифференциальных уравнений, например Абеля, Риккати и др. На рис. 7.38 представлен пример решения линейного дифференциального уравнения, представленного через новую специальную функцию Хеуна (Heun). Этот пример описан в самоучителе Maple 10.
Рис. 7.38. Пример решения линейного дифференциального уравнения
Решатель дифференциальных уравнений Maple 10 способен находить аналитические решения и для большого числа дифференциальных уравнений в частных производных. Пример такого решения из самоучителя Maple 10 представлен на рис. 7.39.
Рис. 7.39. Пример решения дифференциального уравнения в частных производных
Поскольку большая часть новых возможностей Maple 10 в решении дифференциальных уравнений представляет ограниченный интерес для большинства пользователей системой Maple 10 подробное их описание едва ли целесообразно Обзор таких функций и решаемых дифференциальных уравнений можно найти в подразделе Differential Equations раздела What's New справки.
7.12.2. Средства Maple 10 численного решения дифференциальных уравнений
В части средств численного решения дифференциальных уравнении повышена надежность решения жестких систем дифференциальных уравнении и дифференциальных уравнений в частных производных. На рис. 7.40 показан пример решения такого уравнения с выводом результатов в виде анимационного двумерного графика и трехмерного графика, представляющего множество решений в разные моменты времени.
Рис. 7.40. Пример численного решения дифференциального уравнения в частных производных
Глава 8
Визуализация вычислений
Эта глава книги посвящена уникальным возможностям системы Maple 9.5/10 в визуализации самых разнообразных вычислений. Рассмотрены возможности и опции двумерной и трехмерной графики, в том числе использующей функциональную окраску. Особое внимание уделено визуализации математических и физических понятий и реализации различных возможностей машинной графики.
8.1. Двумерная графика
8.1.1. Введение в двумерную графику
Средства для построения графиков в большинстве языков программирования принято считать графическими процедурами или операторами. Однако в СКМ Maple 9.5/10 мы сохраним за ними наименование функций, в силу двух принципиально важных свойств:
• графические средства Maple возвращают некоторые графические объекты, которые размешаются в окне документа — в строке вывода или в отдельном графическом объекте;
• эти объекты можно использовать в качестве значений переменных, то есть переменным можно присваивать значения графических объектов и выполнять над ними соответствующие операции (например, с помощью функции snow выводить на экран несколько графиков).
Графические функции заданы таким образом, что обеспечивают построение типовых графиков без какой-либо особой подготовки. Для этого нужно лишь указать функцию, график которой строится, и пределы изменения независимых переменных. Однако с помощью дополнительных необязательных параметров (опций) можно существенно изменить вид графиков — например, настроить стиль и цвет линий, вывести титульную надпись, изменить вид координатных осей и т.д.
В Maple введены функции быстрого построения графиков. Так, функция smartplot(f) предназначена для создания двумерных графиков. Параметр f может задаваться в виде одиночного выражения или набора выражений, разделяемых запятыми. Задание управляющих параметров в этих графических функциях не предусмотрено; таким образом, их можно считать первичными или черновыми. Для функции построения двумерного графика по умолчанию задан диапазон изменения аргумента -8..8.
8.1.2. Функция plot для построения двумерных графиков
Для построения двумерных графиков служит функция plot. Она задается в виде
plot(f, h, v)
plot(f, h, v, o)
где f — визуализируемая функция (или функции), h — переменная с указанием области ее изменения, v — необязательная переменная с указанием области изменения, о — параметр или набор параметров, задающих стиль построения графика (толщину и цвет кривых, тип кривых, метки на них и т.д.).
Самыми простыми формами задания этой функции являются следующие:
• plot(f,xmin..xmax) — построение графика функции f, заданной только своим именем в интервале изменения х от xmin до xmax;
• plot(f(x),x=xmin..xmax) — построение графика функции f(x) в интервале изменения х от xmin до xmax.
Выше приводилось множество примеров применения этой функции. Для нее возможны следующие дополнительные параметры:
• adaptive — включение адаптивного алгоритма построения графиков (детали см. ниже);
• axes — вывод различных типов координат (axes=NORMAL — обычные оси, выводятся по умолчанию, axes=BOXES — график заключается в рамку с осями-шкалами, axes=FRAME — оси в виде перекрещенных линий, axes=NONE — оси не выводятся);
• axesfont — задание шрифтов для подписи делений на координатных осях (см. также параметр font);
• color — задает цвет кривых (см. далее);
• coords — задание типа координатной системы (см. далее);
• discont — задает построение непрерывного графика (значения true или false);
• filled — при filled=true задает окраску цветом, заданным параметром color, для области, ограниченной построенной линией и горизонтальной координатной осью х;
• font — задание шрифта в виде [семейство, стиль, размер];
• labels — задание надписей по координатным осям в виде [X,Y], где Х и Y -надписи по осям х и у графика;
• labeldirections — задает направление надписей по осям [X,Y], где X и Y может иметь строковые значения HORISONTAL (горизонтально) и VERTICAL (вертикально);
• labelfont — задает тип шрифта метод (см. font);
• legend — задает вывод легенды (обозначения кривых);
• linestyle — задание стиля линий (1 — сплошная, 2 — точками, 3 — пунктиром и 4 — штрих-пунктиром);
• numpoints — задает минимальное количество точек на графике (по умолчанию numpoints=49);
• resolutions — задает горизонтальное разрешение устройства вывода (по умолчанию resolutions=200, параметр используется при отключенном адаптивном методе построения графиков);
• sample — задает список параметров для предварительного представления кривых;
• scaling — задает масштаб графика: CONSTRAINED (сжатый) или UNCONSTRAINED (несжатый — по умолчанию);
• size — задает размер шрифта в пунктах;
• style — задает стиль построения графика (POINT — точечный, LINE — линиями);
• symbol — задает вид символа для точек графика (возможны значения BOX — прямоугольник, CROSS — крест, CIRCLE -- окружность, POINT — точка, DIAMOND — ромб);
• symbolsize — установка размеров символов для точек графика (в пунктах, по умолчанию 10);
• title — задает построение заголовка графика (title="string", где string — строка),
• titlefont — определяет шрифт для заголовка (см. font);
• thickness — определяет толщину линий графиков (0, 1, 2, 3, значение по умолчанию — 0);
• view=[A, В] — определяет максимальные и минимальные координаты, в пределах которых график будет отображаться на экране, А=[xmin..xmax], B=[ymin..ymax] (по умолчанию отображается вся кривая);
• xtickmarks — задает минимальное число отметок по оси х;
• ytickmarks — задает минимальное число отметок по оси у.
Параметр adaptive задает работу специального адаптивного алгоритма для построения графиков наилучшего вида. При этом Maple автоматически учитывает кривизну изменения графика и увеличивает число отрезков прямых в тех частях графиков, где их ход заметно отличается от интерполирующей прямой. При задании adaptive=false адаптивный алгоритм построения графиков отключается, а при adaptive=true включается (значение по умолчанию).
С помощью параметра у = ymin..ymax можно задать масштаб графика по вертикали.
Это иллюстрирует рис. 8.1, который заодно показывает применение дополнительных параметров функции plot при построении двумерных графиков.
Рис. 8.1. Построение графиков функции с явным указанием масштаба
Изредка встречаются графики функций f(x), которые надо построить при изменении значения x от нуля до бесконечности или даже от минус бесконечности до плюс бесконечности. Бесконечность в таких случаях задается как особая константа infinity. В этом случае переменной x, устремляющейся в бесконечность, откладывается значение arctan(x). Рисунок 8.1 (второй пример) иллюстрирует сказанное.