Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 2012-2003.doc
Скачиваний:
13
Добавлен:
23.11.2019
Размер:
5.1 Mб
Скачать

Приближенное решение уравнений

Решение уравнения численными методами состоит из двух этапов: отделение корней, т.е. нахождение таких отрезков [a, b] на оси OX, внутри которых имеется один корень; вычисление корней с заданной точностью.

Одним из способов отделения корней является графический способ. Рассмотрим его на примере.

П усть требуется отделить корни уравнения 3 – x – ln(x) = 0. Перепишем исходное уравнение в виде 3 – x = ln(x) и построим графики функций y = 3 – x и y = ln(x). Из чертежа видно, что графики пересекаются в единственной точке, абсцисса которой находится внутри отрезка [1, 3]. Знаки функции на концах отрезка разные: f(1) = 3 – 1 – ln(1) >0, f(3) = 3 – 3 – ln(3) < 0. Значит, данное уравнение имеет один действительный корень, лежащий внутри отрезка [1, 3], т. е. a = 1, b = 3.

Можно также отделить корни, построив график функции f(x) в приложении Mathcad или в приложении Excel.

После того, как определен отрезок (или отрезки), внутри которого имеется один корень, можно вычислить его с заданной точностью одним из методов.

При использовании метода касательных для вычисления корня уравнения f(x) = 0 необходимо определить начальное приближение корня x0: x0 = a, если знаки f(a) и f(a) совпадают, и x0 = b, если знаки f(b) и f(b) совпадают. Последовательные приближения корня рассчитываются по формуле

xn+1 = xn , n = 0, 1 ,2, …

Вычисления продолжаются до тех пор, пока не будет выполнено условие xn+1xn<= e, где e – требуемая точность вычисления корня.

Например, пусть нужно найти корень уравнения 3 – x – ln(x) = 0. Выше графическим методом был определен отрезок [1; 3], внутри которого имеется один корень. Определим, чему равно начальное значение корня: x0 = 1, если знаки f(1) и f(1) совпадают, и x0 = 3, если знаки f(3) и f(3) совпадают.

f(x) = 3 – xln(x), f(x) = – 1 – 1 / x, f(x) = 1 / x.Поскольку f(1) > 0 и f(1) > 0, то x0 = 1.

Значит x1 =1 =1

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

Алгоритм метода касательных

1. Ввод значений a,b,e.

2. Вычисление начального приближения корня xn1 = a, если f(a)f(a)>0 или xn1 = b в противном случае.

3. Вычисление xn= xn1.

4. Определение очередного приближения корня по формуле

xn1 = xn

5. Если xn1xn>e, то переход к пункту 3, в противном случае – переход к пункту 6.

6. Вывод значения корня xn1.

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

Алгоритм метода дихотомии

1. Ввод значений a,b,e.

2. Вычислениеx = (a + b)/2.

3. Еслиf(x)f(a)<= 0,тоb = x, иначе– a = x.

4. Если ab> 2e, то переход к пункту 2, иначе – переход к следующему пункту.

5. Вывод значения корня x.

Решение уравнений в приложении Excel. В приложении Excel можно составить программы по алгоритмам, приведенным выше, на языке VBA и произвести нужные вычисления.

Рассмотрим программы вычисления корня уравнения 3 – x –l n(x) = 0. В этих программах исходные данные вводятся с клавиатуры. Значение a = 1, b = 3, точность можно взять, например e = 0,001.

Метод касательных

Метод дихотомии

Sub CommandButton1_Click()

a = Val(InputBox(“Введите a”))

b = Val(InputBox(“Введите b”))

e = Val(InputBox(“Введите значение точности”))

If (3 – a – Log(a)) * (1 / a ^ 2)>0 Then x1 = a Else x1 = b

Do

x = x1

x1 = x – (3 – x – Log(x) / (– 1 – 1 / x)

Loop While Abs(x – x1) > e

MsgBox "Корень=" & x1

End Sub

Sub CommandButton1_Click()

a = Val(InputBox(“Введите a”))

b = Val(InputBox(“Введите b”))

e = Val(InputBox(“Введите значение точности”))

Do

x = (a + b) / 2

If (3 – x – Log(x)) * (3 – a – Log(a)) < =0 Then b = x Else a = x

Loop While Abs(a-b) > 2 * e

MsgBox "Корень=" & x

End Sub

В приложении Excel для решения уравнения имеется команда Подбор параметра. Чтобы решить уравнение с помощью этой команды, надо на рабочем листе, например в ячейке А1 записать начальное приближение корня, в ячейке В1 − само уравнение:

= 3 – А1 – Log(A1)

Выполнить Данные / Анализ / Подбор параметра. В появившемся окне задать следующие значения: в поле Установить в ячейке выбрать В1, в поле Значение ввести 0, в поле Изменяя значение ячейкиА1. После нажатия ОK в ячейке А1 будет корень уравнения.

Решение уравнений в приложении Mathcad. Решить уравнение с помощью Mathcad можно разными способами. Рассмотрим использование встроенной функции root. Следует задать начальное приближение корня и записать само уравнение:

x:= 1

f(x):= 3 – x – ln(x)

Для получения корня надо использовать встроенную функцию:

root(f(x), x) =

Назад