Владимир Дьяконов

В последние годы не только в университетах и вузах, но и в школах (особенно математического профиля) все более широкое применение находят компьютерные математические системы.



03_16.jpg ТЕЙЛОР (Taylor) Брук (1685-1731), английский математик. Нашел формулу для разложения функций в степенные ряды (формула Тейлора, ряд Тейлора).
ТЕЙЛОРА РЯД, степенной ряд вида

03_17.jpg

где f(а), f'(а), f''(а),... значения заданной функции f(х) и ее последовательных производных при х=а (если а=0, то ряд называют рядом Маклорена). Частные суммы ряда Тейлора – важный аппарат приближенного представления функции f(х). Ряд предложен Б. Тейлором (1715).

"Универсальная энциклопедия Кирилла и Мефодия"
(адрес сервера в сети Интернет www.km.ru).



Вопрос о целесообразности применения в наших школах математических систем символьной математики до сих пор носит дискуссионный характер. Многие преподаватели тайком используют такие системы для подготовки контрольных заданий, но считают невозможным их применение своими учениками. Дескать, так можно отучить учеников мыслить математическими категориями... Другие возражают против них просто потому, что сами не попробовали всерьез разобраться в их возможностях. Но в чем обычно все сходятся, так это в полезности применения компьютерной графики, реализованной в математических системах. Цепочка графических образов порой за несколько секунд делает понятным то, что потребовало бы многих часов бестолковой работы. Давайте разберемся в том, какими графическими возможностями располагают современные математические системы.

Миры Derive

Во многих школах Запада используется неприхотливая, но достаточно мощная система Derive, обеспечивающая возможность выполнения не только численных, но и аналитических (символьных) расчетов.. Так начнем же с "малютки" Derive. Эта система ориентирована на простейшую математическую графику. Достаточно задать и выделить мышкой математическое выражение, как тут же (исполнив команду построения графики) можно получить график функции, которую представляет данное выражение.

03_01.jpg 03_02.jpg
Рис. 1. График функции в декартовой системе координат Derive строит в два счета
Рис. 2. Графическая иллюстрация разложения в ряд синусоидальной функции с разным числом членов ряда

На рис. 1 показано построение с помощью Derive графика функции sin(x)/x в декартовой системе координат. Оно сводится к заданию ряда значений абсциссы x, построению соответствующего значения функции y(x) и переносу их на график. Полученные узловые точки (иногда их можно разглядеть в процессе создания графика) затем соединяются отрезками прямых. Математики называют такой процесс линейной интерполяцией. График этой функции взят для примера не случайно. Дело в том, что функция имеет особенность в точке x=0 вида 0/0->1. Такая особенность называется устранимой. Тем не менее большинство программ построения графиков спотыкается при создании графика данной функции, давая явный провал до нуля в точке x=0. Это связано с тем, что если числитель дроби равен нулю, то подавляющее большинство программ построения графика полагают выражение вида sin(x)/x равным нулю, не обременяя себя вычислением знаменателя и оценкой особенности 0/0. Derive, будучи довольно "умной" системой, этим недостатком не страдает. А теперь зададимся созданием графической иллюстрации для куда более сложной задачи – иллюстрации разложения функции в ряд Тейлора (или Маклорена, если ряд вычисляется в окрестности x=0). Начнем с того, что это не очень простое действие Derive также выполняет в два счета. Достаточно выделить разлагаемое выражение и исполнить команду TAYLOR, что показано на рис. 2 для числа членов ряда 3, 5 и 7. Для разложения функции sin(x) такой ряд имеет только члены разложения с нечетными степенями (но отсутствующие члены учитываются при подсчете общего числа членов разложения). Теперь достаточно выделить исходную функцию и три ее разложения, а затем последовательно построить их графики, что и показано на рис. 2. Рис. 2 позволяет судить о том, насколько точно разложение функции в ряд Тейлора. В ближней окрестности узловой точки оно получается и впрямь неплохим. С ростом числа членов ряда погрешность разложения в ближней окрестности уменьшается. Но вдали от узловой точки погрешность резко возрастает, и поведение ряда (он представляет собой степенной многочлен) становится малопредсказуемым. Derive прекрасно разбирается в том, как вы задаете функцию. Например, если задано два параметрических выражения в виде функций одной переменной (например, t), то для Derive это служит сигналом к построению графика функции в полярной системе координат.

03_03.jpg 03_04.jpg
Рис. 3. Примеры построения графиков параметрически
заданных функций в полярной системе координат

Рис. 4. Derive строит график трехмерной поверхности

