Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа № 4.doc
Скачиваний:
2
Добавлен:
05.05.2019
Размер:
538.11 Кб
Скачать

Лабораторная работа № 4. Численное решение нелинейных уравнений

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

Задание:

1. Выполнить схематическое построение графика функции y = f(x), где f(x)= x3+ax2+bx+c на отрезке [АВ], коэффициенты a, b, c и значения А и В задаются, количество знаков после запятой задается и может варьироваться. Значения коэффициентов уравнения для тестовых примеров можно взять из таблицы 4.1, в качестве заданного отрезка рассмотрев [–10, 10].

2. Используя теорему Штурма, определить число корней уравнения f(x)=0, задав концы отрезка, где по виду графика функции нет кратных корней. Коэффициенты многочленов в ряде Штурма могут быть вычислены вручную и выражаться по формулам через a, b, c. На оценку «10» требуется создать процедуру деления многочленов для вычисления коэффициентов многочленов в ряде Штурма для кубического случая, задавая множество коэффициентов многочленов одномерными массивами.

3. Отделить корни уравнения f(x)=0, задав концы каждого отрезка, где имеется единственный корень, по виду графика функции на отрезке [АВ].

4. Вычислить приближенно с заданной точностью , которая может варьироваться, все корни уравнения f(x)=0, если это возможно, на отрезке [АВ] одним из следующих методов на выбор.

1) На оценки «9» и «10» – методом простых итераций. Для этого уравнение x3+ax2+bx+c = 0 нужно привести к виду x=j(x) так, чтобы выполнялось достаточное условие сходимости метода – выполнялось неравенство (4.1) на отрезке, содержащем единственный корень уравнения, и все приближения корня попадали в этот отрезок, что нужно проверять на каждой итерации. Выполнение неравенства (4.1) можно проверить приближенно, пройдя отрезок с достаточно малым шагом и проверив его выполнение в полученных точках, предварительно вычислив производную j/(x) по формуле, тем самым будет найдена приближенно и константа q как максимальное из вычисленных значений модулей j/(x) в данных точках. При поиске функции j(x) ограничимся следующими двумя случаями: а) j(x) = = (–x3 ax2 c)/b при b  0; б) j(x) = x+f(x), где – подбираемая константа, в частности 1. Задается начальное приближение x0. В качестве приближенного значения x* с точностью берется значение xn, для которого выполняется неравенство , согласно (4.2). Выводится значение xn и количество итераций n, необходимых для достижения заданной точности. Если достаточные условия сходимости j(x) не выполнены, можно все равно производить вычисления, пока количество итераций для достижения заданной точности не превзойдет заданного большого числа, и только в этом случае заменить функцию j(x).

2) Методом хорд на тех отрезках, содержащих единственный корень, где значения функции f(x) противоположны по знаку на концах отрезков и функция выпукла вниз, т.е. //(x) > 0, либо выпукла вверх, т.е. //(x) < 0. Последние условия проверяются с помощью вычисления производной 2-го порядка по формуле для функции f(x)= x3+ax2+bx+c в точках отрезка, проходимых с достаточно малым шагом, величина которого задается. Если вышеперечисленные условия выполняются, то в случае для построения рекуррентной последовательности применяются формулы (4.3), а в случае применяются формулы (4.4). В качестве приближенного значения x* с точностью выводится значение xn, для которого выполняется неравенство (4.5), и количество итераций n, необходимых для достижения заданной точности.

5. Вычислить приближенно с заданной точностью все корни уравнения f(x)=0 на отрезке [АВ] методом Ньютона. Предварительно проверить на каждом из отрезков, где находится единственный корень, выполнение достаточных условий. Проверить выполнение неравенства (4.7) в точках отрезка, проходимых с достаточно малым заданным шагом, вычислив /(x) и //(x) по формулам для функции f(x)= x3+ax2+bx+c. В случае выполнения (4.7) может быть взято произвольное начальное приближение x0 из отрезка. В случае невыполнения (4.7) задать концы отрезка ближе к корню с учетом графика. На оценки «8»–«10» проверить также выполнение условий сохранения знака /(x) и //(x), вычисляя значения в точках отрезка из окрестности корня, проходимых с достаточно малым заданным шагом, тогда в качестве начального приближения нужно взять x0 с условием , но если выполняются условия (4.8), то может быть взято произвольное начальное приближение x0 из отрезка. По возможности, желательно брать то же начальное приближение, что и в методе из пункта 4, в частности начальную или конечную точку отрезка. В качестве приближенного значения x* с точностью выводится значение xn, для которого выполняется неравенство , и количество итераций n, необходимых для достижения заданной точности.

6. Провести анализ полученных результатов. Сделать выводы о сравнении результатов: количество корней уравнения на отрезке, полученное графическим методом и с помощью теоремы Штурма, приближенные значения корней уравнения, полученные различными методами из пунктов 4 и 5, количество итераций, необходимое для получения одного и того же корня с заданной точностью различными методами, зависимость от заданной точности вычислений и от выбора начального приближения.

Таблица 4.1

a

b

c

№ варианта

-14,4621

60,6959

-70,9238

1

-10,2374

-91,2105

492,560

2

-19,7997

28,9378

562,833

3

-5,5796

-193,022

-633,105

4

9,57496

-243,672

773,65

5

20,2374

-131,210

-843,923

6

38,4621

364,594

914,196

7

-13,3667

39,8645

-20,6282

8

2,65804

-28,0640

21,9032

9

-6,4951

-31,2543

23,1782

10

9,9296

17,8390

-24,4532

11

6,0951

-35,3942

-25,7283

12