Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 6-2.doc
Скачиваний:
55
Добавлен:
13.03.2016
Размер:
829.95 Кб
Скачать

6.4. Методы решения нелинейных уравнений Отделение корней

Дано уравнение вида . Всякое значение, обращающее в нуль функцию f(x), называется корнем функции. Из-за сложного вида функции часто возникают трудности с аналитическим решением, и в этом случае пользуются вычислительными методами для приближенного нахождения корней. Корни требуется получить с заданной наперед точностью ε.

Приближенное нахождение действительных изолированных корней проходит в два этапа: 1) отделение корней, т.е. установление как можно более тесных промежутков, на которых содержится только один корень уравнения; 2) уточнение приближенных корней с точностью ε.

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

Пусть , тогдаи.

Из построенного с помощью системы MathCAD графика видно, что имеются два корня: при и.

Для второго способа отделения корней используется следующая теорема (Больцано-Коши):

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

Рассмотрим аналитический способ отделения корней для следующего примера: . Требуется найти участки, на которых производнаясохраняет знак. Для этого необходимо вычислить корни уравнения). В промежутках между корнями знак производной сохраняется. Решая уравнение:, находим три корня:,,. Следовательно, имеются четыре интервала:,,,, на которых знак производной не меняется. Для определения промежутков, в которых содержаться корни функцииf(x) , необходимо исследовать знак функции на концах интервалов. Результат такого исследования удобно представить в таблице:

X

–

+

Sign f(x)

+

+

+

Из таблицы видно, что все четыре корня по одному находятся внутри отдельных интервалов. Промежутки отделения корней можно сузить путем подбора. При этом необходимо следить, чтобы на концах отрезка [a,b], внутри которого ищется корень, выполнялось бы неравенство f(a)f(b)<0. Так интервал , можно заменить на интервал. Заметим, что если бы функция в точке –1/5 была отрицательна, то она имела бы всего два действительных корня в интервалахи. Это означало бы, что у данной функции два других корня – комплексные.

Методы уточнения корней

Метод половинного деления (метод дихотомии) предназначен для уточнения значения корня на отрезке [a,b] с заданной точностью ε. Суть этого метода заключается в том, что сначала находится середина отрезка , затем определяется часть отрезка, [a] или [с,b], внутри которого располагается корень. Если f(a)f(с)<0 , то корень содержится внутри отрезка [a] и деление можно продолжить, приняв за правый конец точку с, выполнив присваивание b=c. В противном случае, когда f(с)f(b)<0, в точку с смещается левый конец отрезка: а=с. и т.д. Процесс половинного деления следует остановить, когда длина отрезка окажется меньше заданной точности: . Любая точка внутри такого отрезка – искомое решение.

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

Вычисления с помощью электронных таблиц можно проводить, вручную, отслеживая знак произведений f(a)f(с) и f(с)f(b). Процесс можно автоматизировать если

использовать условную функцию «ЕСЛИ». В данном примере в ячейках третьей строки таблицы записаны следующие формулы:

A

B

C

D

=ЕСЛИ(D2=D3;A2;C2)

=ЕСЛИ(E2=E3;B2;C2)

=(A3+B3)/2

=ЕСЛИ(D2*F2<0;D2;F2)

E

F

G

=ЕСЛИ(E2*F2<0;E2;F2)

=5/4*C3^4+1/3*C3^3-5*C3^2-2*C3+1

=ABS(A3-B3)

нижние строки заполняются с помощью копирования.

Вычисления с помощью MathCAD удобнее производить, используя программирование. Слева приведен пример такой программы.

Методы Ньютона (касательных) и хорд

Для численного решения уравнения методами Ньютона и хорд необходимо, чтобы первая и вторая производные функцииf(x) были непрерывны и сохраняли знак на отрезке [a,b], в котором заключен единственный корень . Из условия постоянства знака первой производной следует единственность корня при на заданном отрезке, а из условия постоянства знака второй производной следует, что выпуклость функции не меняется на вогнутость и наоборот.