Это и показано на рис. 3, из которого, кстати, видно, что Derive – многооконная система. А что если задать функцию двух переменных, типа z(x,y)? Нетрудно догадаться, что Derive поймет и такую постановку задачи. Рис. 4 показывает, как лихо Derive расправляется с построением графика трехмерной поверхности, представляемой функциями двух переменных. Он строит такие поверхности в виде проволочного каркаса, используя при необходимости алгоритм удаления невидимых линий каркаса. Это придает поверхностям (или фигурам) более эстетичный вид, чем при построении всех линий. С помощью панели инструментов графического окна можно изменять масштабы графиков, положение центра координатной системы, цвет линий, угол обзора фигуры и т. д. Более подробно о возможностях Derive можно прочесть в книге автора этой статьи "Справочник по системе символьной математики DERIVE" (М.: СК-ПРЕСС, 1998). Возможности графики Derive примерно соответствуют возможностям учителя, демонстрирующего графики функций на меловой доске. Конечно, Derive делает это аккуратнее и быстрее. Но изысканной графику Derive не назовешь. Для получения такой графики нужны более мощные математические системы. Наиболее популярной среди них можно считать Mathcad. Миры Mathcad Недавно вышла новейшая версия Mathcad 8.0, которая была любезно предоставлена автору разработчиком, фирмой MathSoft Inc. (США), и которую автору посчастливилось тщательно изучить в ходе бета-тестирования.

03_05.jpg 03_06.jpg
Рис. 5. Mathcad строит график функции и позволяет "прощупать" его с помощью перемещаемого мышью маркера – пунктирного креста
Рис. 6. Контурный график трехмерной поверхности с функциональной окраской

Даже при построении простых графиков (рис. 5) Mathcad представляет множество удобств. Это легкость форматирования графиков, применение маркера для снятия координат выбранной точки, просмотр под увеличением выделенной части сложных графиков, простота построения многих графиков на одном рисунке и многое другое. Mathcad замечателен полной визуализацией не только результатов вычислений, но и входных данных. Его документы строятся в форме блокнотов – notebooks, в которых объединяются текстовые описания, математические формулы в их естественном виде, таблицы, векторы и матрицы, графики и т. д. Почитайте про Mathcad в книге "Mathcad 7.0 в математике, в физике и в Internet" (М.: Нолидж, 1998), написанной мной в соавторстве с И. В. Абраменковой. Но особенно впечатляет возможность построения сложных (например, трехмерных) графиков с функциональной цветовой окраской. При этом цвет является функцией одной из координат. Из множества таких графиков приведем пример построения так называемых контурных графиков. Они представляют собой совокупность линий равного уровня, получаемых пересечением трехмерной поверхности рядом параллельных плоскостей. Наглядность графика намного возрастает благодаря применению функциональной окраски (яркость цветов пропорциональна высоте точек графика) и нанесения значений высот каждой линии (рис. 6). Графики такого типа широко используются в картографии – обычные физические карты тому наглядный пример. Новая версия Mathcad 8.0 имеет ряд поистине фантастических возможностей. Во-первых, это возможности Мастера построения трехмерных графиков, с помощью которого можно за несколько шагов получить заданный вид графика из многих десятков возможных видов. Во-вторых, это принципиально новая функция построения нескольких фигур в пространстве с довольно точным учетом линий их взаимного пересечения (рис. 7).

03_07.jpg 03_08.jpg
Рис. 7. Mathcad 8.0 строит в пространстве графики разных поверхностей, причем разного типа
Рис. 8. Mathcad может сопровождать "скучную математику" просмотром видеофильмов

А в-третьих, это возможность мышкой вращать график в пространстве, добиваясь его наибольшей выразительности. Четвертая интересная возможность – это создание анимационных графиков. Для этого Mathcad имеет переменную FRAME, принимающую ряд значений и позволяющую записать ряд кадров анимационного графика. Эти кадры образуют обычный анимационный AVI-файл. А имеющаяся в составе Mathcad программа-"проигрыватель" позволяет одновременно наблюдать на экране документ Mathcad и тут же просматривать в отдельном окне обычный видеофильм со стереофоническим звуковым сопровождением (рис. 8). Новый лидер в мире визуальных образов Долгое время среди больших математических систем лидерство по графике удерживали системы Mathematica 2 и 3. О них можно узнать из книги автора "Системы символьной математики Mathematica 2 и Mathematica 3" (М.: СК-ПРЕСС, 1998). Однако, похоже, сегодня их обгоняет мощнейшая матричная лаборатория MATLAB 5.2.1 (известная как десятая юбилейная реализация) фирмы MathWare Inc. Конечно, этого "монстра" (почти 900 Мбайт кодов при полной установке) уже не поставишь на скромный школьный 486 или даже Pentium. Но возможности так называемой дескрипторной графики этой системы настолько впечатляют, что с ними полезно и интересно познакомиться как учителям школ и колледжей, так и учащимся.

