
- •Часть 1
- •Введение
- •1. Особенности машинной арифметики, точность вычислений на эвм (Лабораторная работа №1)
- •2. Изучение понятия Обусловленности вычислительной задачи (Лабораторная работа №2)
- •3. Решение нелинейных уравнений
- •3.1. Общие сведения
- •3.2. Метод бисекции (Лабораторная работа №3)
- •3.3. Метод хорд (Лабораторная работа №4)
- •3.4. Метод Ньютона (Лабораторная работа № 5)
- •3.5. Метод простых итераций (Лабораторная работа №6)
- •3.6. Курсовая работа по дисциплине и варианты заданий
- •4. Численное интегрирование
- •4.1. Составные формулы прямоугольников, трапеций, Симпсона. (Лабораторная работа №6)
- •4.2. Формула Гаусса. (Лабораторная работа №7)
- •Библиографический список
- •1. Особенности машинной арифметики, точность вычислений на эвм 5
3.2. Метод бисекции (Лабораторная работа №3)
Если найден отрезок [a,b], такой, что
(a)
(b), существует точка c, в которой значение функции равно нулю, т.е.
(с)=0, с(a,b). Метод бисекции состоит в построении последовательности вложенных друг в друга отрезков, на концах которых функция имеет разные знаки. Каждый последующий отрезок получается делением пополам предыдущего. Процесс построения последовательности отрезков позволяет найти нуль функции
(корень уравнения
с любой заданной точностью.
Рассмотрим один шаг итерационного процесса. Пусть на (n-1)-м шаге найден отрезок [an-1, bn-1][a, b], такой, что
(an-1)
(bn-1). Разделим его пополам точкой (an-1 +bn-1)/2 и вычислим
(). Если
()=0, то =( an-1+bn-1)/2- корень уравнения. Если
(), то из двух половин отрезка выбирается та, на концах которой функция имеет противоположные знаки, поскольку искомый корень лежит на этой половине, т.е.
an=an-1, bn= , если
()
(an-1) < 0 ;
an=, bn= bn-1 , если
()
(an-1) > 0 .
Если требуется найти корень с точностью , то деление пополам продолжается до тех пор, пока длина отрезка не станет меньше 2. Тогда координата середины отрезка есть значение корня с требуемой точностью .
Метод бисекции является простым и надежным методом поиска простого корня уравнения
(простым называется корень x=c дифференцируемой функции
, если
(с) и
(с)). Этот метод сходится для любых непрерывных функций
, в том числе недифференцируемых. Скорость его сходимости невысока. Для достижения точности необходимо совершить Nlog2(b-a)/ итераций. Это означает, что для получения каждых трех верных десятичных знаков необходимо совершить около 10 итераций.
В лабораторной работе №3 предлагается, используя программы - функции BISECT и Round из файла methods.cpp (файл заголовков metods.h, директория LIBR1), найти корень уравнения
методом бисекции с заданной точностьюEps, исследовать зависимость числа итераций от точности Eps при изменении Eps от 0.1 до 0.000001, исследовать обусловленность метода (чувствительность к ошибкам в исходных данных).
Выполнение работы осуществляется по индивидуальным вариантам заданий (нелинейных уравнений), приведенным в подразделе 3.6. Номер варианта для каждого студента определяется преподавателем.
Порядок выполнения работы должен быть следующим:
Графически или аналитически отделить корень уравнения
(т.е. найти отрезки[Left, Right], на которых функция
удовлетворяет условиям теоремы Коши).
Составить подпрограмму вычисления функции
.
Составить головную программу, содержащую обращение к подпрограмме f(x), BISECT, Round и индикацию результатов.
Провести вычисления по программе. Построить график зависимости числа итераций от Eps.
Исследовать чувствительность метода к ошибкам в исходных данных. Ошибки в исходных данных моделировать с использованием программы Round, округляющей значения функции с заданной точностью Delta.
Текст программы-функции BISECT, предназначенной для решения уравнения
методом бисекции, представлен в подразделе 3.7.