Решение нелинейного уравнения.
Решить нелинейное уравнение xex2=30 четырьмя различными методами:
-методом бисекции;
-методом хорд;
-методом Ньютона;
-методом простых итераций.
Выполнить по 6 итераций каждым методом, сравнить погрешность вычислений.
Решение
Строим график функции fx=xex2-30 в MathCad:
Корень находится на отрезке a;b=3.5;4.5. На данном отрезке функция возрастает, график функции вогнутый
f'x>0, f''x>0
1) метод бисекции (половинного деления)
Шаг 1
вычисляем значение функции в середине отрезка a;b
c=b+a2
Шаг 2
Из двух отрезков a;c и c;b выбираем один, в котором произведение значений функций на концах меньше нуля
Т.е. если fa∙fc<0, то переходим к шагу 1, приняв, в качестве конца отрезка b=с, иначе в качестве начала отрезка принимаем a=c
Процесс продолжается, пока b-a>ε
В качестве ответа принимается x=b+a2
Вычисления сведём в таблицу:
n a c b fa
fc
f(b)
fa∙fc
fb∙fc
b-a
0 3,5 4 4,5 -9,85889 -0,44378 12,6948 >0 <0 1
1 4 4,25 4,5 -0,44378 5,58481 12,6948 <0 >0 0,5
2 4 4,125 4,25 -0,44378 2,44564 5,58481 <0 >0 0,25
3 4 4,0625 4,125 -0,44378 0,97092 2,44564 <0 >0 0,125
4 4 4,03125 4,0625 -0,44378 0,25621 0,97092 <0 >0 0,0625
5 4 4,01563 4,03125 -0,44378 -0,0956 0,25621 >0 <0 0,03125
6 4,015625 4,02344 4,03125
<0 >0 0,01563
На шестой итерации принимаем
x=b+a2≈4.02344
2) метод хорд
Будем искать решение на отрезке 3.5;4.5
Итерационная формула имеет вид:
xn+1=xn-f(xn)∙(xn-x0)fxn-f(x0)
x0=3.5, x1=4.5
Процесс продолжается, пока xn-xn-1>ε
. Вычисления сведём в таблицу:
n xn
fxn
xn-xn-1
0 3,5 -9,85889
1 4,5 12,69481 1
2 3,93713 -1,80861 0,56287
3 4,035337 0,348835 0,098207
4 4,017042 -0,06384 0,018294
5 4,020412 0,011799 0,00337
6 4,01979 -0,00218 0,000622
На шестой итерации получаем xn-xn-1≈0.0006
Корень
x=4.01979
3) метод Ньютона (касательных)
В качестве начального приближения выберем точку x0=4.5, поскольку выполнено условие сходимости
fx0 f''x0>0
Пока не выполнено условие остановки, в качестве которого можно взять
xn+1- xn<ε
(то есть погрешность в нужных пределах), вычисляем новое приближение:
xn+1=xn-f(xn)f'(xn)
Производную можно вычислить аналитически:
f'x=x+2ex22
Вычисления сведём в таблицу:
n xn
fx
f'x
xn+1
xn+1- xn
0 4,5 12,694811 30,835141 4,088300534 0,411699
1 4,088300534 1,5722836 23,508735 4,021419711 0,06688
2 4,021419711 0,034444 22,485839 4,019887901 0,001532
3 4,019887901 1,757E-05 22,462908 4,019887119 7,82E-07
4 4,019887119 4,565E-12 22,462896 4,019887119 2,03E-13
5 4,019887119 0 22,462896 4,019887119 0
6 4,019887119
Принимаем:
x=4.019887119
4) Метод простой итерации
Необходимо представить исходное уравнение в виде
x=φx.
В данном случае:
xex2=30
ex2=30x
φx=2ln30x
Для сходимости метода простой итерации достаточно, чтобы φ'(x)<1.
φ'x=2x
Очевидно, условие сходимости выполнено при 3.5<x<4.5.
По методу простой итерации каждое следующее приближение получается из предыдущего по формуле:
xk+1=φ(xk)
Процесс продолжается, пока q1-qxk+1-xk>ε, q=23.5=0.571-максимальное значение первой производной по модулю.
Примем x0=4
Вычисления сведём в таблицу:
k xk
φxk+1
xk+1-xk
0 4 4,029806
1 4,029806 4,014958 0,029806
2 4,014958 4,022341 0,014848
3 4,022341 4,018667 0,007383
4 4,018667 4,020494 0,003674
5 4,020494 4,019585 0,001828
6 4,019585
Принимаем:
x=4.01959
Погрешности вычислений и сравнение результатов.
Точное значение
Метод Значения Погрешность
абсолютная Погрешность
относительная
Метод
бисекции
4,02344 0,00355 0,088%
Метод хорд 4,01979 0,00010 0,0024%
Метод Ньютона 4,019887119 0 0%
Метод простых итераций 4,01959 0,00030 0,0074%
истинное
значение
(MathCad) 4,019887119
При сравнении результатов, сделанных четырьмя различными методами и эталонного результата, делаем вывод, что наилучший результат на 6-ти итерациях даёт метод Ньютона