- •Новые информационные технологии
- •Часть 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. Особенности применения программных модулей
- •Методические указания
- •10 Главных вопросов
- •Глава 2. Основы математических вычислений
- •2.1. Вычисление сумм и произведений
- •2.1.1. Вычисление сумм
- •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. Практика математического моделирования 122
1.2.4. Работа с формульным редактором
Для запуска формульного редактора достаточно установить указатель мыши в любом свободном месте окна редактирования и щелкнуть левой кнопкой мыши. В этом месте окажется курсор ввода в виде маленького красного крестика. Его можно перемещать клавишами перемещения курсора. Курсор ввода не надо путать с указателем мыши, который живет своей «жизнью» и имеет вид наклонной стрелки.
Курсор ввода указывает место, с которого можно начинать набор формул — вычислительных блоков. В зависимости от места расположения курсор ввода может менять свою форму, к чему быстро привыкаешь. Так, в области формул он превращается в синий уголок, указывающий направление и место ввода. Его также можно перемещать клавишами перемещения курсора. Для расширения охваченной уголком области (вплоть до полного охвата выражения) можно пользоваться клавишей Пробел.
В системах класса Mathcad 2001 редактирование математических выражений существенно улучшено и во многом напоминает редактирование текстовых комментариев. Так, можно использовать режим вставки (клавиша Insert, меняющая направление охвата курсором ввода того или иного объекта), режимы стирания (клавиши Backspace и Del) объекта с той или иной стороны относительно вертикальной черты курсора ввода, удаление объекта командой Cut (клавиша F3) и его ввод на указанное место командой Paste (клавиша F4) и др. Можно пользоваться и операциями для работы с буфером промежуточного хранения.
Р ассмотрим подробно пример вычисления отношения суммы чисел 2 и 3 к корню квадратному из числа 5. Вначале введем подряд символы 2 + 3:
Обратите внимание, что при таком последовательном вводе уголок охватывает последний операнд.
Т еперь нам надо ввести знак деления. Однако если сделать это сразу, то данный знак будет относиться не ко всей сумме, а только к последнему операнду — числу 3. Чтобы знак деления относился ко всей сумме, надо выделить все выражение 2 + 3. Для этого достаточно нажать клавишу Пробел. Результат будет иметь вид, представленный ниже:
Теперь можно ввести знак деления, нажав клавишу / (со знаком наклонной черты):
О братите внимание, что знак деления в виде наклонной черты автоматически приобрел вид длинной горизонтальной черты под суммой, а под ним появилось место для ввода знаменателя дроби в виде черного квадрата, охваченного курсором ввода. Разумеется, как это принято даже при работе с калькуляторами, можно было бы выделить сумму скобками, записав ее в виде (2 + 3), тогда знак деления относился бы явно к сумме. Однако не следует вводить скобки там, где без них можно легко обойтись.
Следующий этап — ввод знака квадратного корня. Начинающий пользователь введет такой знак, используя палитру математических знаков для арифметических операций Calculate (о том, как вывести палитры, вы узнаете в главе 2). Для такого ввода достаточно щелкнуть мышью на знаке квадратного корня. Однако более опытный пользователь вспомнит, что многие знаки вводятся прямо нажатием соответствующей клавиши или комбинации клавиш.
Например, для ввода квадратного корня достаточно нажать клавишу со знаком обратной косой черты \ (ее вид напоминает черту, с которой мы начинаем писать знак квадратного корня):
Обратите внимание на естественность записи оператора квадратного корня и наличие в нем места для ввода подкоренного выражения.
С ледующий этап конструирования выражения — ввод подкоренного выражения в виде числа 5. Для этого достаточно нажать клавишу 5 на цифровой части клавиатуры:
Т еперь выражение по существу введено полностью, и нам осталось увидеть результат его вычисления. Для этого в конце выражения нужно поставить оператор вывода — знак равенства =. Однако сразу его вводить нельзя, поскольку маркер вывода установлен на последнем операторе. Надо выделить все выражение. Для этого нажмите клавишу Пробел — будет выделен весь числитель, а затем нажмите клавишу Пробел еще раз — будет выделено все выражение:
О сталось последнее — ввести оператор вывода =:
Mathcad тут же отобразит результат вычислений, поскольку по умолчанию установлен режим автоматических вычислений.
Mathcad можно легко использовать для различных экспериментов вычислительного характера. Допустим, мы решили вычислить результат, когда подкоренным выражением в знаменателе должно быть другое число или выражение. Надо ли набирать новое выражение с начала? Конечно же, нет! Достаточно модернизировать уже введенное выражение. Для этого аккуратно поместите указатель мыши после числа 5 и щелкните левой кнопкой. Вы увидите, что курсор ввода отметит это число, и вы сможете ввести другое число или выражение.
Этот пример приведен, дабы показать естественность работы с математическими выражениями. Конечно, ввод сложных выражений не так прост, но, поупражнявшись в таком вводе, можно быстро «набить руку» для ввода даже сложных выражений. Многие операции ввода можно делать с помощью «горячих клавиш».