Дьяконов Владимир Павлович
Шрифт:
При построении этого рисунка также используются функциональная окраска и построение контурных линий.
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, которая строит все граничные линии неравенств и позволяет раскрасить разделенные ими области различными цветами:
Параметры этой функции следующие: 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. Приведем пример такого решения:
Нетрудно заметить, что значения х_k в ходе итераций явно сходятся к некоторому значению. Проведем проверку решения, используя встроенную функцию solve:
Результат выглядит необычно — помимо довольно очевидного корня х=0 значение другого корня получено в виде специальной функции Ламберта. Впрочем, нетрудно найти и его численное значение:
К нему и стремятся промежуточные результаты решения. Однако как сделать процесс решения достаточно наглядным? Обычно для этого строят графики двух зависимостей — прямой х и кривой f(x) — и наносят на них ступенчатую линии перемещения точки х_k. Специальной функции для графиков подобного рода Maple не имеет. Однако можно составить специальную процедуру для их построения. Ее листинг, взятый из примера, описанного в пакете обучения системе Maple — PowerTools —представлен на рис. 8.60.