
- •Новые информационные технологии
- •Часть 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
2.9.5. Регрессия и метод наименьших квадратов
Наиболее часто статистические методы используются для обработки и графического представления данных. Например, на практике часто возможно задание достаточно большого числа узловых точек аппроксимируемой функции. Например, в физических экспериментах для этого достаточно порой повторить цикл измерений несколько раз (а порою и сотни раз). Если подвергнуть такие данные хотя бы простейшей статистической обработке, то можно заметно уменьшить случайную погрешность измерений.
Это и реализуется в задачах регрессии. Мы рассмотрим те из них, при которых аппроксимирующая функция подбирается так, что- бы ее график проходил в облаке узловых точек исходной функции и чтобы суммарная среднеквадратичная погрешность для всех точек была минимальной. Таким образом мы реализуем метод наименьших квадратов. Это и реализуется в задачах регрессии. Мы рассмотрим те из них, при которых аппроксимирующая функция подбирается так, чтобы ее график проходил в облаке узловых точек исходной функции и чтобы суммарная среднеквадратичная погрешность для всех точек была минимальной. Таким образом мы реализуем метод наименьших квадратов.
Математически постановка задачи регрессии сводится к следующему. Пусть есть набор точно определенных значений xi и соответствующих им неточных значений yi. Допустим, мы предполагаем, что существует некоторая зависимость f(x, a0, a1,...,ak), которая может рассматриваться как приближение к зависимости y(x), чьи точки представлены как yi(xi). Таким образом, мы вправе записать:
yi = f(xi, a0, a1,...,ak) + i.
Здесь i - независимые случайные величины с некоторым (чаще всего нормальным) законом распределения, определяющие погрешность задания yi. Обычно их считают следствием ошибок эксперимента. Задача регрессии заключается в том, чтобы найти параметры a0, a1, ... , ak такими, при которых представление y(x) нашей функцией f(x) имело наименьшую среднеквадратичную погрешность. Для этого нужно минимизировать функцию:
.
К примеру, для линейной регрессии, когда f(x)=a0+a1x (часто обозначают a0=a и a1=b), надо минимизировать следующее выражение:
.
Если приравнять a0 и a1 к нулю, то для линейной регрессии можно найти ее параметры a0 и a1 в явной форме
,
.
Аналогичным образом можно получить выражения и для других видов регрессии: полиномиальной, экспоненциальной, логарифмической и так далее. Ввиду сложности соответствующих выражений они не приводятся. Многие задачи нелинейной регрессии можно свести к рассмотренной выше линейной, используя соответствующие линеаризирующие преобразования.
2.9.6. Выполнение линейной регрессии в среде Mathcad
Для проведения линейной регрессии (приближения выражением F(x)=a+bx) в систему Mathcad встроены следующие функции:
corr(VX, VY) - возвращает коэффициент корреляции Пирсона;
intercrpt(VX, VY) - возвращает значение параметра а (смещение линии регрессии a+bx=a0+a1x по вертикали);
slope(VX, VY) - возвращает значение параметра b (крутизна линии регрессии).
Пример
2.42. Подготовить
документ Mathcad
для проведения линейной регрессии. На
рис. 2.14 представлен такой документ.
Исходные данные размещены в векторах
VX и
VY.
Рис. 2.14. Линейная регрессия
Как видно на рис. 2.14, прямая регрессии проходит в «облаке» исходных точек с минимальным среднеквадратичным отклонением от них. Чем ближе коэффициент корреляции к 1, тем точнее представленная исходными точками зависимость приближается к линейной.
В Mathcad реализована возможность выполнения и линейной регрессии общего вида. При ней заданная совокупность точек приближается функцией вида:
F(x,K1,K2,...,Kn)=K1F1(x)+K2F2(x)+...+KnFn(x).
Таким образом, функция регрессии является линейной комбинацией функций F1(x), F2(x),...,Fn(x), причем сами эти функции могут быть нелинейными, что резко расширяет возможности такой аппроксимации и распространяет ее на многие нелинейные функции.
Для реализации линейной регрессии общего вида используется функция linfit(VX,VY,F), которая возвращает вектор коэффициентов линейной регрессии общего вида K, при котором среднеквадратичная погрешность приближения «облака» исходных точек, координаты которых хранятся в векторах VX и VY, оказывается минимальной. Вектор F должен содержать функции F1(x), F2(x),..., Fn(x), записанные в символьном виде.
Пример 2.43. Подготовить документ, обеспечивающий линейную регрессию общего вида. Рис. 2.15 поясняет решение данной задачи. Процедура проведения вычислений настолько проста, что не нуждается в особых комментариях.
Рис.
2.15. Пример проведения линейной регрессии
общего вида
Расположение координат точек исходного массива может быть любым, но вектор VX должен содержать координаты, упорядоченные в порядке их возрастания. Вектор VY должен содержать ординаты, соответствующие абсциссам в векторе VX.