Решение алгебраических и трансцендентных уравнений

Составитель: Панкратов Ю.M.

Санкт-Петербург

Лабораторная работа №3

Целью работы является знание приемов отделения корней и численных методов приближенного решения алгебраических и трансцендентных уравнений.

1. Теоретические сведения

1.1. Отделение корней

Отыскание приближенных значений корней уравнений состоит из двух этапов – отделение корней и их уточнение с заданной степенью точности. Отделение корней представляет процедуру по разбиению всей области числовой оси на интервалы, в каждом из которых содержится один корень, и ее можно выполнить двумя способами – графическим и аналитическим. При графическом методе строят график функции, который позволяет легко находить отрезки, заключающие в себе только один корень. При аналитическом методе корни уравнения f(x)=0 можно отделить, используя следующую теорему:

Если функция f(x) непрерывна на отрезке [a,b] и принимает на концах отрезка значения разных знаков, а производная f’(x) сохраняет постоянный знак внутри отрезка, то внутри отрезка существует корень уравнения f(x)=0 и при том единственный.

Поскольку MathCAD позволяет достаточно просто построить график любой функции, то воспользуемся графическим методом, учитывая утверждения этой теоремы. Тогда отделение корней можно выполнить в следующем порядке:

1. Построить график функции f(x) в интервале, охватывающем все корни уравнения. Если этот интервал очень большой, то можно построить несколько графиков для каждого корня в увеличенном масштабе.

2. Под этим графиком в том же масштабе по оси абсцисс построить график первой производной f’(x).

3. Проанализировав эти графики с учетом вышеизложенной теоремы, уже можно, хотя и довольно грубо, указать границы интервалов [ai ,bi] для каждого i-го корня.

4. Более наглядно и точнее эту задачу можно решить, если построить еще один совмещенный график сигналов функции f(x) и ее первой производной f’(x). Например, сигнал значений функции f(x) принять равным 1.5, сигнал значений первой производной f’(x) принять равным 1 (чтобы не сливались при совпадении). Функции этих сигналов можно вычислить как

