- •Новые информационные технологии
- •Часть 3. Основы математики и математическое моделирование Учебное пособие
- •Введение
- •Глава 1. Основы компьютерной математики
- •1.1. Математика и ее средства
- •1.1.1. Аксиоматический метод и структуры математики
- •1.1.2. Компьютерная математика как часть математики
- •1.1.3. Классификация средств компьютерной математики
- •1.1.4. Структура систем компьютерной математики
- •1.1.5. Обзор систем компьютерной математики
- •1.2. Система компьютерной математикиMathcad
- •1.2.1. Состав системы Mathcad и ее запуск
- •1.2.2. Основы работы с системой Mathcad 2001
- •1.2.3. Работа с текстовым редактором
- •1.2.4. Работа с формульным редактором
- •1.2.5. Операции вывода и присваивания
- •1.2.6. Шаблоны математических операторов и символов
- •1.2.7. Ошибки и прерывание вычислений
- •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.5. Константы, переменные, операторы и функции
- •1.5.1. Числовые константы
- •1.5.2. Строковые константы
- •1.5.3. Переменные
- •1.5.4. Операторы
- •1.5.5. Выражения и функции
- •1.6. Основы графической визуализации вычислений
- •1.6.1. Понятия об основных геометрических объектах
- •1.6.2. Построение графиков функций одной переменной
- •1.6.3. Построение графиков поверхностей
- •1.7. Средства программирования в системеMathcad
- •1.7.1. Задание операторов пользователя
- •1.7.2. Задание программных модулей
- •1.7.3. Особенности применения программных модулей
- •Методические указания
- •2.1.2. Вычисление произведений
- •2.1.3. Вычисление пределов
- •2.3. Вычисление производных и интегралов
- •2.3.1. Определение производной и полного дифференциала
- •2.3.2. Вычисление производных
- •2.3.3. Определение интегралов
- •2.3.4. Вычисление интегралов
- •2.4. Решение уравнений и систем уравнений
- •2.4.1. Простое линейное уравнение и его решение
- •2.4.2. Решение систем линейных уравнений
- •2.4.5. Поиск всех корней степенного многочлена()
- •2.4.6. Решение систем нелинейных уравнений()
- •2.4.7. Реализация итерационных вычислений
- •2.5. Решение дифференциальных уравнений()
- •2.5.1. Основные понятия о дифференциальных уравнениях()
- •2.5.2. Решение систем оду()
- •2.5.3. Решение оду с помощью функции odesolve()
- •2.5.4. Решение жестких систем оду()
- •2.6. Решение задач оптимизации и линейного программирования
- •2.6.1. Основные понятия оптимизации
- •2.6.2. Пример оптимизации раскроя железного листа
- •2.6.3. Поиск минимума тестовой функции Розенброка
- •2.6.4. Функции maximize и minimize системы Mathcad
- •2.7. Разложение функций в ряды
- •2.7.1. Определение рядов Тейлора и Маклорена
- •2.7.2. Разложение в ряд Тейлора в системе Mathcad
- •2.7.3. Ряды Фурье()
- •2.7.4. Быстрые прямое и обратное преобразования Фурье()
- •2.7.5. Примеры преобразований Фурье()
- •2.7.6. Альтернативные преобразования Фурье()
- •2.8. Табличная интерполяция и аппроксимация
- •2.8.1. Теоретические основы интерполяции и экстраполяции
- •2.8.2. Интерполяция и аппроксимация по общей формуле Лагранжа
- •2.8.3. Полиномиальная интерполяция и аппроксимация
- •2.8.4. Кусочно-линейная и сплайновая аппроксимации в Mathcad
- •2.9. Статистическая обработка данных
- •2.9.1.Эксперименты, события и другие понятия статистики
- •2.9.2.Решение задач комбинаторики
- •2.9.3. Дискретные и непрерывные случайные величины
- •2.9.4. Законы распределения и статистические функции Mathcad
- •2.9.5. Регрессия и метод наименьших квадратов
- •2.9.6. Выполнение линейной регрессии в среде Mathcad
- •2.9.7. Полиномиальная регрессия в Mathcad
- •2.9.8. Проведение нелинейной регрессии()
- •2.9.9. Экстраполяция и предсказание
- •2.9.10. Сглаживание данных
- •Методические указания
- •10 Главных вопросов
- •Глава 3. Основы математического моделирования
- •3.1. Основные понятия моделирования
- •3.2. Основные виды моделей и их свойства
- •3.2.1. Основные виды моделей
- •3.2.2. Основные свойства моделей
- •3.3. Цели, принципы и технология моделирования
- •3.3.1. Цели моделирования
- •3.3.2. Основные принципы моделирования
- •3.3.3. Технология моделирования
- •3.3.4. Основные методы решения задач моделирования
- •Оценка обусловленности вычислительной задачи – еще одно обязательное требование при выборе метода решения и построении математической модели.
- •3.3.5. Контроль правильности модели
- •3.4. Задачи моделирования полета камня
- •3.4.1. Постановка задачи моделирования
- •3.4.2. Концептуальная формулировка задачи
- •3.4.3. Построение математической модели
- •3.4.4. Выбор метода решения
- •3.4.5. Программная реализация модели на эвм
- •3.4.6. Проверка адекватности модели
- •3.4.7. Анализ результатов моделирования
- •Методические указания
- •10 Главных вопросов
- •Глава 4. Практика математического моделирования
- •4.1. Моделирование процессов на основе известных формул
- •4.1.1. Моделирование изменения параметров атмосферы
- •4.1.2. Моделирование закона Мура
- •4.1.3. Моделирование преодоления самолетом звукового барьера
- •4.2. Моделирование на основе конечно-разностных методов
- •4.2.1. Моделирование Броуновского движения частиц
- •4.2.2. Моделирование диффузии
- •4.2.3. Моделирование торможения автомобиля()
- •4.2.4. Моделирование падения парашютиста()
- •4.2.5. Моделирование генератора на туннельном диоде()
- •4.2.6. Моделирование развития и угасания эпидемии
- •4.3. Моделирование колебательных систем
- •4.3.1. Анализ линейной колебательной системы
- •4.3.2. Анализ нелинейной колебательной системы Ван дер Поля
- •4.3.3. Моделирование системы Дафинга с внешним воздействием
- •4.3.4. Хаос и моделирование аттрактора Лоренца()
- •4.4. Моделирование рассеивания альфа-частиц()
- •4.5. Моделирование биологических и экономических систем
- •4.5.1. Модель системы «хищник-жертва» Лотки-Вольтерра
- •4.5.2. Модель системы «хищник-жертва» с логистической поправкой
- •4.5.3. Модель системы «хищник-жертва» Холлинга-Тэннера
- •4.5.4. Моделирование замкнутой экономической системы
- •4.6. Моделирование на основе линейного программирования
- •4.6.1.Оптимальные экономико-математические модели
- •4.6.2. Решение задач максимизации объема продукции
- •4.6.3. Решение задач минимизации ресурсов
- •4.6.4. Решение транспортной задачи
- •4.6.5. Задачи целочисленного программирования с булевыми переменными
- •4.7. Сетевые модели в оптимизации управленческих решений
- •4.7.1. Задача поиска кратчайшего пути
- •4.7.2. Задача о распределении потоков в сетях
- •4.8. Обработка и моделирование сигналов и изображений
- •4.8.1. Основы спектрального метода моделирования сигналов
- •4.8.2. Спектральное моделирование на основе точных формул интегрирования()
- •4.8.3. Улучшенное спектральное моделирование дискретных сигналов()
- •4.8.4. Вейвлеты - новый базис представления сигналов()
- •4.8.5. Вейвлет-преобразования()
- •4.8.6. Примеры вейвлет-обработки сигнала - временного ряда()
- •4.8.7. Анализ сигналов по вейвлет-спектрограммам
- •4.9. Обработка изображений
- •4.9.1. Средства обработки изображений
- •4.9.2. Обработка монохромных изображений
- •4.9.3. Обработка цветных изображений
- •4.9.4. Функции для работы с файлами и матрицами рисунков
- •4.9.5. Вейвлет-компрессия рисунков в пакете Wavelet Extension Pack
- •4.10.1. Подготовка к работе с матричной лабораторией matlab
- •4.10.2. Имитационное моделирование и расширение Simulink
- •Методические указания
- •10 Главных вопросов
- •Список литературы
- •Глава 1. Основы компьютерной математики 4
- •Глава 2. Основы математических вычислений 50
- •Глава 3. Основы математического моделирования 105
- •Глава 4. Практика математического моделирования 121
1.1.5. Обзор систем компьютерной математики
Во всем мире созданы десятки СКМ, но широкую известность получило лишь несколько систем [5-10]. Они указаны ниже.
Derive, MuPAD – СКМ начального уровня. Они ориентированы на школьное и высшее образование по специальностям, не требующим расширенной математической подготовки. Обладают недостаточно развитыми, хотя и постоянно улучшающимися возможностями графической визуализации результатов вычислений. Система Derive описана в [6], а MuPAD – в [5].
Mathcad – система, ориентированная на высшее образование, выполнение умеренно сложных численных и аналитических расчетов с максимальным использованием естественного математического языка представления вычислений [7, 24]. Имеет прекрасный интерфейс и обширные возможности графической визуализации вычислений. Является самой массовой СКМ.
Maple, Mathematica – универсальные системы, ориентированные на выполнение аналитических вычислений на любом уровне, вплоть до профессионального [8, 9]. Широко применяются в системе высшего образования и в практике выполнения научных расчетов.
MATLAB+Simulink – мощные и большие (занимают до 1-1,5 Гбайт на жестком диске) системы, ориентированные на матричные и численные методы вычислений, реализацию численных расчетов повышенной сложности, математическое моделирование систем и устройств [10]. Имеют десятки пакетов расширения по различным областям математики и многим (в том числе новейшим) сферам ее применения.
Можно выделить следующие общие направления развития современных СКМ:
превращение СКМ в интеллектуальные системы представления знаний и их экспертной оценки;
интеграция систем друг с другом и с рядом других офисных и графических программ;
расширенные возможности вычислений, охватывающие все практически важные и фундаментальные области математики;
расширенная степень визуализации вычислений;
превращение СКМ в универсальные системы;
внедрение новых функций, например для вейвлет-преобразований, обработки сигналов, реализации нечеткой логики, нейронных сетей и др.;
внедрение в СКМ средств, позволяющих на их основе готовить полноценные электронные учебники в различных форматах;
возможность создания документов с текстами, формульными выражениями, рисунками и графиками высочайшего полиграфического качества.
Указанные в этих направлениях достоинства СКМ делают их в одинаковой мере привлекательными для научных работников и инженеров, преподавателей и студентов образовательных учреждений и даже для лиц, просто увлекающихся математическими расчетами.
1.2. Система компьютерной математикиMathcad
1.2.1. Состав системы Mathcad и ее запуск
Mathcad — одна из самых популярных и массовых систем компьютерной математики. Название системы происходит от двух слов — MATHematica (математика) и CAD (Computer Aided Design — системы автоматического проектирования, или САПР).
Новейшие версии системы Mathcad 2001/2001i/11 [7] интегрируют (объединяют) в себе следующие основные компоненты:
редактор документов — редактор с возможностью вставки математических выражений, шаблонов графиков и текстовых комментариев;
центр ресурсов — интегратор ресурсов системы;
электронные книги — электронные книги с описанием типовых расчетов в различных областях науки и техники;
справочная система — система для получения справочных данных по тематическому и индексному каталогу, а также для поиска нужных данных по ключевому слову или фразе;
«быстрые шпаргалки» — короткие примеры с минимальными комментариями, описывающие применение всех встроенных операторов и функций системы;
браузер Интернета — собственное средство выхода в Интернет.
Для запуска уже установленной на ПК системы Mathcadдостаточно указать курсором мыши на ярлык системы, расположенный на рабочем столе операционной системыWindowsи раз (или два) щелкнуть левой клавишей мыши. Это же можно сделать с помощью позиции меню этой системы. Наконец можно пустить систему активизацией файла ее документа. При этом система будет запущена с загруженным в нее документом (или рабочим листом -worksheet).
После запуска Mathcad на некоторое время (зависит от быстродействия ПК) появляется заставка, которая вскоре сменяется основным окном системы (рис. 1.1). По общему виду оно очень напоминает окно программ из офисного пакета MicrosoftOffice97/XPи имеет похожие элементы интерфейса.
Рис. 1.1.Окно системыMathcadпри первом пуске
В окне системы присутствует окно центра ресурсов, дающее доступ к учебнику для новых пользователей, средствам обновления (Upgrades), Интернет-сайту фирмыMathSoft,Inc. и средствам коллективной работы над научными проектами (все на английском языке). Окно имеет стандартные средства управления окнами. Справа видна основная панель для вывода панелей специальных математических символов. Эта панель может перемещаться по экрану мышью с нажатой левой клавишей и прикрепляться к другим панелям, например к панели форматирования.
Обычно при каждом запуске системы в центре основного окна появляется окно Tip of the Day (Совет дня). Однако для русскоязычных пользователей польза от этого окна сомнительна. Сняв в нем флажок Show tips on startup (Показывать совет при запуске), можно отказаться от появления этого окна при последующих запусках системы. При этом после запуска окно системы Mathcad 2001 будет иметь вид, показанный на рис. 1.2. В окне рис. 1.2 даны примеры работы с системой Mathcad - задание функции пользователя, построение ее графика, вычисление корней уравнения, вычисление производной и интеграла. Справа видны палитры математических символов.
Рис. 1.2. Окно системыMathcad с примерами вычислений