03_10.jpg 03_11.jpg
Рис. 10. Математическая система MATLAB строит сразу шесть фигур (применение функциональной окраски)
Рис. 11. График объемной поверхности с учетом эффектов, возникающих при ее освещении от точечного источника света

На рис. 10 показано, как MATLAB строит сразу несколько фигур в пространстве с цветной функциональной окраской. Здесь на одном рисунке представлено шесть пространственных фигур. MATLAB позволяет строить трехмерные поверхности с учетом их освещенности точечным или иным источником света при любом его расположении. Моделируются эффекты возникновения теней и отражений, причем с учетом еще и оптических свойств материала поверхности или фигуры. Даже при использовании только серых цветов окраски (тип окраски grayscale) получаются очень наглядные рисунки трехмерных поверхностей – как, например, на рис. 11.

03_12.jpg 03_13.jpg
Рис. 12. Векторный график объемного поля с использованием цветовой функциональной окраски пространства
Рис. 13. Пример обработки изображения с помощью пакета Imaging системы MATLAB

А на рис. 12 показан еще один необычный график – он представляет векторное поле сложной трехмерной субстанции. Помимо векторов (стрелок) в пространстве используется и функциональная окраска пространства с плавными переходами цветов (интерполяция по цвету). Благодаря этому можно получить очень наглядное представление о таких физических понятиях, как поля в объеме, распределение плотности вещества и т. д. Большую часть системы MATLAB занимают многочисленные пакеты применения системы, которые рассматриваются как средства ее расширения. Чего только тут нет! Это и пакет для работы с образами Imaging, и пакет обработки сигналов Signal, и средства для выполнения символьных (аналитических) расчетов Symbol, и средства моделирования блочно заданных систем Simulink… На рис. 13 показана панель одной из демонстрационных программ, иллюстрирующих применение пакета Imaging, который позволяет строить серьезнейшие программы для обработки изображений. Не менее впечатляющими возможностями обладает пакет моделирования систем и устройств, заданных блоками, –Simulink.

03_14.jpg 03_15.jpg
Рис. 14. Простой пример применения пакета Simulink
Рис. 15. Модель трехфазного выпрямителя и результаты его моделирования

На рис. 14 показан простой пример применения этого пакета. Здесь представлен блок задания синусоидального сигнала, который затем подается на ряд преобразующих блоков – ограничитель по амплитуде, нелинейный блок типа "диод Зенера" и устройство, квантующее сигнал по амплитуде, т. е. превращающее его в ступенчатый сигнал. К выходам этих блоков подключены три виртуальных осциллографа, что позволяет наблюдать результаты работы нелинейных блоков. Возможности Simulink далеко не исчерпываются столь простыми примерами. Пакет позволяет моделировать устройства, содержащие сотни блоков и субблоков (блоков в блоках). На рис. 15 показан пример моделирования трехфазного выпрямителя. Такие выпрямители часто встречаются в промышленности, где используется трехфазная сеть переменного тока. Среди демонстрационных примеров применения графики MATLAB вы найдете модели автопилотов для летательных аппаратов, модели управления производственными объектами и многие другие, вполне серьезные образцы моделирования сложных технических устройств и объектов. MATLAB с помощью пакета Simulink позволяет создавать виртуальные физические лаборатории, предназначенные для проведения анализа различных физических явлений и поведения многих физических приборов. Скажем, здесь можно найти такой забавный пример, как моделирование работы сливного бачка в туалете, сопровождаемое должным звуковым оформлением. Мы рассмотрели только небольшую часть возможностей образного представления информации в математических компьютерных системах. Но даже из краткого обзора становится ясно, что возможности эти выходят далеко за пределы построения графиков простых функций. Они отражают новейшие достижения в визуализации результатов вычислений, помогают понять сложные процессы и получить наглядные результаты моделирования различных объектов и систем.

КОРОТКО ОБ АВТОРЕ:
Дьяконов Владимир Павлович – д. т. н., профессор, академик Международной академии наук педагогического образования, зав. кафедрой Смоленского государственного педагогического университета, автор около тридцати книг по информатике и информационным технологиям, научный руководитель центра информационных технологий "Телепорт" (Смоленск), член редколлегии журналов "Домашний компьютер" и "Ремонт&Сервис".
Имеет свою домашнюю страницу в Интернет: http://www.keytown.com/users/dyak/.
Email:dyak@keytown.com.