Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование в Excel.doc
Скачиваний:
21
Добавлен:
03.05.2019
Размер:
1.48 Mб
Скачать

4.1.3. Метод Ньютона (касательных).

Метод Ньютона используют при решении уравнения f(x)=0, где f(x) непрервно-дифференцируемая функция (иллюстрация на рис.4.3, алгоритм – рис.4.4). Для начала вычислений требуется задание начального приближения x0. Последующие приближения вычисляются по формуле:

Xn+1=Xn-f(Xn)/f'(Xn), f'(Xn)0, n=0,1,2,3...

(4.2)

Получим формулу (4.2): точки с координатами (Xn, f(Xn)) и (Xn+1, 0) принадлежат одной прямой – касательной к функции f(x). Таким образом, можно составить два уравнения для этой касательной:

f(Xn)=k Xn+m;

k Xn+1+m=f(Xn)=0; где k=f'(Xn).

Совместное решение этих уравнений даст формулу (4.2).

Геометрически Xn+1 является значением абсциссы точки пересечения касательной к кривой у=f(х) в точке n; f(Хn)) с осью абсцисс, поэтому метод Ньютона называют методом касательных.

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

Рис.4.3 Рис.4.4

Пример

При расчете аппарата однократного выпаривания для расчета необходимой температуры нужно решить следующее уравнение:

0.01*Т3-4*Т2+180*Т+8160=0.

Из физических соображений следует, что искомая температура (корень уравнения) находится в интервале 330-360К. Определим ее методом Ньютона с точностью =0.5К. Для расчета по формуле (4.2) необходимо найти первую производную. Она равняется

f'(x)=0.03*Т2-8*Т+180.

Для выбора начального приближения проверим знаки функции и ее второй производной в точке x=360:

f(x)=21120>0,

f''(x)=0.06*Т-8 =13.6 >0;

то есть, эту точку можно использовать в качестве начального приближения. Используя (4.2) последовательно вычисляем:

x1=x0-(f(x0)/f'(x0))=360-(21120/1188)=342.22

x2=x1-(f(x1)/f'(x1))=342.22-(2093/955.7)=340.03 |x2-x1|>

x3=x2-(f(x2)/f'(x2))=340.03-(2909/928.4)=340 |x3-x2|<

Ответ: Т=340К

4.1.4. Метод хорд (секущих).

В методе Ньютона на каждом шаге надо вычислять значения функции и производной. На практике чаще используют методы, которые требуют вычисления только значения функции. Одним из таких методов является метод хорд (иллюстрация на рис.4.5, алгоритм – рис.4.6). Этот метод основан на предположении, что на довольно маленьком отрезке функция y=f(x) изменяется линейно. Тогда кривую y=f(x) на этом отрезке можно заменить хордой и в качестве приближенного значения корня принять точку пересечения хорды с осью абсцисс. Проведем прямую сквозь точку с координатами (a, f(a)) и (b, f(b)) (где а и b -концы интервала, которые содержат корень), найдем точку пересечения этой прямой с осью абсцисс.

X1=a-(f(a)/(f(b)-f(a))*(b-a))

(4.3)

Найденное значение x1 можно принимать как новую (левую или правую в зависимости от знака f(x)) точку границы сокращенного интервала.

Найдя значения f(x1) по формуле (4.3) повторим вычисления и найдем x2 и т.д. Степень приближения определяется выражением |xn+1-xn|< , где - заданная точность.

Формула (4.3) описывает метод секущих для функций, которые имеют небольшую кривизну.

Рис.4.5 Рис.4.6

Пример

Решить уравнение:

х3- 0.4*x2+0.9*x-0.36=0.

Корень лежит в интервале [0.2; 0.5]. Определить его с точностью =0.0005. Вычислим значения функции на концах интервала: f(0.2)=-0.188 f(0.5)=0.115. По формуле (4.3) найдем значения х: 0.2-(-0.188*(0.5-0.2)/(0.115-(-0.188)))=0.386. Потом определим f(x). Так как f(x1)=-0.015, то корень уравнения лежит в интервале |0.386;0.5|. Найдем следующее приближение х2: 0.386-(-0.015*(0.5-0.386)/(0.115-(-0.015)))=0.399. Так как 21|>, то повторим процедуру. Значение f(x2)=-0.0011 и x3=0.4. Поскольку |х32|< ,то решение найдено. Ответ: х= 0.4.