sf(x):=1.5 sign(f(x) - для функции f(x);

sf1(x):= sign(f1(x) - для первой производной f’(x), где f1(x) - первая производная f’(x).

При выборе границ интервалов [ai ,bi] для каждого корня надо учитывать, что они не должны совпадать или даже близко приближаться к точкам экстремумов функции f(x) или, что то же самое, к значениям x , при которых f’(x)=0. В этих областях для некоторых методов уточнения корней сходимость итерационных процессов в выбранном интервале [ai ,bi] не гарантирована.

1.2. Уточнение корней

В работе рассматриваются только четыре метода уточнения корней. Считаем, что абсциссы xa и xb границ интервала [ai ,bi] , содержащего единственный корень, известны.

Решение алгебраических и трансцендентных уравнений - student2.ru 1.2.1. Метод половинного деления

Алгоритм метода:

1. Вычисляют абсциссу xc средней точки, делящей отрезок [ai ,bi] пополам (Рис.1.) xc = (xa+xb)/2 ;

2. Вычисляют значение функции f(xc) в средней точке;

3. Решение алгебраических и трансцендентных уравнений - student2.ru Если f(xc)× f(xb) > 0 , то отрезок [xc , xb] можно отбросить, как не содержащий корня, выполнив присвоение xb= xc (на рис.1 функция для этого случая показана сплошной линией). Таким образом, правая граница будет смещена влево на половину интервала. В противном случае отбрасывают отрезок [xa , xc] с помощью присвоения xa= xc (на рис.1 функция для этого случая показана штриховой линией).

4. Если |xb - xa| > e , то цикл повторяют, начиная с п.1, в противном случае считают, что найденное значение и есть корень уравнения этого интервала, вычисленный с точностью e.

Достоинства метода: простота алгоритма, высокая надежность отыскания корня. Недостаток – большое количество шагов итераций.

1.2.2. Метод хорд

Алгоритм метода:

1. Одну из граничных точек принимают за неподвижную точку xc . Обычно это точка, в которой знак функции совпадает со знаком второй производной, т.е. f(xc)× f’’(xc) > 0. Тогда вторую граничную точку принимают за начальное приближение x0 (Рис.2.) ;

2. Каждое следующее значение абсциссы xi+1 вычисляют как точку пересечения хорды, соединяющей неподвижную точку xc и крайнюю текущую точку кривой xi , с осью абсцисс по формуле: Решение алгебраических и трансцендентных уравнений - student2.ru

3. Если |xi+1 – xi | > e , то цикл повторяют, начиная с п.2, в противном случае считают, что найденное значение и есть корень уравнения этого интервала, вычисленный с точностью e.

Метод обладает теми же достоинствами и недостатками, как и предыдущий.

Решение алгебраических и трансцендентных уравнений - student2.ru 1.2.3. Метод касательных (метод Ньютона)

Алгоритм метода:

1. За начальное приближение x0 принимают граничную точку, в которой знак функции совпадает со знаком второй производной, т.е. f(x0)×f’’(x0)> 0 (Рис.3.) ;

2. Каждое следующее значение абсциссы xi+1 вычисляют как точку пересечения касательной, проведенной в текущей точкой кривой xi , с осью абсцисс по формуле: Решение алгебраических и трансцендентных уравнений - student2.ru

3. Если |xi+1 – xi | > e , то цикл повторяют, начиная с п.2, в противном случае считают, что найденное значение и есть корень уравнения этого интервала, вычисленный с точностью e.

Достоинства метода: простота алгоритма, высокая скорость сходимости. Недостатки: необходимость отыскания первой производной в аналитической форме, ненадежность отыскания корня в указанном диапазоне. На рис.3 показано, что в случае проведения касательной в точке b , она может пересечься с осью x в точке c, лежащей за пределами выбранного интервала [a,b], и корень может быть найден совсем в другом интервале.

Решение алгебраических и трансцендентных уравнений - student2.ru 1.2.4. Метод итераций

Алгоритм метода:

1. Исходное уравнение f(x)=0 преобразуют к виду: x=F(x) (1)

2. Левая часть этого уравнения представляет уравнение прямой линии, проходящей через начало координат под углом в 45° к оси x. Абсцисса пересечения этой прямой с функцией F(x)и представляет корень уравнения f(x)=0(Рис.4.).

3. Задают начальное приближение x0 и вычисляют значение функции F(x0) (см.рис.4а). Из (1) следует, что его можно принять за первое приближение x1 : x1=F(x0).

4. Вычислив функцию F(x1) , принимают это значение за второе приближение x2=F(x1) и так далее. В общем случае для (i+1)-й итерации можно записать:

xi+1=F(xi ). (2)

5. Итерации повторяют, пока выполняется условие |xi+1 – xi | > e .

Геометрическая интерпретация метода показана на рис.4, причем на рис.4а) и 4б) процесс сходится к корню уравнения f(x)=0, а на рис.4в) и 4г) – расходится, хотя начальное приближение x0 и выбрано для них ближе к корню. Из рис.4а) можно заметить, что угол наклона касательной к любой точке кривой y=F(x) не превышает 45° к оси x , т.е. F’(x)<1 . Из рис.4б) следует, что для этого случая F’(x)>-1. На рис.4в) и 4г) это условие не соблюдается и итерационный процесс на них расходится от корня уравнения. Отсюда следует, что для обеспечения сходимости итерационного процесса должно соблюдаться условие:

|F’(x)|<1 (3)

Для обеспечения сходимости процесса любых функций, можно воспользоваться одним из следующих вариантов:

Вариант 1.

· Исходное уравнение f(x)=0 умножают на постоянный коэффициент C: C×f(x)=0 (4)

· Прибавляют к обеим частям аргумент x: x=x+C×f(x) (5)

· Из (3) следует, что для обеспечения сходимости процесса должно быть выполнено условие:

|[ x+C×f(x)]’|<1, или после преобразования

|1+C×f’(x)|<1. (6)

· Поскольку левая часть неравенства является модулем, то возможны два решения:

1-е решение: 1+C×f’(x)<1, или C×f’(x)<0; 2-е решение: -1-C×f’(x)<1, или C×f’(x)>-2.

Оба этих решения можно записать как: -2<C×f’(x)<0.

· Отсюда отыскивают границы диапазона значений C, при которых сходимость процесса будет обеспечена. В зависимости от знака f’(x) левую и правую границу диапазона коэффициента C вычисляют из следующих неравенств:

при f’(x)>0 Решение алгебраических и трансцендентных уравнений - student2.ru при f’(x)<0 Решение алгебраических и трансцендентных уравнений - student2.ru (7)

· Поскольку при поиске корня известны только абсциссы интервала [ai ,bi] , в котором находится корень, то необходимо вычислить границы диапазона C при значениях xa и xb и принять C как среднее арифметическое между ними.

Вариант 2.

· Из рис.4а) и 4б) следует, что наибольшая скорость сходимости итерационного процесса будет при горизонтальном расположении кривой функции y=F(x), т.е. когда ее первая производная будет равна нулю. Тогда неравенство (6) можно записать в виде равенства 1+C×f’(x)=0 , откуда Решение алгебраических и трансцендентных уравнений - student2.ru (8)

