МЕТОД КАСАТЕЛЬНЫХ. РЕШЕНИЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ. ПАСКАЛЬ 7.0
СОДЕРЖАНИЕ 
ВВЕДЕНИЕ
1. Краткое описание сущности метода касательных 
( метода секущих Ньютона)
2. Решение нелинейного уравнения аналитически 
3. Блок схема программы 
4. Программа на языке PASCAL 7.0 
5. Результаты выполнения программы 
СПИСОК ИСПОЛЬЗОВАННИХ ИСТОЧНИКОВ 
ВВЕДЕНИЕ 
Процедура подготовки и решения задачи на ЭВМ достаточно сложный и трудоемкий процесс, состоящий из следующих этапов: 
1.	Постановка задачи (задача, которую предстоит решать на ЭВМ, формулируется пользователем или получается им в виде задания). 
2.	Математическая формулировка задачи. 
3.	Разработка алгоритма решения задачи. 
4.	Написание программы на языке программирования. 
5.	Подготовка исходных данных . 
6.	Ввод программы и исходных данных в ЭВМ. 
7.	Отладка программы. 
8.	Тестирование программы. 
9.	Решение задачи на ЭВМ и обработка результатов. 
В настоящей курсовой работе условие задачи дано в математической формулировке, поэтому необходимость в выполнении этапов 1 и 2 отпадает и сразу можно приступить к разработке алгоритма решения задачи на ЭВМ. Под алгоритмом понимается последовательность арифметических и логических действий над числовыми значениями переменных, приводящих к вычислению результата решения задачи при изменении исходных данных в достаточно широких пределах. Таким образом, при разработке алгоритма решения задачи математическая формулировка преобразуется в процедуру решения, представляющую собой последовательность арифметических действий и логических связей между ними. При этом алгоритм обладает следующими свойствами: детерминированностью, означающей, что применение алгоритма к одним и тем же исходным данным должно приводить к одному и том уже результату; массовость, позволяющей получать результат при различных исходных данных; результативностью, обеспечивающей получение результата через конечное число шагов 
Наиболее наглядным способом описания алгоритмов является описание его в виде схем. При этом алгоритм представляется последовательность блоков, выполняющих определенные функции, и связей между ними. Внутри блоков указывается информация, характеризующая выполняемые ими функции. Блоки схемы имеют сквозную нумерацию 
Конфигурация и размеры блоков, а также порядок построения схем определяются ГОСТ 19.002-80 и ГОСТ 19.003-80 
На этапе 4 составляется программа на языке Турбо-Паскаль. При описании программы необходимо использовать характерные приемы программирования и учитывать специфику языка. В качестве языка программирования выбран язык ПАСКАЛЬ ввиду его наглядности и облегченного понимания для начинающих программистов, а также возможности в дальнейшем использовать для решения более трудных задач 
Этапы алгоритмизации и программирования являются наиболее трудоемкими, поэтому им уделяется большое внимание 
В процессе выполнения курсовой работы студент готовит исходные данные, вводит программу и исходные данные. При работе ввод программы и исходных данных осуществляется с клавиатуры дисплея 
Отладка программы состоит в обнаружении и исправлении ошибок, допущенных на всех этапах подготовки задач к решению на ПЭВМ. Синтаксис ошибки обнаруживается компилятором, который выдает сообщение, указывающее место и тип ошибки. Обнаружение семантических ошибок осуществляется на этапе тестирования программы, в котором проверяется правильность выполнения программы на упрощенном варианте исходных данных или с помощью контрольных точек или в режиме пошагового исполнения 
Задание при обработке на ЭВМ проходит ряд шагов: компиляцию, редактирование (компоновку) и выполнение 
Обработка результатов решения задачи осуществляется с помощью ЭВМ. Выводимые результаты оформлены в виде, удобном для восприятия 
1. Краткое описание сущности метода касательных 
( метода секущих Ньютона) 
Пусть на отрезке [a; b] отделен корень с уравнения f (x) = 0 и f -функция непрерывна на отрезке [a; b], а на интервале ]a; b[ существуют отличные от нуля производные f ’ и f ” 
Так как f ’(x) № 0 , то запишем уравнение f (x) = 0 в виде : 
		x = x – ( f (x) / f ’(x))					(1) 
Решая его методом итераций можем записать : 
		x n+1 = x n – ( f (x n ) / f ’(x n ))				(2) 
Если на отрезке [a;b] f ’(x) * f “(x) > 0, то нул – евое приближение выбираем x0=a. Рассмотрим геометрический смысл метода . Рассмотрим график функции y=f(x). Пусть для определенности f ‘(x) > 0 и f “(x) > 0 (рис. 1). Проведем касательную к графику функции в точке B (b, f (b)). Ее уравнение будет иметь вид : 
y = f (b) + f ’(b) * (x – b) 
Полагая в уравнении y = 0 и учитывая что f ’(x) № 0, решаем его относительно x. Получим : 
x = b – (f (b) /f ‘(b)) 
Нашли абсциссу x 1 точки c 1 пересечения касательной с осью ox : 
x 1 = b – (f (b) – f ’ (b)) 

Проведем касательную к графику функции в точке b 1 (x 1 ; f (x 1 )).Найдем абсциссу x 2 точки с 2 пересечения касательной с осью Ox : 
x 2 = x 1 – (f (x 1 ) / ( f ’(x 1 )) 
Вообще : 
x k+1 = x k – ( f (x k ) / f ’(x k ))					(3) 
Таким образом, формула (3) дает последовательные приближения (x k ) корня, получаемые из уравнения касательной , проведенной к графику функции в точке b k (x k ; f (x k0 ) метод уточнения корня c [a;b] уравнения f (x) = 0 с помощью формулы (3) называется методом касательной или методом Ньютона 
Геометрический смысл метода касательных состоит в замене дуги y = f (x) касательной, одной к одной из крайних точек . Начальное приближение x 0 = a или x 0 = b брать таким, чтобы вся последовательность приближения х k принадлежала интервалу ]a;b[ . В случае существования производных f ’, f ”, сохраняющих свои знаки в интервале, за х 0 берется тот конец отрезка [a;b], для которого выполняется условие f ’(х 0 ) * f (х 0 ) > 0. Для оценки приближения используется общая формула : 
|c-x k-1 | Ј | f (x k+1 )/m| , где m = min f ’(x) на отрезке [a;b] . 
На практике проще пользоваться другим правилом : 
Если на отрезке [a;b] выполняется условие 0 < m < | f (x)| и e - заданная точность решения, то неравенство | x k+1 -x k | Ј e влечет выполнение неравенства |c-x k-1 | Ј e . 
В этом случае процесс последовательного приближения продолжают до тех пор, пока не выполнится неравенство : 
|c-x k-1 | Ј e . 

2. Решение нелинейного уравнения аналитически 
Определим корни уравнения х 3 + 0,1х 2 + 0,4х – 1,2 = 0 аналитически. Находим : 				f (x) = х 3 + 0,1х 2 + 0,4х – 1,2 
			f ‘ (x) = 3х 2 + 0,1х + 0,4 
f (–1) = –2,5 < 0		f (0) = –1,2 < 0		f (+1) = 0,3 > 0 
x 	- Ґ 	-1 	0 	+1 	+ Ґ 	
sign f (x) 	- 	- 	- 	+ 	+ 	
Следовательно, уравнение имеет действительный корень, лежащий в промежутке [ 0; +1 ] 
Приведем уравнение к виду x = j (x) , так , чтобы | j ‘ (x) | <1 при 0 Ј x Ј +1. 
Так как max | f ’(x) | = f ’(+1) = 3 + 0,1 + 0,4 = 3,5 то можно взять R = 2 
Тогда j (x) = x – ( f (x) / R) = x – 0,5 х 3 – 0,05 х 2 – 0,2 х + 0,6 = – 0,5 х 3 – 0,05 х 2 + 0,8 х + 0,6. 
Пусть х 0 = 0 , тогда х n+1 = j (х n ). 
Вычисления расположим в таблице 
n 	х n 	х 2 n 	х 3 n 	j ( х n ). 	f (x) 	
1 	1 	1 	1 	0,85 	-0,17363 	
2 	0,85 	0,7225 	0,614125 	0,9368125 	0,08465 	
3 	0,9368125 	0,87761766 	0,822163194 	0,89448752 	-0,04651 	
4 	0,89448752 	0,800107923 	0,715686552 	0,917741344 	0,024288 	
5 	0,917741344 	0,842249174 	0,772966889 	0,905597172 	-0,01306 	
6 	0,905597172 	0,820106238 	0,74268589 	0,912129481 	0,006923 	
7 	0,912129481 	0,83198019 	0,758873659 	0,908667746 	-0,0037 	
8 	0,908667746 	0,825677072 	0,750266124 	0,910517281 	0,001968 	
9 	0,910517281 	0,829041719 	0,754856812 	0,909533333 	-0,00105 	
10 	0,909533333 	0,827250884 	0,752412253 	0,910057995 	0,000559 	
11 	0,910057995 	0,828205555 	0,753715087 	0,909778575 	-0,0003 	
12 	0,909778575 	0,827697055 	0,753021048 	0,909927483 	0,000159 	
13 	0,909927483 	0,827968025 	0,753390861 	0,909848155 	-8,5E-05 	
14 	0,909848155 	0,827823665 	0,753193834 	0,909890424 	4,5E-05 	
15 	0,909890424 	0,827900583 	0,753298812 	0,909867904 	-2,4E-05 	
16 	0,909867904 	0,827859602 	0,753242881 	0,909879902 	1,28E-05 	
17 	0,909879902 	0,827881437 	0,753272681 	0,90987351 	-6,8E-06 	
18 	0,90987351 	0,827869803 	0,753256804 	0,909876916 	3,63E-06 	
19 	0,909876916 	0,827876002 	0,753265263 	0,909875101 	-1,9E-06 	
20 	0,909875101 	0,827872699 	0,753260756 	0,909876068 	1,03E-06 	
График функции y = х 3 + 0,1х 2 + 0,4х – 1,2 

3. Блок схема программы 
4. Программа на языке PASCAL 7.0 
program metod_kasatel;{Название программы} 
uses Crt ; {Модуль дисплейных функций} 
var {Блок описаний переменных} 
xn,xn1,a,b,c,mx,y0,x0 : real ; 
function f1(x1: Real ): Real ; {Основная функция} 
begin 
f1 := x1*x1*x1*(-0.5)-0.05*x1*x1+0.8*x1+0.6; 
end ; 
function f2(x4:Real): Real ; {Производная от основной функции} 
begin 
f2 := x4*x4*x4+0.5*x4*x4+0.1*x4*x4+0.4*x4–1.2; 
end ; 
begin {Начало основного тела программы} 
Clrscr ; {Очистка экрана перед выполнением программы} 
a:=0;b:=1;c:=0.00000001; 
Writeln (' От A=',a,' до B=',b); {Вывод на экран} 
Writeln (' Погрешность с=',c); 
Readln ; { Ожидание нажатия клавиши Enter} 
xn:=b; 
xn1:= f1(xn); 
y0:=f2(b); 
while ABS (y0)>c do {Проверка по точности вычисления корня} 
begin {Тело цикла} 
xn:=xn1; 
xn1:=f1(xn); 
y0:= f2(xn1); 
{Печать промежуточного результата} 
Writeln ('xn=',xn,' xn+1=',xn1,' f(xn+1)=',y0); 
Readln ; { Ожидание нажатия клавиши Enter} 
end ; {Конец тела цикла} 
Writeln ('Конечные значения'); {Печать полученного результата} 
Writeln (' xn+1=',xn1,' f(xn+1)=',y0); 
Readln ; { Ожидание нажатия клавиши Enter} 
end . {Конец основного тела программы} 
5. Результаты выполнения программы 
От A= 0.0000000000E+00 до B= 1.0000000000E+00 
Погрешность с= 1.0000000000E-08 
От A= 0.0000000000E+00 до B= 1.0000000000E+00 
Погрешность с= 1.0000000000E-08 
xn= 8.5000000000E-01 xn+1= 9.3681250000E-01 f(xn+1)= 8.4649960270E-02 
xn= 9.3681250000E-01 xn+1= 8.9448751986E-01 f(xn+1)=-4.6507647892E-02 
xn= 8.9448751986E-01 xn+1= 9.1774134381E-01 f(xn+1)= 2.4288343840E-02 
xn= 9.1774134381E-01 xn+1= 9.0559717189E-01 f(xn+1)=-1.3064617920E-02 
xn= 9.0559717189E-01 xn+1= 9.1212948085E-01 f(xn+1)= 6.9234699658E-03 
xn= 9.1212948085E-01 xn+1= 9.0866774587E-01 f(xn+1)=-3.6990702320E-03 
xn= 9.0866774587E-01 xn+1= 9.1051728099E-01 f(xn+1)= 1.9678960780E-03 
xn= 9.1051728099E-01 xn+1= 9.0953333295E-01 f(xn+1)=-1.0493249720E-03 
xn= 9.0953333295E-01 xn+1= 9.1005799543E-01 f(xn+1)= 5.5884091853E-04 
xn= 9.1005799543E-01 xn+1= 9.0977857497E-01 f(xn+1)=-2.9781681224E-04 
xn= 9.0977857497E-01 xn+1= 9.0992748338E-01 f(xn+1)= 1.5865717614E-04 
xn= 9.0992748338E-01 xn+1= 9.0984815480E-01 f(xn+1)=-8.4537703515E-05 
xn= 9.0984815480E-01 xn+1= 9.0989042365E-01 f(xn+1)= 4.5040009354E-05 
xn= 9.0989042365E-01 xn+1= 9.0986790364E-01 f(xn+1)=-2.3997676180E-05 
xn= 9.0986790364E-01 xn+1= 9.0987990248E-01 f(xn+1)= 1.2785800209E-05 
xn= 9.0987990248E-01 xn+1= 9.0987350958E-01 f(xn+1)=-6.8122881203E-06 
xn= 9.0987350958E-01 xn+1= 9.0987691573E-01 f(xn+1)= 3.6295678001E-06 
xn= 9.0987691573E-01 xn+1= 9.0987510095E-01 f(xn+1)=-1.9338276616E-06 
xn= 9.0987510095E-01 xn+1= 9.0987606786E-01 f(xn+1)= 1.0303429008E-06 
xn= 9.0987606786E-01 xn+1= 9.0987555269E-01 f(xn+1)=-5.4896190704E-07 
xn= 9.0987555269E-01 xn+1= 9.0987582717E-01 f(xn+1)= 2.9248803912E-07 
xn= 9.0987582717E-01 xn+1= 9.0987568093E-01 f(xn+1)=-1.5583464119E-07 
xn= 9.0987568093E-01 xn+1= 9.0987575885E-01 f(xn+1)= 8.3031409304E-08 
xn= 9.0987575885E-01 xn+1= 9.0987571733E-01 f(xn+1)=-4.4236003305E-08 
xn= 9.0987571733E-01 xn+1= 9.0987573945E-01 f(xn+1)= 2.3572283681E-08 
xn= 9.0987573945E-01 xn+1= 9.0987572766E-01 f(xn+1)=-1.2558302842E-08 
xn= 9.0987572766E-01 xn+1= 9.0987573394E-01 f(xn+1)= 6.6920620156E-09 
Конечные значения 
xn+1= 9.0987573394E-01 f(xn+1)= 6.6920620156E-09 
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 
1.	Алексеев В. Е., Ваулин А.С., Петрова Г. Б. – Вычислительная техника и программирование. Практикум по программированию :Практ .пособие/ –М.: Высш. шк. , 1991. – 400 с. 
2.	Абрамов С.А., Зима Е.В. – Начала программирования на языке Паскаль. – М.: Наука, 1987. –112 с. 
3.	Вычислительная техника и программирование: Учеб. для техн. вузов/ А.В. Петров, В.Е. Алексеев, А.С. Ваулин и др. – М.: Высш. шк., 1990 – 479 с. 
4.	Гусев В.А., Мордкович А.Г. – Математика: Справ. материалы: Кн. для учащихся. – 2-е изд. – М.: Просвещение, 1990. – 416 с. 
5.	Марченко А.И., Марченко Л.А. – Программирование в среде Turbo Pascal 7.0 – К.: ВЕК+, М.: Бином Универсал, 1998. – 496 с.