Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PraktikumC2.pdf
Скачиваний:
77
Добавлен:
10.02.2015
Размер:
899.39 Кб
Скачать

38

}

while(fabs(XR-XL)>Eps);

printf("X = %lf\n",X);

 

 

 

 

 

 

 

. . . . .

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

Исходными данными для уточнения корня

 

 

 

 

 

уравнения

вида

F(X)=0

являются

требуемая

Y

 

Y=F(X)

 

 

точность ε и

 

начальное

приближение

X0.

 

 

 

 

 

 

 

 

 

 

Необходимым

условием

применения

метода

tg(β) = F'(X 0)

 

 

является истинность отношения F(X0)·F''(X0)>0.

 

 

 

 

 

 

 

Один

 

шаг

итерационного

 

процесса

 

 

 

β

 

уточнения корня состоит в вычислении очередного

 

 

 

X

приближения по формуле X1= X0 - F(X0)/F'(X0),

Шаг

 

 

 

 

после чего X0 получает значение X1 (см. рис. 3.3).

 

 

 

 

1

 

 

X1

X0

 

 

 

 

 

 

 

 

 

Процесс повторяется, пока модуль разности между

2

X1

X1

X0

 

Х0 и Х1 больше ε.

 

 

 

 

3

X0

 

 

 

 

 

 

 

 

 

 

 

Пример. Составить

фрагмент

программы

 

Рис. 3

 

 

 

Рис. 3.3

 

 

уточнения корня уравнения

 

 

 

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

 

 

 

 

 

 

 

 

 

 

(X-0,1)4 –X + 0,1=0

 

 

 

 

 

 

 

с заданной точностью ε при начальном приближении корня Х0.

 

 

 

 

#include "math.h"

. . . . .

double X1, X0, dX, Eps; scanf("%lf%lf",&X0, &Eps); do

{

dX=(pow(X0-0.1, 4)-X0+0.1)/(4*pow(X0-0.1, 3)-1); X1=X0-dX;

X0=X1;

}

while (fabs(dX)>Eps); printf("X = %lf\n",X0);

В этом фрагменте использовалась найденное заранее выражение 4(X-0,1)3 –1 первой производной для (X-0,1)4 –X + 0,1. С точки зрения объема и точности вычислений

Оглавление

Ю.Е. Алексеев, А.В. Куров «Практикум по программированию на языке C в среде VS C++» Часть 2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]