Краткая теория:
Под решением нелинейного уравнения f(x)=0 понимают нахождение корней этого уравнения.
Одним из основных методомрешения нелинейных уравнений является метод бисекции или метод деления отрезка пополам. Выбирается отрезок [a,b], на концах которого функция имеет разные знаки, следовательно, корень находится внутри этого отрезка. Этот отрезок делится пополам и вновь выбирается отрезок, на концах которого функция имеет разные знаки и т.д. Таким образом, после n итераций имеем отрезок локализации [an,bn] длина которого в 2n раз меньше первоначального отрезка [a,b]. В качестве приближения корня принимаем середину полученного отрезка xn=(bn+an)/2. Итерационный процесс продолжаем до тех пор, пока не будет выполнено условие:
bn – an < 2e,
где e ¾ заданная точность.
Решение задачи:
Методом деления отрезка пополам найти хотя бы один корень уравнения с точностью 10-3: 2*sin(2*x)+x=10
Решение:
Требуется привести уравнение к виду, где в правой части уравнения находится 0, т.е.:
2*sin(2*x)+x-10=0
Требуется найти отрезок [a;b], где функция f(x)=2*sin(2*x)+x-10 меняет знак.
Рассмотрев отрезок [0;10] (2*sin(2*0)+0-10=-10 и 2*sin(2*10)+10-10=1,825):
f(0)<0; f(10)>0, делается вывод, что решение уравнения находится на этом отрезке.
За текущее решение принимается середина отрезка: х=5.
Вычисление значения функции в середине отрезка [0;10]:
f(5)=2*sin(2*5)+5-10=-6,088
f(0)<0; f(5)<0; f(10)>0, - функция меняет знак на отрезке [5;10].
За текущее решение принимается середина отрезка: х=5+(10-5)/2=7,5.
Вычисление значения функции в середине отрезка:
f(7.5)=2*sin(2*7.5)+7.5-10=-1,199
Условием завершения итерационного процесса считается выполнение следующего:
bk – ak < 2*e, т.е.
10 - 5> 2*10-3 – требуется продолжить вычисления
f(5)<0; f(7,5)<0; f(10)>0, - функция меняет знак на отрезке [7,5;10].
За текущее решение принимается середина отрезка: х=7,5+(10- 7,5 )/2=8,75.
Вычисление значения функции в середине отрезка:
f(8.75)=2*sin(2*8.75)+8.75-10=-3,201
10 – 7,5 >2* 10-3 – требуется продолжить вычисления
f(7,5)<0; f(8,75)<0; f(10)>0, - функция меняет знак на отрезке [8,75;10].
За текущее решение принимается середина отрезка: х=8,75+(10-8, 7 5 )/2=9,375.
Вычисление значения функции в середине отрезка:
f(9.375)=2*sin(2*9.375)+9.375-10=-0,824
10 – 8,75 > 2*10-3 – требуется продолжить вычисления
f(8,75)<0; f(9,375)<0; f(10)>0, - функция меняет знак на отрезке [9,375;10].
За текущее решение принимается середина отрезка: х=9,375+(10-9,37 5 )/2=9,6875.
Вычисление значения функции в середине отрезка:
f(9.6875)=2*sin(2*9.6875)+9.6875-10=0,691
10 – 9,375 > 2*10-3 – требуется продолжить вычисления
f(9,375)<0; f(9,6875)>0; f(10)>0, - функция меняет знак на отрезке [9,375;9,6875].
За текущее решение принимается середина отрезка:
х=9,375+(9,6875-9,37 5 )/2=9,53125.
Вычисление значения функции в середине отрезка:
f(9.53125)=2*sin(2*9.53125)+9.53125-10=0,046
9,6875 - 9,375 > 2*10-3 – требуется продолжить вычисления
f(9,375)<0; f(9,53125)>0; f(9,6875)>0, - функция меняет знак на отрезке [9,375;9,53125].
За текущее решение принимается середина отрезка:
х=9,375+(9,53125-9,37 5 )/2=9,453125.
Вычисление значения функции в середине отрезка:
f(9.453125)=2*sin(2*9.453125)+9.453125-10=-0,433
9,53125 – 9,375 > 2*10-3 – требуется продолжить вычисления
f(9,375)<0; f(9,453125)<0; f(9,53125)>0, - функция меняет знак на отрезке [9,453125;9,53125].
За текущее решение принимается середина отрезка:
х=9,453125+(9,53125-9,423125)/2=9,4921775.
Вычисление значения функции в середине отрезка:
f(9.4921775)=2*sin(2*9.4921775)+ 9.4921775-10=-0,239
9,53125 – 9,453125 > 2*10-3 – требуется продолжить вычисления
f( 9,453125 )<0; f(9.4921775)<0; f(9,53125)>0, - функция меняет знак на отрезке [9.4921775;9,53125].
За текущее решение принимается середина отрезка:
х=9.4921775+(9,53125-9.4921775)/2=9,51171375.
Вычисление значения функции в середине отрезка:
f(9,51171375)=2*sin(2*9,51171375)+ 9,51171375-10=-0,142
9,53125 - 9.4921775 > 2*10-3 – требуется продолжить вычисления
f(9.4921775)<0; f(9,51171375)<0; f(9,53125)>0, - функция меняет знак на отрезке [ 9,51171375; 9,53125].
За текущее решение принимается середина отрезка:
х=9,51171375+(9,53125-9,51171375)/2=9,521481875.
Вычисление значения функции в середине отрезка:
f(9,521481875)=2*sin(2*9,521481875)+ 9,521481875-10=-0,094
9,53125 – 9,51171375> 2*10-3 – требуется продолжить вычисления
f(9,51171375)<0; f(9,521481875)<0; f(9,53125)>0, - функция меняет знак на отрезке [ 9,521481875; 9,53125].
За текущее решение принимается середина отрезка:
х=9,521481875+(9,53125-9,521481875)/2=9,5263659375.
Вычисление значения функции в середине отрезка:
f(9,5263659375)=2*sin(2*9,5263659375)+ 9,5263659375-10=-0,070
9,53125 – 9,521481875 > 2*10-3 – требуется продолжить вычисления
f(9,521481875)<0; f(9,5263659375)<0; f(9,53125)>0, - функция меняет знак на отрезке [ 9,5263659375; 9,53125].
За текущее решение принимается середина отрезка:
х=9,5263659375+(9,53125-9,5263659375)/2=9,52880796875.
Вычисление значения функции в середине отрезка:
f(9,52880796875)=2*sin(9,52880796875)+ 9,52880796875-10=-0,058
9,53125 – 9,52880796875 < 2*10-3 – Требуемая точность достигнута.
Решение уравнение принимается равным х= 9,52880796875.