Введение
Среди бурно развивающихся систем компьютерной математики СКМ, в первую очередь ориентированных на численные расчеты, особо выделяется матричная математическая система MATLAB. Из-за большого числа поставляемых с системой пакетов расширения MATLAB (в новейшей реализации MATLAB R2009,b их уже 82) эта система является и самой большой из СКМ, ориентированных на персональные компьютеры. Объем ее файлов уже превышает 3 Гб. Система фактически стала мировым стандартом в области современного математического и научно-технического программного обеспечения.
Эффективность MATLAB обусловлена прежде всего ее ориентацией на матричные вычисления с программной эмуляцией параллельных вычислений и упрощенными средствами задания циклов. Последние версии системы поддерживают 64-разрядные микропроцессоры и многоядерные микропроцессоры, например Intel Core 2 Duo и Quad, что обеспечивает высочайшие показатели по скорости вычислений и скорости математического имитационного моделирования.
В MATLAB удачно реализованы средства работы с многомерными массивами, большими и разреженными матрицами и многими типами данных. Система прошла многолетний путь развития от узко специализированного матричного программного модуля, используемого только на больших ЭВМ, до универсальной интегрированной СКМ, ориентированной на массовые персональные компьютеры класса IBM PC, AT и Macintosh, рабочие станции UNIX и даже суперкомпьютеры. MATLAB имеет мощные средства диалога, графики и комплексной визуализации вычислений.
Система MATLAB предлагается разработчиками (корпорация The MathWorks Inc.) как лидирующий на рынке, в первую очередь на предприятиях военно-промышленного комплекса, в энергетике, в аэрокосмической отрасли и в автомобилестроении язык программирования высокого уровня для технических вычислений, расширяемый большим числом пакетов прикладных программ – расширений.
Самым известным из них стало расширение Simulink, обеспечивающее блочное имитационное моделирование различных систем и устройств. Но и без пакетов расширения MATLAB представляет собой мощную операционную среду для выполнения огромного числа математических и научно-технических расчетов и вычислений и создания пользователями своих пакетов расширения и библиотек процедур и функций. Новые версии системы имеют встроенный компилятор и позволяют создавать исполняемые файлы.
Типовой комплекс MATLAB + Simulink содержит инструментальные «ящики» Toolboxes с большим числом пакетов расширения MATLAB и Bloсksets для расширения возможностей системы визуально ориентированного блочного имитационного моделирования динамических систем Simulink. Они приобретаются избранно и отдельно от системы MATLAB + Simulink. В разработке пакетов расширения для MATLAB принимают участие многие научные школы мира и ведущие университеты. Многие пакеты охватывают крупные направления науки и техники, такие как оптимизация отклика нелинейных систем, моделирование устройств и систем механики и энергетики, обработка сигналов и изображений, вейвлеты, биоинформатика, генные алгоритмы, нечеткая логика, нейронные сети и т. д.
Назначение и особенности системы MATLAB
Начальные сведения о матрицах
Поскольку MATLAB – матричная система, разумно начать ее описание с начальных сведений о векторах и матрицах.
Двумерный массив чисел или математических выражений принято называть матрицей. А одномерный массив называют вектором. Векторы могут быть двух типов: вектор-строка и вектор-столбец.
Векторы и матрицы характеризуются размерностью и размером. Размерность определяет структурную организацию массивов в виде строки (размерность 1), страницы (размерность 2), куба (размерность 3) и т. д. Так что вектор является одномерным массивом, а матрица представляет собой двумерный массив с размерностью 2. MATLAB допускает задание и использование многомерных массивов, но здесь мы ограничимся пока только описанием одномерных и двумерных массивов – векторами и матрицами.
Размер вектора – это число его элементов, а размер матрицы определяется произведением числа ее строк m и столбцов n. Обычно размер матрицы указывают как m×n. Матрица называется квадратной, если m = n, то есть число строк матрицы равно числу ее столбцов.
Векторы и матрицы могут иметь имена, например V – вектор или M – матрица.
Элементы векторов и матриц рассматриваются как индексированные переменные, например:
• V2 – второй элемент вектора V;
• M2,3 – третий элемент второй строки матрицы M.
Индексы у векторов и матриц в MATLAB имеют целочисленные номера, которые начинаются с 1. Даже обычные числа рассматриваются в MATLAB как матрицы размера 1×1.
Назначение матричной системы MATLAB
MATLAB – одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических и научно-технических расчетов, построенная на расширенном представлении и применении матричных операций. Это нашло отражение в названии системы – MATrix LABoratory – матричная лаборатория. Применение матриц как основных объектов системы способствует резкому уменьшению числа циклов, которые очень распространены при выполнении матричных вычислений на обычных языках программирования высокого уровня, и облегчению реализации параллельных вычислений.
Одной из основных задач при создании системы MATLAB всегда было предоставление пользователям мощного языка программирования, ориентированного на технические и математические расчеты и способного превзойти возможности традиционных языков программирования, которые многие годы использовались для реализации численных методов. При этом особое внимание уделялось как повышению скорости вычислений, так и адаптации системы к решению самых разнообразных задач пользователей.
MATLAB реализует три важные концепции программирования:
• процедурное модульное программирование, основанное на создании модулей – процедур и функций;
• объектно-ориентированное программирование, особенно ценное в реализации графических средств системы;
• визуально-ориентированное программирование, направленное на создание средств графического интерфейса пользователя GUI (Graphics User Interface).
Язык программирования MATLAB относится к классу интерпретаторов. Это значит, что любая команда системы распознается (интерпретируется) по ее имени (идентификатору) и немедленно исполняется в командной строке, что обеспечивает легкую проверку по частям любого программного кода. Одновременно интерпретирующий характер языка программирования MATLAB означает, что с первых строк описания средств этой системы фактически описывается ее язык программирования.
Важными достоинствами системы являются ее открытость и расширяемость.
Большинство команд и функций системы реализованы в виде m файлов текстового формата (с расширением .m) и файлов на языке C/C++, причем все файлы доступны для модификации. Пользователю дана возможность создавать не только отдельные файлы, но и библиотеки файлов для реализации специфических задач. Любой набор команд в справке можно тут же исполнить с помощью команды Evaluate Selection контекстного меню правой клавиши мыши.
Системные требования к установке
Новые версии системы MATLAB – весьма громоздкий программный комплекс, который требует до 5000 Мб дисковой памяти (в зависимости от конкретной поставки, полноты справочной системы и числа устанавливаемых пакетов прикладных программ). Поэтому система на DVD. К сожалению, из поставки новых версий исключены PDF_файлы англоязычной документации, но доступ к ним открыт через Интернет. Однако получение их при низкой скорости доступа (до 56 Кбит/c) в наших условиях весьма проблематично. Это усиливает роль русскоязычной литературы по системе MATLAB.
Для успешной установки новых версий MATLAB необходимы следующие минимальные средства:
• компьютер с микропроцессором не ниже Pentium и математическим сопроцессором, рекомендуются процессоры Pentium III, Pentium IV, Pentium M или AMD Athlon, Athlon XP, Athlon MP (последние версии MATLAB поддерживают двухъядерные (например серий Intel Core 2 Duo) и четырехъядерные процессоры (Intel Core 2 Quad);
• устройство считывания компакт-дисков (привод DVD), мышь, 8-разрядный графический адаптер и монитор, поддерживающие не менее 256 цветов;
• операционная система Windows XP/2000/NT/Vista (допускается Windows NT4 с сервис-пакетами 5 или 6a);
• ОЗУ емкостью 256Мб для минимального варианта системы (рекомендуется иметь память 512 Мб и выше);
• до 5000 Мб дискового пространства при полной установке всех расширений и всех справочных систем (345 Мб при установке только MATLAB со справкой);
• свободный USB-порт для подключения ключа, открывающего доступ к системе.
Для использования расширенных возможностей системы нужны графический ускоритель, Windows-совместимые звуковая карта и принтер, текстовый процессор Microsoft Word 97/2000/XP для реализации Notebook, компиляторы языков Cи/Cи++ и/или ФОРТРАН для подготовки собственных файлов расширения и браузер Netscape Navigator 4.0 и выше или Microsoft Internet Explorer 5.0 и выше. Для просмотра файлов справочной системы в формате PDF нужна программа Adobe Reader или Adobe Acrobat 5.0 и выше.
Далее рассматриваются только реализации системы, работающие с операционными системами класса Windows. Все примеры даны для систем класса MATLAB, запущенных в среде Windows XP.
Инсталляция системы MATLAB + Simulink
Система MATLAB + Simulink поставляется на одном DVD. Для инсталляции ее с другими пакетами расширения достаточно установить DVD и дождаться его автоматического запуска (или запустить его, как обычно). После распаковки и установки файлов инсталлятора на короткое время появляется окно с эмблемой MATLAB, а затем первое окно инсталлятора.
В первом окне инсталлятора надо установить опцию Install для инсталляции или опцию обновления лицензии и получения кода PLP (Personal License Pasword). Этот код является группой из 20 цифр. Установим Install и нажмем мышью кнопку Next>. Появится окно для ввода данных пользователя (имени и названия организации) и, главное, кода PLP. Этот код записывается в виде длинного числа и указывается на диске при продаже MATLAB или запрашивается у MathWorks по Интернету. Каждый легальный пользователь MATLAB ныне имеет свои страницы на этом Интернет-сайте с данными о лицензии, ее сроках и комплекте поставки MATLAB. С этой страницы можно получить и коды PLP.