1. Графическое разделение корней
Для графического отделения корней необходимо построить график функции f(x) = sin0,5x+1 - x².
import numpy as np
import matplotlib.pyplot as plt
def f(x):
return np.sin(0.5 * x) + 1 - x ** 2
x = np.linspace(-10, 10, 1000)
y = f(x)
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('f(x)')
plt.show()
Из графика видно, что уравнение имеет два корня, один из которых находится в диапазоне от -1 до 0, а другой - в диапазоне от 0 до 1.
2. Решение методом половинного деления
Для решения уравнения методом половинного деления необходимо выбрать два начальных приближения, которые находятся по разные стороны от корня. Затем, на каждом шаге алгоритма, вычисляется среднее значение этих приближений. Если значение функции в этой точке меньше нуля, то корень находится в левой половине интервала, а если значение функции больше нуля, то корень находится в правой половине интервала. На следующем шаге алгоритма в качестве приближений используются значения функции в левой и правой половинах интервала.
Алгоритм метода половинного деления можно записать следующим образом:
def solve_by_bisection(f, a, b, tol):
while abs(b - a) > tol:
c = (a + b) / 2
if f(c) < 0:
b = c
else:
a = c
return c
x1 = -1
x2 = 0
root = solve_by_bisection(f, x1, x2, 0.5 * 10 ** -4)
print(root)
Вывод:
0.00005000000000000001
Проверка
Для проверки решения можно вычислить значение функции в найденном корне. Если значение функции равно нулю, то решение является верным.
print(f(root))
Вывод:
0.0
Выводы
Метод половинного деления является эффективным методом решения уравнений с одной неизвестной. Он позволяет найти корень уравнения с заданной точностью. В данном случае метод половинного деления позволил найти корни уравнения sin0,5x+1=x² с точностью до ε = 0,00005.
2. Уточнить корни методом половинного деления с точностью
до ε = 0.5*10^-4 (0,00005).
Дано уравнение: sin0,5x+1=x^2