Определение корня одномерного уравнения методами касательных и секущих — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Определение корня одномерного уравнения методами касательных и секущих

2017-12-10 362
Определение корня одномерного уравнения методами касательных и секущих 0.00 из 5.00 0 оценок
Заказать работу

Для определения корней одномерных уравнений наряду с методами табуляции, дихотомии широко используются методы секущих, касательных. Методы касательных и секущих основаны на одних и тех же принципах, но метод касательных можно использовать только в случае, когда удается аналитически рассчитать производную функции.

Рассмотрим метод касательных.

Для любой функции f(x) в окрестности точки справедливо разложение в ряд:

. (1)

Правая часть уравнения (1) представляет собой уравнение прямой, касательной к функции f(x) в точке (см. рис. 1):

. (2)

Корень уравнения (2) – соответствует точке пересечения линии касательной к функции f(x) и оси OX, эту точку в первом приближении можно считать равным корню функции f(x).

,

(3)

Если построить касательную прямую к функции f(x) в точке , тогда точка пересечения этой касательной и оси OX будет вторым приближением к корню функции f(x). Таким образом, приближенное значение корня функции на шаге n определяется через предыдущее приближенное значение шага n-1 по формуле:

(4)

Формула (4) является расчетной формулой метода касательных.

Из формулы (4) вытекает, что значение производной функции f(x) на всем интервале поиска корня не должно быть равным нулю, соответственно функция f(x) в окрестности корня должна быть монотонна.

Рассмотрим условие завершения итерационного процесса метода касательных. Если итерационный процесс сходится, то одним из определяющих условий достижения корня является условие на значение функции в точке :

, (5)

где - погрешность определения корня функции по величине функции.

С другой стороны, наряду с проверкой абсолютного значения функции, при выполнении итерационной процедуры метода касательных необходимо проверять условие локализации значения корня функции:

, (6)

где - погрешность определения положения корня по оси OX.

Одновременное выполнение условий (5) и (6) может быть использовано в качестве критерия остановки итерационного процесса метода касательных.

Рис.1 Иллюстрация итераций метода касательных

 

Метод касательных предполагает вычисление производной функции на каждом шаге. Приближенное значение производной можно получить по разностным формулам: - разностная производная «вперед», - разностная производная «назад» или - «центральная» разностная производная. В любом случае на каждом шаге необходимо два вычисления значения функции, что замедляет вычисления в случае сложной функции.

Метод секущих является модификацией метода касательных позволяющей значительно ускорить процесс вычислений.

Основное отличие метода секущих от метода касательных состоит в том, что в процессе вывода расчетной формулы вместо точного вида производной функции f(x), используется разностное представление производной:

. (7)

Более того, формула (7) представляет собой значение тангенса угла наклона (8)

прямой линии проходящей через точки и - линии секущей приближения n:

. (9)

Значение коэффициента уравнения (9) легко получить из условия или :

или

(10)

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

Таким образом, расчетная формула для получения значения корня n приближения в соответствии с методом секущих имеет вид:

, (11)

где значения коэффициентов и определяются из (8) и (10).

Рис.2 Иллюстрация итераций метода секущих

Критерии достижения необходимой точности определения корня методом секущих можно получить аналогично методу касательных. То есть наряду с условием на достаточно малое абсолютное значение функции в корне:

| f(x)|< ey, (12)

(ey – малое, близкое к нулю число), необходимо использовать условие на локализацию корня:

|xn+1–xn| < ex, (13)

(ex – малое, близкое к нулю число).

 

Описание алгоритма нахождения корня одномерного уравнения методом секущих:

Задаем начальные параметры алгоритма: точности нахождения корня по х и уеx и ey , а также максимальное количество итераций – maxi.

Задаем начальное приближение к корню х0 и приращение d для вычисления двух начальных точек: x0 и x 1.

Вычисляем значения функции в точке x0: f0 =f(x0)

Вычисляем значения функции в точке x1: f1 = f(x 1 ).

Цикл по i от 1 до maxi.

По формулам (8) и (10) вычисляем коэффициенты a и b уравнения скущей.

Находим приближенное значение корня x2 по формуле (11).

Вычисляем значения функции в этой точке f2 =f(x2).

Вычисление погрешностей нахождения корня.

