
- •Лабораторная работа № 1 Процедурные типы данных
- •Теоретическая часть
- •Процедурные типы
- •Процедурные переменные
- •Параметры процедурного типа
- •Практическая часть
- •Приближенное решение алгебраических и трансцендентных уравнений
- •Cпособ половинного деления
- •Cпособ пропорциональных частей (метод хорд)
- •Способ Ньютона (метод касательных)
- •Способ итераций
- •Приближенное интегрирование функций
- •Формула прямоугольников
- •Формула трапеций
- •Формула Симпсона
- •Задания Написать программу, реализующую итерационные вычислительные процессы, с использованием процедурных типов данных.
Приближенное решение алгебраических и трансцендентных уравнений
Пусть дано уравнение f(x) = 0, где функция f(x) определена и непрерывна в некотором конечном или бесконечном интервале L < x < H. В дальнейшем в некоторых случаях может понадобиться существование и непрерывность первой производной f'(x) или даже второй производной f''(x), что будет оговорено в соответствующих методах.
Будет предполагаться, что уравнение f(x) = 0 имеет лишь изолированные корни, т. е. для каждого корня уравнения f(x) = 0 существует окрестность, не содержащая других корней этого уравнения.
Приближенное нахождение изолированных действительных корней уравнения f(x) = 0 обычно складывается из 2-х этапов:
Отделение корней, т. е. установление промежутков [a, b], в которых содержится один и только один корень уравнения f(x) = 0. Для отделения корней обычно используются графо-аналитические методы.
Уточнение приближенных корней, т. е. доведение их до заданной точности. Большая часть способов уточнения приближенных корней основана на идее последовательных приближений.
Независимо от метода точность приближенного корня можно оценить двумя способами:
Пусть известны два последовательных приближения xn-1 и xn. Как только будет обнаружено, что | xn - xn-1 | < , где - заданная предельная абсолютная погрешность, то следует заканчивать построение приближений к корню.
Построение приближений к корню уравнения f(x) = 0 следует заканчивать, как только будет получено такое приближение xn, для которого | f(xn) | < .
Cпособ половинного деления
Способ половинного деления заключается в следующем. Если функция f( x ) непрерывна на [a, b] и f( a )*f( b ) < 0, то для нахождения корня уравнения делим этот отрезок пополам. Если f(( a+b )/2) = 0, то root = ( a+b )/2 является корнем уравнения.
Если f(( a+b )/2) 0, то выбираем ту половину [a, (a+b)/2] или [(a+b)/2, b], на концах которой функция f( x ) имеет противоположные знаки. Новый суженный отрезок [a , b] снова делим пополам и проводим то же рассмотрение и т. д.
Cпособ пропорциональных частей (метод хорд)
Способ пропорциональных частей заключается в следующем. Если функция f(x) непрерывна на [a, b] и f(a)*f(b) < 0, то для нахождения корня уравнения делим этот отрезок в отношении f( a ) : f( b ). Это дает нам приближенное значение корня x = a+h , где
h = -f( a )*( b-a )/[-f( a )+f( b )] = -f( a )*( b-a )/[f( b )-f( a )].
Далее, применяя этот прием к тому из отрезков [a, x] или [x, b], на концах которого функция f( x ) имеет противоположные знаки, получим второе приближение корня x и т. д.
Способ Ньютона (метод касательных)
Способ Ньютона заключается в следующем. Если f'( x ) и f''( x ) непрерывны и сохраняют определенные знаки при a <= x <= b, то многократно повторяя формулу
xn+1 = xn - f( xn )/f'( xn ),
получаем быстро сходящиеся к корню последовательные приближения xn (n=1, 2, ...). За первое приближение этого корня можно принять значение
x1 = a - f( a )/f'( a ).