Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов
Шрифт:
Интервал:
Закладка:
Рис. 8.51. Имитация отстрела шара сжатой упругой системой
Управление анимацией, реализованной средствами пакета plottools, подобно уже описанному ранее. Последний пример также прекрасно иллюстрирует возможности применения Maple 9.5 при математическом моделировании различных явлений, устройств и систем.
8.8. Расширенные средства графической визуализации
8.8.1. Построение ряда графиков, расположенных по горизонтали
Обычно если в строке ввода задается построение нескольких графиков, то в строке вывода все они располагаются по вертикали. Это не всегда удобно, например, при снятии копий экрана с рядом графиков, поскольку экран монитора вытянут по горизонтали, а не по вертикали. Однако при применении функций plots и display можно разместить ряд двумерных графиков в строке вывода по горизонтали. Это демонстрирует пример, показанный на рис. 8.52.
Рис. 8.52. Пример расположения трех графиков в строке вывода по горизонтали
Пример достаточно прост и нагляден, так что читатель может пользоваться данной возможностью всегда, когда ему это нужно.
8.8.2. Конформные отображения на комплексной плоскости
В пакете plots имеется функция для конформные отображений:
conformal(F, r1, r2, о)
где F — комплексная процедура или выражение; r1, r2 — области, задаваемые в виде а..b или name=a..b; о — управляющие параметры. Таким образом, для построения нужного графика достаточно задать нужное выражение и области изменения r1 и r2. Пример построения конформных изображений для трех выражений дан на рис. 8.53.
Рис. 8.53. Конформное отображение на комплексной плоскости графиков трех зависимостей
Средства конформного отображения в Maple 9.5/10, к сожалению, остаются рудиментарными и вряд ли достаточными для специалистов в этой области математики.
8.8.3. Построение сложных фигур в полярной системе координат
Некоторые виды математической графики имеют определенную художественную ценность и фигурируют в символике различных стран и общественных организаций. Остановимся на нескольких таких примерах применительно к графике в полярной системе координат. Представим фигуры, образованные множеством линий на плоскости.
Рис. 8.54 демонстрирует две из таких фигур. Первая это семейство из 10 кардиоид разного размера, построенных функцией polarplot. Параметр scalling=constrained обеспечивает правильное отображение фигур — каждая кардиоида вписывается в огибающую ее невидимую окружность. Размер кардиоид задается значением параметра а.
Рис. 8.54. Семейство кардиоид на одном графике и крест из пяти фигур на комплексной плоскости
Вторая фигура представляет собой пять фигур, построенных функций complexplot, дающей построение графиков функций комплексной переменной на комплексной плоскости. В данном случае фигуры образуют крест.
По образу и подобию приведенных фигур читатель может опробовать свои силы в создании новых красочных фигур в полярной системе координат. Некоторые из них поразительно напоминают снежинки, картинки в калейдоскопе и изображения морских звезд. Если убрать параметр color=black, введенный ради черно-белой печати картинок в книге, то можно усилить красочность фигур за счет их разноцветной окраски.
8.8.4. Построение сложных фигур импликативной графики
Импликативные функции нередко имеют графики весьма любопытного вида. Ограничимся парой примеров построения таких графиков, представленных на рис. 8.55. Эти фигуры напоминают контурные графики функции двух переменных.
Рис. 8.55. Построение сложных фигур, изданных импликативными функциями
Приведенные примеры дают весьма наглядное представление о больших возможностях визуализации решений самых различных задач в системе Maple Можно значительно расширить их, эффектно используя описанные ранее приемы анимации изображений. В целом надо отметить, что графические возможности Maple дают новый уровень качества графики современных математических систем, о котором с десяток лет тому назад можно было только мечтать.
8.8.5. Визуализация поверхностей со многими экстремумами
Maple дает прекрасные возможности для визуализации поверхностей, имеющих множество пиков и впадин, другими словами, экстремумов. Рисунок 8.56 показывает задание «вулканической» поверхности с глубокой впадиной, окруженной пятью пиками. Здесь полезно обратить внимание на способ задания такой поверхности f(a, b, с) как функции трех переменных a, b и с. Он обеспечивает индивидуальное задание координат каждого экстремума и его высоты (отрицательной для впадины).
Рис. 8.56. Построение графика поверхности с множеством экстремумов
Наглядность этого графика усилена за счет применения функциональной окраски и контурных линий, нанесенных на саму поверхность. Все эти возможности обеспечивают параметры основной функции plot3d.
А на рис. 8.57 представлен еще один способ задания поверхности — с помощью функции двух угловых переменных f(θ, φ).
Рис. 8.57. Построение графика поверхности, заданной функцией двух угловых переменных
При построении этого рисунка также используются функциональная окраска и построение контурных линий.
8.9. Визуализация решений уравнений и неравенств
8.9.1. Визуализация решения систем линейных уравнений
Системы линейных уравнений могут решаться как с помощью функции solve, так и с помощью матричных методов. Замечательной возможностью функции solve является возможность решения относительно ограниченного числа переменных. Например, систему линейных уравнений с переменными х, у, z, t и v можно решить относительно только первых трех переменных х, у и z. При этом решения будут функциями относительно переменных t и v и можно будет построить наглядный график решения (рис. 8.58).
Рис. 8.58. График, представляющий решения системы линейных уравнений
На рис. 8.58 система задана пятью равенствами: e1, e2, e3, е4 и е5. Затем функцией solve получено вначале решение для всех переменных (для иллюстрации), а затем для трёх переменных х, у и z. Для получения решения в виде списка, а не множества, как в первом случае для всех переменных, использована функция подстановки subs. После этого функция plot3d строит плоскость решения в пространстве.
8.9.2. Визуализация решения систем неравенств
Пожалуй, еще более полезным и наглядным средством является визуализация решения системы уравнений в виде неравенств. В пакете plots имеется специальная графическая функция inequal, которая строит все граничные линии неравенств и позволяет раскрасить разделенные ими области различными цветами:
inequal(ineqs, xspec, yspec, options)
Параметры этой функции следующие: ineqs — одно или несколько неравенств или равенств или список неравенств или равенств; xspec — xvar=min_x..max_x; yspec — yvar=min_y..max_y; о — необязательные параметры, например, указывающие цвета линий, представляющих неравенства или равенства, и областей, образованных этими линиями и границами графика. Пример применения этой функции представлен на рис. 8.59.
Рис. 8.59. Пример графической интерпретации решения системы неравенств
Обратите внимание на задание цветов: optionsfeasible задает цвет внутренней области, для которой удовлетворяются все неравенства (равенства), optionsopen и optionsclosed задают цвета открытых и закрытых границ областей графика, optionsexcluded используется для цвета внешних областей. График дает весьма наглядную интерпретацию действия ряда неравенств (или равенств).
8.9.3. Иллюстрация итерационного решения уравнения f(x)=х
Классическим методом решения нелинейных уравнений является сведение их к виду х = f(x) и применение метода простых итераций хk = s(хk-1) при заданном значении x0. Приведем пример такого решения:
> f := х ->3*ln(x+1);
f := х→3ln(x + 1)> x||0 := 0.5;
x0 :=.5> x0 := .5;
x0 :=.5> for k from 1 to 16 do x||k := evalf(f(x||(k-1))); od;
x1 := 1.216395324 x2 := 2.387646445 x3 : = 3.660406248 x4 : = 4.617307866 x5 := 5.177557566 x6 : = 5.462768931 x7 := 5.598173559 x8 := 5.660378631 x9 := 5.688529002 x10 := 5.701181910 x11 := 5.706851745 x12 := 5.709388956 x13 := 5.710523646 x14 := 5.711030964 x15 := 5.711257755 x16 := 5.711359134Нетрудно заметить, что значения х_k в ходе итераций явно сходятся к некоторому значению. Проведем проверку решения, используя встроенную функцию solve: