Продукты
MATLAB – математическая лаборатория на компьютере
Евгений Тимофеев
Пакет MATLAB предоставляет уникальную среду для выполнения матричных вычислений, математического моделирования динамических систем и графической визуализации математических абстракций.
Своими корнями MATLAB уходит в начало 80-х годов. Тогда он представлял собой одну из многих программных реализаций алгоритмов, применявшихся в математическом моделировании и инженерных расчетах. Как самостоятельный продукт пакет стал развиваться усилиями созданной в 1984 году фирмы The MathWorks Inc. Программа была расширена внушительным арсеналом средств математического моделирования, анализа и преобразования данных.
Сильнейшей стороной пакета был и остается матричный вычислитель. При создании продукта учитывалась необходимость быстрого и эффективного взаимодействия с матрично-ориентированным программным обеспечением. Собственно говоря, название MATLAB – это сокращение от matrix laboratory (матричная лаборатория).

MATLAB изначально был ориентирован на прикладные и инженерные применения и сегодня является мощнейшим вычислительным инструментом конструкторов и разработчиков благодаря своим совершенным алгоритмам, развитому внутреннему языку программирования и средствам визуализации результатов исследований.
Для повышения скорости вычислений наиболее важные внутренние циклы написаны на ассемблере – это позволяет пакету работать быстрее аналогичных программ, написанных на Фортране и Си.
Сейчас на рынке представлено несколько версий пакета MATLAB: для Windows, Macintosh, VMS и Unix-систем. Минимум аппаратных ресурсов, необходимых для работы программы, начинается с 486-го процессора и Windows 3.1 на PC (PowerPC 601 с системой 7.1.2 для работы на Power Macintosh), 4 Мбайт оперативной памяти только для численных расчетов (для эффективного использования графики потребуется в два раза больше) и 15 Мбайт дисковой памяти для установки пакета.
Пакет очень удобен по своей структуре: средства решения отдельных классов задач (статистика, символьные вычисления и т.д.) реализованы в специальных модулях-приложениях – toolboxes. Среди них наиболее известен уникальный модуль SIMULINK, предназначенный для моделирования динамических систем.
Матричные вычисления
Как уже отмечалось выше, MATLAB особенно эффективен в задачах тензорного исчисления. Матрицы могут быть как действительными, так и комплексными.
Пакет предоставляет возможность управления матрицами как объектами. Это распространяется и на дополнительные объекты, генерируемые на основе матричных данных: простые векторы, полиномы, временные диаграммы, статистические данные по нескольким переменным, системы линейных уравнений, а также графические изображения. Под управлением здесь понимаются инициализация, численные и функциональные преобразования, осуществляемые с использованием элементов традиционной математической символики в синтаксисе команд. Указывать размерность матриц при этом необязательно.
Пакет применим для широкого круга задач линейной алгебры: это всесторонний анализ данных, генерация объектов различными методами, транспонирование, вращения, локализация отдельных блоков и т.д. Особенно впечатляют возможности визуализации матричных форм: благодаря этому выполняемые над матрицами преобразования легко отслеживаются. Использование многоцветной палитры и других методов графического представления данных неоценимо при работе с большими матрицами: специалисту становится достаточно одного взгляда, чтобы оценить характеристики объекта.

Однако матричной алгеброй возможности MATLAB далеко не ограничиваются. Тригонометрия, полиномиальная арифметика, линейная алгебра, математическая статистика, интегральное исчисление, дифференциальные уравнения – вот лишь неполный перечень областей высшей математики, в которых может быть использован пакет.
Визуализация
Возможности пакета MATLAB ориентированы в первую очередь на решение задач прикладной математики: математическое моделирование, синтез и т.п. Поскольку в инженерной практике для наиболее полного описания тех или иных процессов сухого языка формул не всегда достаточно, разработчики постарались"вооружить" программу максимальным разнообразием графических возможностей.

Двумерная графика не ограничена декартовскими осями: могут быть использованы полярные координаты, логарифмические шкалы; доступны любые виды гистограмм (в том числе секторные и пр.). Кроме того, построение простейших графических зависимостей возможно и в текстовом режиме.
Вообще говоря, графический инструментарий MATLAB включает даже пятимерные средства визуализации. Однако и трехмерные возможности, которые представляются все же более актуальными, полностью удовлетворят даже самых взыскательных пользователей. Поверхностные, контурные, объемные, сеточные и другие графические реализации функциональных зависимостей могут быть выполнены с применением ряда цветовых палитр, псевдоцветного масштабирования осей, затенения поверхностей, зеркального и рассеянного отражения.
Особое место в системе занимает графический интерфейс Handle Graphics. Он позволяет выводить одновременно как несколько разных графиков, так и различные представления одного. При выводе изображения пользователь может управлять более чем сотней параметров.
Инженеру всегда интересна динамика процесса. Средствами MATLAB поддерживается анимация последовательностей слайдов и отдельных изменяющихся функций. Прилагающийся инструментарий предусматривает задание таких параметров, как время, периодичность и направление прокрутки графики.
Для визуализации доступен даже такой класс данных, как звуковая информация. Звук можно проиграть, осуществить его масштабирование, записать в SUN-аудиофайл. Графически могут быть отображены темпоральные зависимости показателя интенсивности звука, его спектральные характеристики и пр.
Хотя MATLAB и не рассчитан для публикации математических документов, в нем предусмотрена возможность вывода данных (в том числе и графики) на внешние устройства. Среди поддерживаемых форматов – GIF, Postscript, PICT (для Macintosh), Adobe Illustrator, BMP и Windows metafile. Из настольных издательских систем поддерживаются Frame, ТЕХ, PageMaker, PowerPoint и некоторые другие.
Инструментарий
Для решения узких задач существуют специализированные приложения – toolboxes. Тематика этих приложений весьма обширна – к настоящему моменту их выпущено уже около тридцати пяти: "Символьная математика", "Статистика", "Оптимизация", "Системы управления", "Financial", SIMULINK, модули моделирования нейронных сетей, элементов нечеткой логики и многое другое. Например, модуль "Financial" служит для выполнения финансовых расчетов и особенно эффективен при взаимодействии со "Статистикой" или "Оптимизацией". Предметом гордости фирмы MathWorks является приложение SIMULINK. По сути это самостоятельный модуль, который может работать не только в основной среде пакета MATLAB, но и в связке с некоторыми другими прикладными системами. Основное предназначение SIMULINK – графическое моделирование динамических систем при помощи функциональных блоков, зависимостей и операторов. Кроме того, с его помощью может проводиться кинематический анализ инженерных конструкций. Программа находит широкое применение в авиационно-космической промышленности, энергетике и других отраслях специального машиностроения.

MATLAB всегда славился своей открытостью, позволяющей опытному пользователю верифицировать рабочие алгоритмы, изменять стандартные и создавать собственные функции.
Встроенный язык системы предоставляет стандартный набор конструкций структурного программирования. Он включает все функции MATLAB, а также средства ввода-вывода, управления памятью, работы со строками и создания пользовательского интерфейса.
Сейчас на рынке представлена последняя версия пакета MATLAB – за номером 4.2, однако фирма MathWorks уже заявила о намерении выпустить к концу 1996 года версию 5.0. В России распространением системы MATLAB занимается официальный представитель компании MathWorks фирма "Тезис". В соответствии с International Price List цена продукта составляет 2120 долларов. Учебным заведениям (для использования в некоммерческих целях) пакет продается втрое дешевле.

Автор выражает благодарность фирме "Тезис" и корпорации "Софт-Лайн" за предоставленные материалы и консультации.
Фирма "Тезис": 214-68-16.
Корпорация "СофтЛайн":
232-00-23.