· В этом варианте также необходимо найти C для граничных точек интервала [ai ,bi], но уже по формуле (8):

Решение алгебраических и трансцендентных уравнений - student2.ru Решение алгебраических и трансцендентных уравнений - student2.ru (9)

· Окончательное значение C для всего интервала можно принять как среднее арифметическое

C=(Ca+Cb) /2. (10)

Интересно отметить, что подстановка формулы (8) в (5) приводит к формуле Ньютона.

Для обоих вариантов начальное приближение можно принимать как x0=(xa+xb) /2.

Метод обладает теми же достоинствами и недостатками, что и предыдущий, к тому же добавляется необходимость вычислять коэффициент C.

1.3. Использование встроенных функций

Для проверки выполненных решений можно воспользоваться встроенной функцией root, которая в MathCAD’е 2001 имеет уже две формы:

· root(f(x),x)

· root(f(x),x,a,b)

где f(x) - скалярная функция вида f(x)=0;

x - скалярная переменная, относительно которой решается уравнение;

a,b - границы интервала, внутри которого отыскивается корень.

Первая форма требует предварительного присвоения переменной x начального значения, вблизи которого будет производиться поиск корня методом секущих, не рассматриваемом в этой работе. Для второй формы, использующей методы Риддера или Брента, достаточно указания интервала [a,b], внутри которого заведомо находится корень.

Точность вычисления функцией root определяется системной переменной TOL , которая по умолчанию равна 0.001. Ее можно изменить на вкладке Математика/Параметры…/Переменные.

Решение алгебраических и трансцендентных уравнений - student2.ru
2. Задание

Задание состоит из функции f(x)=0, для которой требуется отыскать все корни с точностью e=0.001.

Варианты задания:

Функция f(x)=0 Функция f(x)=0 Функция f(x)=0 Функция f(x)=0
1. 0.5x+2sin(x)-2=0 9. 0.01x3+cos(x)-0.2=0 17. 15cos(x-0.1)+0.4x3=0 25. x4+(10-x)3+x-600=0
2. x3+(8-x)2-60=0 10. 3cos(x-0.5)+0.4x2=0 18. sin(x)+0.2x2=0 26. sin(x)+cos(2x)+0.8x-3=0
3. 0.2x2+3sin(x)+1=0 11. 0.01x4-2(x-5)2-25x=0 19. (12-sin(x))2-x2-134=0 27. 0.04x3+2(x-4)2-2x-5=0
4. x3-15(x-5)+1=0 12. 5(x-4)4+10(x-5)3+x2=0 20. x4-x3+x2-5=0 28. 4sin(x)-x2+0.2=0
5. 20cos(x)+x3-10=0 13. sin(x2)+5(x+8)-2=0 21. x4+x3-x2-5=0 29. sin(x2)+x+2=0
6. 20cos2(x)+x3-10=0 14. 8sin(x)+2x2-4=0 22. 8cos(x)+x2-4=0 30. 24cos(x-1)+sin(x)+10x-25=0
7. 2cos(x-5)+(x-8)2-2=0 15. 40cos(x-5)+(x-8)3-2=0 23. 5cos(x)+(x-4)2-3=0 31. 10cos(x)+5sin(x)+4x-10=0
8. 10sin(x)+4x-15=0 16. 2sin(x)-x+0.2=0 24. 5cos(x)+(x-8)2-7=0 32. 8cos(x2)+(x-2)3+5x-3=0

Отчет по работе должен включать:

2.1. Отделение корней, для чего необходимо построить графики функции f(x) , ее первой производной f’(x) и график сигналов.

2.2. Уточнение корней методами половинного деления, хорд, касательных и итераций.

2.3. Проверку результатов с помощью встроенной функции root.

2.4. Выводы

3. Пример выполнения задания

Решение алгебраических и трансцендентных уравнений - student2.ru

Решение алгебраических и трансцендентных уравнений - student2.ru

4. Литература

1. Бахвалов Н.С. Численные методы. – М., Наука,1975. –632 c.

2. Крылов В.И., Бобков В.В., Монастырный П.И. Вычислительные методы. – М., Наука,1976. –304 с.

3. Волков Е.А. Численные методы : Учебное пособие для вузов. – 2-е изд. – М., Наука, 1987.

4. Копченова Н.В., Марон И.А. Вычислительная математика в примерах и задачах. – М., Наука,1972.

5. Турчак Л.И., Плотников П.В. Основы численных методов: Учеб. пособие.– 2-ое изд., перераб. и доп. -М.: ФИЗМАТЛИТ, 2002. –304 c.

6. Исаков В.Н. Элементы численных методов. – М., Издательский центр «Академия»,2003. –192 c.

Наши рекомендации