Лабораторная работа 5 / lab5/LR_5/ВМ_5.doc
Министерство образования и науки РФ
Санкт-Петербургский государственный электротехнический университет
ЛЭТИ
кафедра МОЭВМ
Лабораторная работа No5 по дисциплине вычислительная математика
на тему:
«Метод Ньютона».
г. Санкт-Петербург
- Год
I. Цель работы:
Найти корень уравнения для функции методом Ньютона с заданной точностью Eps, исследовать скорость сходимости и обусловленности метода.
II. Общие сведения:
В случае, когда известно хорошее начальное приближение решения уравнения , эффективным методом повышения точности является метод Ньютона. Он состоит в построении итерационной последовательности сходящейся к корню уравнения .
Метод Ньютона допускает простую геометрическую интерпретацию (рис. 2). Если через точку с координатами провести касательную, то абсцисса точки пересечения этой касательной с осью Ох будет очередным приближением xn+1 корня уравнения .
Для оценки погрешности n-го приближения корня предлагается пользоваться неравенством
где М2-наибольшее значение модуля второй производной на отрезке [a,b]; m1-наименьшее значение модуля первой производной на отрезке [a,b]. Таким образом, если то Это означает, что при хорошем начальном приближении корня после каждой итерации число верных десятичных знаков в очередном приближении удваивается, т.е. процесс сходится очень быстро (имеет место квадратическая сходимость). Из указанного следует, что при необходимости нахождения корня с точностью итерационный процесс можно прекращать, когда
(3.1)
Рассмотрим один шаг итераций. Если на (n-1)-м шаге очередное приближение xn-1 не удовлетворяет условию окончания процесса, то вычисляются величины и следующие приближение корня При выполнении условия (3.1) величина xn принимается за приближенное значение корня с, вычисленное с точностью .
III. Порядок выполнения работы:
Графически или аналитически отделить корень уравнения (т.е. найти отрезки [Left, Right], на которых функция удовлетворяет условиям сходимости метода Ньютона).
Составить подпрограмму - функцию вычисления функции , f(x) предусмотрев округление значений функции с заданной точностью Delta.
Составить головную программу, вычисляющую корень уравнения и содержащую обращение к подпрограммам , , (x), Round, NEWTON и индикацию результатов.
Выбрать начальное приближение корня x0 из [Left, Right] так, чтобы >0.
Провести вычисления по программе. Исследовать скорость сходимости метода и чувствительность метода к ошибкам в исходных данных.
IV. Выполнение работы:
- Отделим графическим методом корни уравнения , т.е. найдем отрезки
[Left, Right], на которых функция удовлетворяет условиям применимости метода бисекции. Для этого сначала определим абсолютное число обусловленности задачи вычисления корня:
= ,
тогда Eps Delta / |1/(3x2-3+2e-x) |.
Теперь графически определим отрезок [Left, Right].
Где .
Проанализировав результаты, мы получаем отрезок [1, 2]. На этом отрезке мы можем брать любое начальное приближение x, т. к. >0 всюду на отрезке [1, 2].
2)Составим подпрограмму вычисления функции и производной этой функции f(x) = 3x2 3 + 2e(-x).
double F(double x)
{
extern double c,d,delta;
double s;
long int S;
s = x*x*x-3*x-2*exp(-x);
if( s/delta < 0 )
S = s/delta - .5;
else
S = s/delta + .5;
s = S*delta;
s = Round( s,delta );
return(s);
}
double F1(double x)
{
extern double delta;
double s;
long int S;
s = 3*x*x-3+2*exp(-x);
if( s/delta < 0 )
S = s/delta - .5;
else
S = s/delta + .5;
s = S*delta;
s = Round( s,delta );
cout<< {f(x)=<<s<<}<<endl;
return(s);
}
3)Составляем головную программу, вычисляющую корень уравнения с заданной точностью Eps и содержащую обращение к подпрограмме f(x), программам-функциям NEWTON, Round и представление результатов.
void main()
{
clrscr();
int k;
long int s;
float x11,eps1,delta1;
double x1,eps,x;
double F(double);
printf(Input eps: );
scanf(%f,&eps1);
eps = eps1;
printf(Input x1: );
scanf(%f,&x11);
x1 = x11;
printf(Input delta: );
scanf(%f,&delta1);
delta = delta1;
x = NEWTON(x1,eps,k);
printf(x=%f k=%d ,x,k);
getch();
}
4) Проведем вычисления по программе, варьируя значения параметров Eps (точность вычисления корня) и Delta (точность задания исходных данных).
eps | delta | a | b | x1 | x* | k | f(x*) |
|
0,000001 | 0,1 | 1 | 2 | 1,5 | 1,792345 | 2 | 0,047736173 | 0,143459 |
0,00001 | 0,1 | 1 | 2 | 1,5 | 1,792345 | 2 | 0,047736173 | 0,143459 |
0,0001 | 0,1 | 1 | 2 | 1,5 | 1,792345 | 2 | 0,047736173 | 0,143459 |
0,001 | 0,1 | 1 | 2 | 1,5 | 1,792345 | 2 | 0,047736173 | 0,143459 |
0,01 | 0,1 | 1 | 2 | 1,5 | 1,792345 | 2 | 0,047736173 | 0,143459 |
0,1 | 0,1 | 1 | 2 | 1,5 | 1,792345 | 2 | 0,047736173 | 0,143459 |
0,000001 | 0,01 | 1 | 2 | 1,5 | 1,785154 | 3 | -0,002120657 | 0,145014 |
0,00001 | 0,01 | 1 | 2 | 1,5 | 1,785154 | 3 | -0,002120657 | 0,145014 |
0,0001 | 0,01 | 1 | 2 | 1,5 | 1,785154 | 3 | -0,002120657 | 0,145014 |
0,001 | 0,01 | 1 | 2 | 1,5 | 1,785154 | 3 | -0,002120657 | 0,145014 |
0,01 | 0,01 | 1 | 2 | 1,5 | 1,785154 | 3 | -0,002120657 | 0,145014 |
0,1 | 0,01 | 1 | 2 | 1,5 | 1,790901 | 2 | 0,03768143 | 0,143769 |
0,000001 | 0,001 | 1 | 2 | 1,5 | 1,785470 | 3 | 5,89554E-05 | 0,144945 |
0,00001 | 0,001 | 1 | 2 | 1,5 | 1,785470 | 3 | 5,89554E-05 | 0,144945 |
0,0001 | 0,001 | 1 | 2 | 1,5 | 1,785470 | 3 | 5,89554E-05 | 0,144945 |
0,001 | 0,001 | 1 | 2 | 1,5 | 1,785470 | 3 | 5,89554E-05 | 0,144945 |
0,01 | 0,001 | 1 | 2 | 1,5 | 1,785470 | 3 | 5,89554E-05 | 0,144945 |
0,1 | 0,001 | 1 | 2 | 1,5 | 1,790933 | 2 | 0,037904014 | 0,143762 |
0,000001 | 0,0001 | 1 | 2 | 1,5 | 1,785461 | 4 | -3,13644E-06 | 0,144947 |
0,00001 | 0,0001 | 1 | 2 | 1,5 | 1,785461 | 4 | -3,13644E-06 | 0,144947 |
0,0001 | 0,0001 | 1 | 2 | 1,5 | 1,785461 | 4 | -3,13644E-06 | 0,144947 |
0,001 | 0,0001 | 1 | 2 | 1,5 | 1,785461 | 4 | -3,13644E-06 | 0,144947 |
0,01 | 0,0001 | 1 | 2 | 1,5 | 1,785490 | 3 | 0,00019694 | 0,144941 |
0,1 | 0,0001 | 1 | 2 | 1,5 | 1,790882 | 2 | 0,037549275 | 0,143773 |
0,000001 | 0,00001 | 1 | 2 | 1,5 | 1,785462 | 4 | 3,76262E-06 | 0,144947 |
0,00001 | 0,00001 | 1 | 2 | 1,5 | 1,785462 | 4 | 3,76262E-06 | 0,144947 |
0,0001 | 0,00001 | 1 | 2 | 1,5 | 1,785462 | 4 | 3,76262E-06 | 0,144947 |
0,001 | 0,00001 | 1 | 2 | 1,5 | 1,785462 | 4 | 3,76262E-06 | 0,144947 |
0,01 | 0,00001 | 1 | 2 | 1,5 | 1,785483 | 3 | 0,000148645 | 0,144943 |
0,1 | 0,00001 | 1 | 2 | 1,5 | 1,790886 | 2 | 0,037577097 | 0,143772 |
0,000001 | 0,000001 | 1 | 2 | 1,5 | 1,785462 | 4 | 3,76262E-06 | 0,144947 |
0,00001 | 0,000001 | 1 | 2 | 1,5 | 1,785462 | 4 | 3,76262E-06 | 0,144947 |
0,0001 | 0,000001 | 1 | 2 | 1,5 | 1,785462 | 4 | 3,76262E-06 | 0,144947 |
0,001 | 0,000001 | 1 | 2 | 1,5 | 1,785462 | 4 | 3,76262E-06 | 0,144947 |
0,01 | 0,000001 | 1 | 2 | 1,5 | 1,785483 | 3 | 0,000148645 | 0,144943 |
0,1 | 0,000001 | 1 | 2 | 1,5 | 1,790886 | 2 | 0,037577097 | 0,143772 |
eps | delta | a | b | x1 | x* | k | f(x*) |
|
0,000001 | 0,1 | 0 | 90 | 86 | 1,785440 | 12 | -0,000148014 | 0,371503 |
0,00001 | 0,1 | 0 | 90 | 86 | 1,785440 | 12 | -0,000148014 | 0,371503 |
0,0001 | 0,1 | 0 | 90 | 86 | 1,785440 | 12 | -0,000148014 | 0,371503 |
0,001 | 0,1 | 0 | 90 | 86 | 1,785440 | 12 | -0,000148014 | 0,371503 |
0,01 | 0,1 | 0 | 90 | 86 | 1,785440 | 12 | -0,000148014 | 0,371503 |
0,1 | 0,1 | 0 | 90 | 86 | 1,785440 | 12 | -0,000148014 | 0,371503 |
0,000001 | 0,01 | 0 | 90 | 86 | 1,786826 | 13 | 0,00942374 | 0,370994 |
0,00001 | 0,01 | 0 | 90 | 86 | 1,786826 | 13 | 0,00942374 | 0,370994 |
0,0001 | 0,01 | 0 | 90 | 86 | 1,786826 | 13 | 0,00942374 | 0,370994 |
0,001 | 0,01 | 0 | 90 | 86 | 1,786826 | 13 | 0,00942374 | 0,370994 |
0,01 | 0,01 | 0 | 90 | 86 | 1,785826 | 13 | 0,002515709 | 0,371361 |
0,1 | 0,01 | 0 | 90 | 86 | 1,787271 | 12 | 0,012501153 | 0,370831 |
0,000001 | 0,001 | 0 | 90 | 86 | 1,785465 | 13 | 2,44599E-05 | 0,371494 |
0,00001 | 0,001 | 0 | 90 | 86 | 1,785465 | 13 | 2,44599E-05 | 0,371494 |
0,0001 | 0,001 | 0 | 90 | 86 | 1,785465 | 13 | 2,44599E-05 | 0,371494 |
0,001 | 0,001 | 0 | 90 | 86 | 1,785465 | 13 | 2,44599E-05 | 0,371494 |
0,01 | 0,001 | 0 | 90 | 86 | 1,785465 | 13 | 2,44599E-05 | 0,371494 |
0,1 | 0,001 | 0 | 90 | 86 | 1,786623 | 12 | 0,00802057 | 0,371069 |
0,000001 | 0,0001 | 0 | 90 | 86 | 72,462218 | 4 | 380265,2739 | 0,004664 |
0,00001 | 0,0001 | 0 | 90 | 86 | 72,462218 | 4 | 380265,2739 | 0,004664 |
0,0001 | 0,0001 | 0 | 90 | 86 | 72,462218 | 4 | 380265,2739 | 0,004664 |
0,001 | 0,0001 | 0 | 90 | 86 | 72,462218 | 4 | 380265,2739 | 0,004664 |
0,01 | 0,0001 | 0 | 90 | 86 | 72,462218 | 4 | 380265,2739 | 0,004664 |
0,1 | 0,0001 | 0 | 90 | 86 | 75,762224 | 3 | 434641,4079 | 0,004459 |
0,000001 | 0,00001 | 0 | 90 | 86 | 84,415770 | 36 | 601295,4058 | 0,003996 |
0,00001 | 0,00001 | 0 | 90 | 86 | 84,415770 | 36 | 601295,4058 | 0,003996 |
0,0001 | 0,00001 | 0 | 90 | 86 | 84,415770 | 36 | 601295,4058 | 0,003996 |
0,001 | 0,00001 | 0 | 90 | 86 | 84,415770 | 35 | 601295,4058 |