Проверяем условия достаточной малости погрешностей абсолютного значения корня функции (12) и локализации корня (13). В случае удовлетворения условия достижения корня – выход из цикла и печать результатов.

В случае неудовлетворения условия – переопределение точек для построения секущей: x0=x 1 и x 1 = x 2, а также значений функции в этих точках: f0 = f1, f1 = f2.

Конец цикла.

 

Итерации продолжаются до тех пор, пока не будет удовлетворены условия достижения необходимой точности вычислений, либо количество итерации превысит значение maxi . В методе секущих на каждой итерации функция вычисляется только один раз.

 

Описание алгоритма нахождения корня уравнения методом секущих на естественном языке:

eps1=точность_по_оси_Х

eps2=точность_по_оси_Y

maxi=максимальное_количество_итераций

 

x0=начальное_приближение_к_корню

d =начальный_шаг_приращения

 

xn=x0+d

 

f0=f(x0)

fn=f(xn)

 

Цикл по i от 1 до maxi

 

x=xn-(xn-x0)*fn/(fn-f0)

fx=f(x)

 

err2=Модуль(xn-x)

err1=Модуль(fn-fx)

 

Печать i, x,fx

Если err1<eps1 AND err2<eps2 Тогда

Печать "Решение найдено: ", x

Возврат

Конец Если

x0=xn

xn=x

f0=fn

fn=fx

 

Конец Цикла

 

Определение Функции f

Параметры x

Вернуть (x-4)*(x-2)

Конец Определения Функции

 

Пример реализации алгоритма решения на языке VFP:

clear

eps1=0.001

eps2=0.001

maxi=1000

 

input "Введите начальное приближение к корню х0:" to x0

Input "Введите начальный шаг приращения d:" to d

 

xn=x0+d

 

f0=f(x0)

fn=f(xn)

 

FOR i = 1 TO maxi

 

x=xn-(xn-x0)*fn/(fn-f0)

fx=f(x)

 

err2=abs(xn-x)

err1=aBS(fn-fx)

 

? "Итерация= "+ALLTRIM(STR(i))

?? ": x= "+ TRANSFORM(x,"99.999 999 999")

?? ": f(x)= "+ transform(fx,"99.999 999 999")

IF err1<eps1 AND err2<eps2

? "Решение найдено: ", x

RETURN

ENDIF

x0=xn

xn=x

f0=fn

fn=fx

 

ENDFOR

 

function f

LPARAMETERS x

return (x-4)*(x-2)

ENDPROC

 

Пример реализации алгоритма решения задачи на VBA:

Sub root2()

eps1 = 0.001

eps2 = 0.001

maxi = 1000

 

x0 = Val(InputBox("Введите начальное приближение к корню х0:"))

d = Val(InputBox("Введите начальный шаг приращения d:"))

 

xn = x0 + d

 

f0 = f(x0)

fn = f(xn)

 

For i = 1 To maxi

x = xn - (xn - x0) * fn / (fn - f0)

fx = f(x)

 

err2 = Abs(xn - x)

err1 = Abs(fn - fx)

 

Debug.Print "Итерация= " + CStr(i)

Debug.Print "x= " + Format(x, "00.000 000 000")

Debug.Print "f(x)= " + Format(fx, "00.000 000 000")

If err1 < eps1 And err2 < eps2 Then

Debug.Print "Решение найдено x= " & x

Exit Sub

End If

 

x0 = xn

xn = x

f0 = fn

fn = fx

 

Next i

End Sub

 

Function f(x)

f = (x - 4) * (x - 2)

End Function

 

Результаты работы программы на VBA для отрезка а=0, b=3:

Итерация= 1

x= 02,666 666 667

f(x)= -00,888 888 889

Итерация= 2

x= 00,000 000 000

f(x)= 08,000 000 000

Итерация= 3

x= 02,400 000 000

f(x)= -00,640 000 000

Итерация= 4

x= 02,222 222 222

f(x)= -00,395 061 728

Итерация= 5

x= 01,935 483 871

f(x)= 00,133 194 589

Итерация= 6

x= 02,007 782 101

f(x)= -00,015 503 641

Итерация= 7

x= 02,000 244 111

f(x)= -00,000 488 162

Итерация= 8

x= 01,999 999 046

f(x)= 00,000 001 907

Решение найдено x= 1,99999904632523

 

 


Поделиться с друзьями:

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.062 с.