
- •Математические пакеты. Курс лекций Введение
- •1 Анализ состояния рынка математических пакетов
- •1.1 Цели и задачи математического моделирования
- •1.2 Принципы построения математических моделей
- •1.2.1 Основные этапы моделирования
- •1.2.2 Постановка задачи моделирования
- •1.2.3 Построение схемы модели, выделение основных частей и процессов
- •1.2.4 Математическое описание основных частей и процессов
- •1.2.5 Построение решения, связывающего изменяемые параметры и критерий оптимизации
- •1.2.6 Исследование решения на экстремум
- •1.3 Обзор прикладных пакетов математического моделирования
- •1.3.1 Пакеты общего назначения
- •1.3.2 Альтернативные пакеты
- •1.3.3 Специализированные пакеты
- •1.3.4 Узкоспециализированные пакеты
- •1.3.5 Пакеты статистического анализа данных
- •1.4 Применение математических пакетов в интернет технологиях
- •1.4.1 Проприетарные математические программы и пакеты в Интернете
- •1.4.2 Свободные кроссплатформенные математические программы и пакеты в Интернете
- •1.4.3 Математические программы и пакеты реализованные на языках программирования
- •1.4.4 Библиотеки алгоритмов
- •1.4.5 Математические порталы, универсальные библиотеки текстов программ и статей по математической тематике
- •1.4.6 Специализированные библиотеки текстов программ и статей по математической тематике
- •1.4.7 Обзор информационных ресурсов Интернета по математике
- •1.4.8 Поиск и просмотр математической литературы
- •1. Поиск и просмотр математической литературы.
- •1.4.9 Математические документы в Интернете
- •1.4.10 Языки разметки для создания электронных публикаций
- •1.Языки разметки для создания электронных публикаций.
- •1.4.11 Математические конференции в Интернете
- •2 Математические пакеты
- •2.1 Математический пакет MathCad
- •2.1.1 Основные возможности MathCad
- •2.1.2 Особенности интерфейса
- •2.1.3 Особенности при работе с графикой
- •2.1.4 Расширение функциональности Mathcad
- •2.1.5 Взаимодействие с другими программами
- •2.1.6 Использование компонентов
- •2.1.7 Комплектации
- •2.2 Математический пакет Mupad
- •2.3 Математический пакет MatLab
- •2.3.1 Язык MatLab
- •2.3.2 Ключевые возможности Matlab
- •2.3.3 Расширение функциональности Matlab. Библиотеки
- •2.3.4 Возможности использования некоторых библиотек Matlab
- •2.3.5 Математика и вычисления Matlab
- •2.3.6 Альтернативные пакеты. SciLab
- •2.3.7Альтернативные пакеты. Oktave
- •2.4 Математический пакет Maple
- •2.4.1 Интерфейс Maple
- •2.4.2 Вычисления в Maple
- •2.4.3 Графика в Maple
- •2.4.4 Специализированные приложения Maple
- •2.4.5 Программирование Maple
- •2.4.6 Интернет-совместимость Maple
- •2.4.7. Перспективы развития Maple
- •2.4.8 Альтернативные пакеты Maple
- •2.5 Пакет Mathematica
- •2.5.1 Альтернативные пакеты
- •2.6 Пакет для построения графиков и функций FlatGraph
- •3 Среда Scilab
- •3.1 Введение в среду Scilab
- •3.3 Основы работы в Scilab
- •3.3.1 Текстовые комментарии
- •3.3.2 Элементарные математические выражения
- •3.3.3 Переменные в Scilab
- •3.3.4 Системные переменные Scilab
- •3.4 Функции в Scilab
- •3.4.1 Элементарные математические функции
- •3.5 Контрольные вопросы
2.3 Математический пакет MatLab
MatLab (http://www.mathworks.com/)
Минимальные требования к системе:
процессор Pentium III, 4, Xeon, Pentium M; AMD Athlon, Athlon XP, Athlon MP;
256 Мбайт оперативной памяти (рекомендуется 512 Мбайт);
400 Мбайт дискового пространства (только для самой системы MatLab и ее Help);
операционная система Microsoft Windows 2000 (SP3)/XP.
На рисунке 2.7 представлен пример интерфейса пакета MatLab.
Рисунок 2.7 – Интерфейс пакета MatLab
В основу создания системы MatLab (Matrix Laboratory — матричная лаборатория) положен принцип расширяемости, позволяющий адаптировать систему под задачи пользователя.
Сущность этого принципа заключается в том, что пользователь, используя широкие возможности для программирования, может создавать практически неограниченное число собственных функций, которые хранятся на жестком диске компьютера.
MATLAB – это высокоуровневый язык технических расчетов, интерактивная среда разработки алгоритмов и современный инструмент анализа данных.
MATLAB по сравнению с традиционными языками программирования (C/C++, Java, Pascal, FORTRAN) позволяет на порядок сократить время решения типовых задач и значительно упрощает разработку новых алгоритмов.
MATLAB как язык программирования был разработан Кливом Моулером (англ. Cleve Moler) в конце 1970-х годов, когда он был деканом факультета компьютерных наук в Университете Нью-Мексико.
Первоначально MATLAB предназначался для проектирования систем управления, но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался и в образовании, в частности, для преподавания линейной алгебры и численных методов.
2.3.1 Язык MatLab
Язык MATLAB является высокоуровневым интерпретируемым языком программирования, включающим основанные на матрицах структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования.
Программы, написанные на MATLAB, бывают двух типов — функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство. Как скрипты, так и функции не компилируются в машинный код и сохраняются в виде текстовых файлов. Существует также возможность сохранять так называемые pre-parsed программы — функции и скрипты, обработанные в вид, удобный для машинного исполнения. В общем случае такие программы выполняются быстрее обычных, особенно если функция содержит команды построения графиков.
Основной особенностью языка MATLAB является его широкие возможности по работе с матрицами, которые создатели языка выразили в лозунге «думай векторно» (англ. Think vectorized).
2.3.2 Ключевые возможности Matlab
Платформонезависимый высокоуровневый язык программирования ориентированный на матричные вычисления и разработку алгоритмов
Интерактивная среда для разработки кода, управления файлами и данными
Функции линейной алгебры, статистики, анализ Фурье, решение дифференциальных уравнений и др.
Богатые средства визуализации, 2-D и 3-D графика.
Встроенные средства разработки пользовательского интерфейса для создания законченных приложений на MATLAB
Средства интеграции с C/C++, наследование кода, ActiveX технологии
В базовый набор MatLab входят арифметические, алгебраические, тригонометрические и некоторые специальные функции, функции быстрого прямого и обратного преобразования Фурье и цифровой фильтрации, векторные и матричные функции. MatLab «умеет» выполнять операции с полиномами и комплексными числами, строить графики в декартовой и полярой системах координат, формировать изображения трехмерных поверхностей. MatLab имеет средства для расчета и проектирования аналоговых и цифровых фильтров, построения их частотных, импульсных и переходных характеристик и таких же характеристик для линейных электрических цепей, средства для спектрального анализа и синтеза.
Библиотека C Math (компилятор MatLab) является объектной и содержит свыше 300 процедур обработки данных на языке C. Внутри пакета можно использовать как процедуры самой MatLab, так и стандартные процедуры языка C, что делает этот инструмент мощнейшим подспорьем при разработке приложений (используя компилятор C Math, можно встраивать любые процедуры MatLab в готовые приложения).
Библиотека C Math позволяет пользоваться следующими категориями функций:
операции с матрицами;.
сравнение матриц;
решение линейных уравнений;
разложение операторов и поиск собственных значений;
нахождение обратной матрицы;
поиск определителя;
вычисление матричного экспоненциала;
элементарная математика;
функции beta, gamma, erf и эллиптические функции;
основы статистики и анализа данных;
поиск корней полиномов;
фильтрация, свертка;
быстрое преобразование Фурье (FFT);
интерполяция;
операции со строками;
операции ввода-вывода файлов и т.д.
При этом все библиотеки MatLab отличаются высокой скоростью численных вычислений. Однако матрицы широко применяются не только в таких математических расчетах, как решение задач линейной алгебры и математического моделирования, обсчета статических и динамических систем и объектов. Они являются основой автоматического составления и решения уравнений состояния динамических объектов и систем. Именно универсальность аппарата матричного исчисления значительно повышает интерес к системе MatLab, вобравшей в себя лучшие достижения в области быстрого решения матричных задач. Поэтому MatLab давно уже вышла за рамки специализированной матричной системы, превратившись в одну из наиболее мощных универсальных интегрированных систем компьютерной математики.