- •Новые информационные технологии
- •Часть 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.7. Ошибки и прерывание вычислений
Если в ходе вычислений появляется ошибка, последние прерываются и соответствующее выражение окрашивается в красный цвет. При этом, если курсор мыши помещен в блок выражения, рядом появляется сообщение об ошибке - в прямоугольнике с желтым фоном. Убедитесь в этом, задав выражение с ошибкой 1/0 (деление на 0 ошибочно). Сообщение об ошибке дается на английском языке. Списки переводов сообщений на русский язык можно найти в книгах по системе Mathcad.
Р ис. 1.4. Работа с шаблонами математических операций
При задании сложных вычислений работа системы может быть долгой. Для ее прерывания можно нажать клавишу Esc. Mathcad выведет сообщение о прерывании вычислений и небольшое окно с двумя кнопками: OK — подтвердить прерывание, и Cancel (отмена) — отменить прерывание. После прерывания можно возобновить работу, нажав клавишу F9 или щелкнув в панели инструментов на кнопке с изображением жирного знака равенства.
1.3. Простые типы данных
Перейдем к более глубокому изучению основ математики и возможностей системы Mathcad. Для этого вначале надо разобраться с какими типами данных приходится иметь дело при выполнении математических вычислений.
1.3.1. Числовые данные
Число - одно из основополагающих первичных понятий математики. Оно появилось из потребности количественной оценки различных предметов, объектов и вещей.
Существуют различные способы представления чисел - системы счисления: позиционные и непозиционные. При позиционной системе значение каждой цифры зависит от ее положения - разряда. Количество значений p каждого разряда задается основанием числа. Любое число в позиционной системе исчисления представляется в виде:
Здесь ai задает вес каждого разряда и его положение: положительные значения i относятся к целой части числа с m разрядами, а отрицательные - к дробной с s разрядами.
Чаще всего используются десятичные числа с основанием 10, относящиеся к арабской позиционной системе счисления. При основании 10 веса ai кратны 10 при a0=1, a1=10, a2=100 и т.д. и p=0, 1, ... 9. Для дробной части числа a-1=0,1, a-2=0,01 и т.д. Непозиционные системы счисления (например, применяемая для обозначения веков римская система) в математических расчетах не применяются.
Как уже отмечалось, натуральными являются целые неотрицательные числа 0, 1, 2, 3, …. Ряд натуральных чисел бесконечен, поскольку к каждому «последнему» числу всегда можно добавить единицу и получить очередное число.
Со временем появилось понятие отрицательных чисел, причем знак минус «-» обычно означает недостаток предметов при счете. Например число 8 можно представить как 10 за вычетом двух предметов, т. е. 8=10+(-2). Здесь -2 означает недостающих два предмета.
К натуральным числам относят и простые числа. Это такие числа (кроме 0 и 1), которые делятся только на себя. Все они нечетные, за исключением единственного простого четного числа 2.
Целые числа – это такие числа (тип integer), которые могут быть представлены в виде разности натуральных чисел. Обычно они задаются набором только цифр и, возможно, знака перед таким набором. Примеры целых чисел: 0, 1, 123, -456 и т. д. Таким образом, целые числа могут быть положительными и отрицательными. Пока речь идет о числах с основанием 10.
Знак минуса перед числом рассматривается как унарный минус, если перед ним нет другого числа. В этом случае знак «-» является оператором вычитания. Например, -4 означает минус четыре, а 6-2 даст результат 4. Можно использовать скобки для уточнения роли этого знака, например 6-(-2) даст 8. Подряд два знака, т.е. символ «--» использовать обычно нельзя.
Минимальное (не равное нулю) и максимальное значения целых чисел при m разрядах имеют значения:
Nmin=P-s и Nmax=Pm-1.
При этом всего можно представить pm+s чисел.
Для целых чисел определен ряд специальных функций, например, разложения на простые множители, нахождение общего делителя, вычисление факториала и т.д. Для целых чисел характерна дискретность значений (различаются строго на 1). Они широко применяются для задания индексов у данных сложных типов, например матриц.
Системы символьной математики могут работать с целыми числами очень большой разрядности. Иногда говорят даже о неограниченной разрядности. Но это не совсем точно, - в конечном счете, разрядность зависит от объема памяти компьютера и она всегда конечна. К примеру, система Mathcad может работать с числами, имеющими до 4000 разрядов десятичных чисел.
Пример 1.1. Вычислите с помощью системы Mathcad 100! и 500!, используя операторы численного (=) и символьного () вывода. Постарайтесь осмыслить полученные результаты. Запомните, что факториал N! есть 123…(N - 1) N с особым случаем 0!=1.
Некоторые математические системы могут работать с числами, имеющими произвольное основание. По умолчанию используются десятичные числа (decimal) с основанием 10. Достаточно широкое применение имеют и числа с основаниями 2 (binar – бинарные, или двоичные числа), 8 (octal - восьмеричные числа) и 16 (hexadecimal, или сокращенно hex - шестнадцатеричные числа). Разряд чисел этого типа может иметь следующие значения:
b binary 0 1
o octal 0 1 2 3 4 5 6 7
d decimal 0 1 2 3 4 5 6 7 8 9
h hex 0 1 2 3 4 5 6 7 8 9 A B C D E F
Здесь перед названием типа числа указан его отличительный символ (обычно может использоваться как строчная, так и заглавная буква. Например, h или H для шестнадцатеричного числа). Этот символ используется после числа, например, 11001b, 1234o или A2CDH. Эти числа, за исключением десятичных чисел, в математических расчетах используются редко. Но их широко применяют при описании вычислительных систем. Например, шестнадцатеричные числа используются для указания номеров ячеек постоянной и оперативной памяти.
С применением чисел с основанием, отличным от 10, могут быть проблемы. Так шестнадцатеричные числа могут начинаться с буквы, например ABC0. Но СКМ может легко спутать такие числа с переменными. В системе Mathcad для устранения этого такие числа надо начинать с цифры 0:
В этих примерах реализована возможность преобразования чисел с основанием, отличным от 10, в десятичные числа и (последний пример) возможность арифметических операций с такими числами. Если при наборе шестнадцатеричных чисел появляется знак умножения, его надо убрать, переместив к нему маркер ввода и нажав клавишу Del.