Метод Ньютона (метод касательных). Имеется некоторое приближение xn точного значения корня . Тогда можно записать , где добавкуhn считаем малой величиной. Используя разложение функции f(x) в ряд Тейлора около xn до слагаемых первого порядка и приравнивая его к нулю, имеем: . Откуда.

Так как добавка найдена приближенно, то можно сказать, что вычислено новое приближениеxn+1 . Таким образом, получена итерационная формула для

В качестве нулевого приближения x0 выбирается тот конец отрезка [a,b], который удовлетворяет соотношению .

В общем случае, для оценки точности методом Ньютона недостаточно выполнения условия , однако оно становится применимым с ростомn (при ). Оценить точность можно, пользуясь общей формулой, где– наименьшее значениена отрезке [a,b].

Метод хорд. В методе хорд, в отличие от метода половинного деления, отрезок делится не пополам, а, что более естественно, пропорционально отношению .Если для определенности принять , , а за х точку, в которой производится деление отрезка, то . После преобразований получается: .После деления необходимо сдвинуть один из концов отрезка, так, чтобы корень оказался внутри нового отрезка. Неподвижным выбирается тот конец отрезка [a,b], который удовлетворяет соотношению , где или. В итоге итерационная формула для метода хорд принимает вид:

при ,

при .

Итерации можно продолжать до тех пока , это автоматически означает, что.

Ниже представлены примеры уточнения корня уравнения , определенного при , .

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

n

-/

0

-11

3453

-5183

0,666216

1

-10,3338

308,0859

-4277,06

0,072032

2

-10,2618

3,293492

-4185,82

0,000787

3

-10,261

0,000389

Погрешность можно оценить из соотношения . Так как и на отрезке она монотонна, то.

В итоге погрешность уточненного корня не превышает величины .

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

N

0

-10

-1050

-11

3453

0,766822

1

-10,2332

-115,797

0,741941

2

-10,2581

-12,1529

0,739339

3

-10,2607

-1,26871

0,739067

4

-10,2609

-0,13238

0,739039

5

-10,261

-0,01381

0,739036

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

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

Теорема о сходимости метода итерации.

Пусть определена и дифференцируема на отрезке [a,b], тогда, если существует число q такое, что прито:

1) Процесс итерации сходится независимо от начального значения.

2) Предельное значение является единственным корнем уравненияна отрезке [a,b].

При оценке достижения точности ε используется условие: , гдена отрезке [a,b]. В частности, при это условие можно заменить на более сильное неравенство.

Для того, чтобы процесс сходился, можно искать из соотношения, где.k имеет тот же знак, что и .

Производная . Очевидно, что, так как отношениеможет принимать значения в диапазоне от нуля до двух.

Решение уравнений с помощью стандартных функций MathCAD

Кроме уже рассмотренной в начале раздела функции solve, решение уравнения можно получить с помощью функции root. Если исследуемая функция является полиномом, то все ее корни можно найти с помощью функции polyroots.

Функция root может иметь два аргумента: root(f(x),x) или четыре аргумента: root(f(x),x, а,b). При использовании двух аргументов указывается сама функция f(x) и переменная x, относительно которой решается уравнение. Функция может иметь несколько корней, поэтому в случае использования двух аргументов необходимо указывать начальное (приближенное) значение. Когда используются четыре аргумента, два дополнительных a и b определяют интервал, внутри которого находится корень. В последнем случае не требуется знать начального значения x, однако корень внутри заданного отрезка должен быть единственным, а значения f(а) и f(b) должны быть разных знаков. Ниже приведен пример вычисления корня ранее исследованной функции.

При использовании функции polyroots для полинома n-ой степени в качестве аргумента используется вектор с числом элементов n+1. Первым записывается свободный член полинома, вторым коэффициент при x1 и т.д.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]