- •Теоретический раздел Предисловие
- •Предисловие ко второму изданию
- •1 Математические модели. Численные методы. Погрешности вычислений
- •1.1 Математические модели и моделирование
- •1.2 Этапы численного решения задач на эвм
- •1.3 Виды погрешностей решения задач
- •1.4 Погрешности арифметических операций
- •1.5 Графы арифметических операций
- •1.6 Распространение погрешностей в вычислениях
- •2 Решение систем линейных алгебраических уравнений
- •2.1 Постановка задачи. Методы решения
- •2.2 Метод Гаусса
- •2.2.1 Описание метода Гаусса
- •2.2.2 Расчетные формулы метода Гаусса
- •2.2.3 Погрешность метода Гаусса. Метод Гаусса с выбором главного элемента
- •2.3 Вычислительная сложность метода Гаусса
- •2.4 Обращение матрицы
- •2.5 Метод lu-разложения
- •2.6 Метод квадратного корня решения симметричных слау
- •2.7 Метод Гаусса–Зейделя
- •2.7.1 Расчетные формулы метода Гаусса–Зейделя
- •2.7.2 Сходимость метода Гаусса–Зейделя
- •2.7.3 Графическая иллюстрация метода Гаусса–Зейделя
- •3 Аппроксимация функций
- •3.1 Понятие аппроксимации функций
- •3.2 Постановка задачи интерполирования функций
- •3.3 Интерполяционный полином Лагранжа
- •3.4 Вычисление значений полиномов
- •3.5 Вычислительная сложность задачи интерполирования
- •3.6 Конечные и разделенные разности функции
- •3.7 Интерполяционный полином Ньютона
- •3.8 Погрешность интерполирования
- •3.9 Полиномы Чебышева 1-го рода
- •3.10 Наилучший выбор узлов интерполирования
- •4 Численное интегрирование
- •4.1 Постановка задачи численного интегрирования
- •4.2 Метод прямоугольников
- •4.3 Погрешность метода прямоугольников
- •4.4 Метод трапеций
- •4.5 Погрешность метода трапеций
- •4.6 Метод Симпсона
- •4.7 Погрешность метода Симпсона
- •4.8 Интерполяционные квадратурные формулы
- •4.9 Интерполяционные квадратурные формулы наивысшей алгебраической степени точности (квадратурные формулы Гаусса)
- •4.9.1 Квадратурная формула Гаусса–Лежандра
- •4.9.2 Квадратурная формула Гаусса–Лагерра
- •4.9.3 Квадратурная формула Гаусса–Эрмита
- •5 Решение нелинейных уравнений
- •5.1 Постановка задачи численного решения нелинейных уравнений
- •5.2 Метод деления отрезка пополам
- •5.3 Метод хорд
- •5.4 Метод простой итерации
- •5.5 Метод Ньютона
- •5.6 Метод секущих
- •6 Решение обыкновенных дифференциальных уравнений
- •6.1 Постановка задачи
- •6.2 Метод рядов Тейлора
- •6.3 Метод Эйлера
- •6.4 Метод Рунге–Кутта 2-го порядка
- •6.5 Метод Рунге–Кутта 4-го порядка
- •7 Решение систем обыкновенных дифференциальных уравнений
- •7.1 Постановка задачи
- •7.2 Приведение дифференциального уравнения -го порядка к системе дифференциальных уравнений 1-го порядка
- •7.3 Метод Эйлера
- •8.2 Выполнение символьных операций в Matlab
- •8.3 Создание символьных переменных
- •8.4 Создание группы символьных переменных
- •8.5 Создание списка символьных переменных
- •8.6 Вывод символьного выражения
- •8.7 Упрощение выражений
- •8.8 Вычисление производных
- •8.9 Вычисление интегралов
- •8.10 Вычисление сумм рядов
- •8.11 Вычисление пределов
- •8.12 Разложение функции в ряд Тейлора
- •8.13 Вычисление определителя матрицы, обращение матрицы
- •9 Дополнение
- •9.1 Вычисление корней полиномов
- •9.2 Решение систем нелинейных уравнений. Метод Ньютона
- •9.3 Решение систем линейных алгебраических уравнений с трехдиагональной матрицей (метод прогонки)
- •9.4 Интерполирование функций сплайнами
- •Практический раздел Указания к выбору варианта
- •Лабораторная работа № 1. Работа в системе Matlab
- •1.1. Цель работы
- •1.2. Порядок выполнения работы
- •Лабораторная работа № 2. Решение систем линейных алгебраических уравнений
- •2.1. Цель работы
- •2.2. Теоретические положения
- •2.3. Порядок выполнения работы
- •Лабораторная работа № 3. Аппроксимация функций
- •3.1. Цель работы
- •3.2. Теоретические положения
- •3.3. Порядок выполнения работы
- •Лабораторная работа № 4. Численное интегрирование
- •4.1. Цель работы
- •4.2. Теоретические положения
- •4.3. Порядок выполнения работы
- •Лабораторная работа № 5. Решение нелинейных уравнений
- •5.1. Цель работы
- •5.2. Теоретические положения
- •5.3. Порядок выполнения работы
- •Лабораторная работа № 6. Решение обыкновенных дифференциальных уравнений
- •6.1. Цель работы
- •6.2. Теоретические положения
- •6.3. Порядок выполнения работы
- •Лабораторная работа № 7. Решение систем обыкновенных дифференциальных уравнений
- •7.1. Цель работы
- •7.2. Теоретические положения
- •7.3. Порядок выполнения работы
- •Лабораторная работа № 8. Выполнение символьных операций
- •8.1. Цель работы
- •8.2. Теоретические сведения
- •8.3. Порядок выполнения работы
- •Литература
- •Литература
5.2 Метод деления отрезка пополам
Метод деления отрезка пополам или метод половинного деления относится к семейству методов дихотомии. Предполагается известным отрезок , на котором расположен искомый корень. В этом случае. Методы дихотомии состоят в последовательном делении отрезкана две части и отбрасывании той части, для которой установлено, что на ней корня нет. Метод половинного деления состоит в последовательном делении отрезкапополам и отбрасывании той половины, на которой корня нет, до тех пор, пока длина отрезка не станет малой (см. рисунок 5.1). Этот алгоритм можно описать следующим образом:
если , то перейти к п. 2), иначе – перейти к п. 5);
найти ;
если , то положить, иначе – положить;
перейти к п. 1);
найти значение корня и прекратить вычисления.
Рисунок 5.1 – Иллюстрация метода деления отрезка пополам
В описанном алгоритме число определяет допустимую абсолютную погрешность нахождения корня.
Выполнение п.п. 1 – 4 называется одной итерацией. За одну итерацию метода половинного деления длина отрезка, на котором находится корень, уменьшается ровно вдвое, , так что отклонение полученного значения корняот истинного значениябудет удовлетворять неравенству
.
После выполнения итераций это отклонение будет подчиняться неравенству
.
Данное неравенство позволяет утверждать, что для непрерывной на отрезке функции при увеличении числа итерацийимеет место сходимостьк. Кроме того, оно позволяет подсчитать число итераций, достаточное для достижения заданной точности. Для этого необходимо разрешить относительно натуральногонеравенство
.
5.3 Метод хорд
В рассмотренном выше методе половинного деления процесс деления отрезка на две части (дихотомии) был жестко фиксирован: эти части были равными. Естественно предположить, что в семействе методов дихотомии можно достичь несколько лучших результатов, если отрезок , на котором расположен искомый корень, делить не пополам, а пропорционально значениям,функции на концах отрезка. Это означает, что точкуна рисунке 5.2 имеет смысл находить как абсциссу точки пересечения осис прямой, проходящей через точкии, иначе – с хордой. Уравнение прямой, проходящей через две данные точкии, имеет вид
.
Отсюда, полагая , находим
. (5.2)
Рисунок 5.2 – Иллюстрация метода хорд
Данный подход может быть реализован в рамках алгоритма половинного деления, рассмотренного в разделе 5.2. Отличия нового алгоритма будут состоять в том, что в пунктах 2 и 5 алгоритма половинного деления иследует рассчитывать по формуле (5.2). Метод, использующий формулу (5.2), получил название метода хорд.
Легко понять, что для линейной функции метод хорд дает значение корнявсего за одну итерацию при любом отрезке. Поэтому можно рассчитывать на его быструю сходимость для функций, близких к линейным. Однако если на функциюне накладывать дополнительных ограничений, может оказаться, что метод хорд будет проигрывать в скорости методу половинного деления. Например, скорость сходимости метода хорд будет низкой для функции, изображенной на рисунке 5.3.
Рисунок 5.3 – Иллюстрация метода хорд с медленной сходимостью