- •Глава 1. Численные методы и особенности использования эвм
- •Глава 2. Решение нелинейных уравнений с одной переменной 23
- •Глава 3. Методы приближения, интерполяции и аппроксимации функций 47
- •Глава 4. Численное интегрирование 75
- •Глава 5. Приближенное интегрирование дифференциальных уравнений 108
- •Глава 6. Численное дифференцирование 139
- •Глава 7. Методы численной оптимизации 150
- •Предисловие
- •Глава 1. Численные методы и особенности использования эвм в решении математических задач
- •1.1. Математическое моделирование и численные методы
- •1.2. Общая постановка и понятие устойчивости задач вычисления
- •1.3. Структура погрешности решения задач вычисления
- •1.4. Абсолютная и относительная погрешности
- •Пример 1.4. Примеры записи абсолютной погрешности числа :
- •Пример 1.5. Пример записи относительной погрешности числа :
- •1.5. Погрешность машинных вычислений и представлений чисел в памяти эвм
- •1.6. Графы вычислительных процессов
- •1.7. Вопросы для самопроверки
- •Глава 2. Решение нелинейных уравнений с одной переменной
- •2.1. Локализация корней
- •2.2. Уточнение корней
- •2.2.1. Метод половинного деления (бисекции, дихотомии)
- •2.2.2. Метод хорд
- •2.2.3. Метод Ньютона (касательных)
- •2.2.4. Модифицированный метод Ньютона
- •2.2.5. Метод секущих
- •2.2.6. Метод итераций
- •Б) односторонний расходящийся процесс; в) двухсторонний сходящийся процесс; г) двухсторонний расходящийся процесс.
- •2.2.7. Комбинированный метод хорд и касательных
- •2.3. Вопросы для самопроверки
- •Глава 3. Методы приближения, интерполяции и аппроксимации функций
- •3.1. Методы приближения функций
- •3.1.1. Формула Тейлора, ряд Тейлора
- •3.1.2. Полиномы Чебышева
- •3.1.3. Экономизация степенных рядов
- •3.1.4. Приближения с помощью дробно-рациональных функций
- •3.2. Методы интерполяции функций
- •3.2.1. Прямой метод
- •3.2.2. Полином Лагранжа
- •3.2.3. Полином Ньютона
- •Конечные разности функции .
- •3.3. Методы аппроксимации функций
- •3.3.1. Среднеквадратичная аппроксимация
- •Некоторые регрессионные модели.
- •Премиальные фонды и прибыли предприятий
- •Расчет сумм для проведения регрессионного анализа
- •Коэффициенты регрессии
- •Расчет суммы квадратов отклонений по линейной модели
- •Сумма квадратов отклонений для рассматриваемых моделей
- •3.3.2. Полиномиальная аппроксимация
- •3.3. Вопросы для самопроверки
- •Глава 4. Численное интегрирование
- •4.1. Понятие определенного интеграла
- •4.2. Классификация методов численного интегрирования
- •4.3. Методы Ньютона-Котеса
- •4.3.1. Методы прямоугольников
- •4.3.2. Метод трапеций
- •4.3.3. Метод Симпсона (метод парабол)
- •4.4. Погрешность методов Ньютона-Котеса
- •4.5. Вычисление интегралов с заданной точностью
- •4.6. Особые случаи численного интегрирования
- •4.7. Вычисление кратных интегралов
- •Результаты вычисления значений функции .
- •4.8. Методы Монте-Карло
- •4.9. Вопросы для самопроверки
1.6. Графы вычислительных процессов
Для оценки общей (итоговой) погрешности (ошибки) выполнения некоторой последовательности арифметических операций существует достаточно удобный способ, основанный на использовании графов вычислительных процессов. Граф вычислительного процесса позволяет наглядно изобразить последовательность арифметических операций и легко определить вклад любой ошибки, возникшей в процессе вычислений, в общую ошибку. Пусть вершинами графа являются значения переменных или результатов арифметических операций, а его дуги указывают направление вычислений и нагружены коэффициентами, оценивающими распространение ошибок. Граф вычислительного процесса строится для анализа процесса распространения относительных ошибок в арифметических выражениях, его следует читать в направлении дуг. Сначала выполняются операции, расположенные на каком-либо горизонтальном уровне, затем операции расположенные на более высоком уровне и т.д. На рис.1.3. представлены графы вычислительных процессов арифметических операций.
Рис. 1.3. Графы вычислительных процессов основных арифметических операций.
Правило подсчета общей ошибки с использованием графа вычислительного процесса можно сформулировать следующим образом: относительная ошибка результата любой операции (вершины) входит в результат следующей операции, умножаясь на коэффициент у дуги, соединяющей эти две операции.
В качестве примера рассмотрим выражение и задачу оценки общей погрешности результата его вычисления с учетом ошибок округления результатов выполнения арифметических операций. Предположим, что , и – относительные погрешности округления чисел , и при представлении их в памяти ЭВМ, а и – относительные ошибки округления соответственно результатов операций сложения и умножения. Учитывая последовательность операций, для рассматриваемого выражения граф вычислительного процесса будет иметь вид, представленный на рис. 1.4.
Рис. 1.4. Граф вычислительного процесса для выражения .
Исследуем граф, представленный на рис. 1.4. Рассмотрим операцию сложения (уровень II), использующую числа и , заданные с относительными погрешностями и . Каждая из погрешностей входит в результат выполнения операции, умноженной на соответствующий коэффициент и . Тогда ошибку операции сложения можно оценить величиной , к которой следует прибавить ошибку округления. В результате формула расчета относительной ошибки операции сложения будет выглядеть следующим образом:
.
Результат выполнения операции сложения используется в операции умножения (уровень I), при этом погрешности передаются в результат выполнения операции умноженными на соответствующие коэффициенты . Тогда, с учетом погрешности округления, общая относительная погрешность вычисления значения может быть рассчитана следующим образом:
.
Поскольку причина ошибок округления и представления чисел в памяти ЭВМ одна – ограниченность ее разрядной сетки, – то для относительных ошибок можно положить . Тогда формулу расчета общей погрешности вычисления значения можно упростить:
.
Полученная формула позволяет дать верхнюю оценку общей погрешности: . Вывод формулы оценки итоговой ошибки выполнения ряда арифметических операций с помощью графа вычислительного процесса для произвольного алгоритма может являться сложной задачей. Кроме того, в процессе вычислений в алгоритмах могут использоваться стандартные или специальные подпрограммы, для которых не известны значения и оценки погрешностей вычисления. В то же время, оценить погрешность арифметических операций можно в результате проведения вычислительного эксперимента.