Решение нелинейных уравнений

Краткая теория:

Под решением нелинейного уравнения 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.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: