- •Міністерство освіти і науки, молоді та спорту України Технічний коледж національного університету водного господарства та природокористування Лабораторна робота № 17
- •17.1. Мета роботи
- •17.2. Теоретичні відомості
- •1. Метод половинного ділення. Б лок схема методу половинного ділення
- •2. Метод простих ітерацій.
- •3. Метод хорд.
- •Блок-схема методу хорд
- •4. Метод дотичних.
- •Блок-схема методу дотичних
- •17.3. Програма роботи
- •17.4. Завдання
- •17.5. Контрольні питання
- •Якими методами можна визначити інтервал, в якому містяться корені нелінійного рівняння?
3. Метод хорд.
Похідна вихідної функції рівна f(x)=3-ex. Знайдемо мінімум і максимум першої похідної на заданому інтервалі [-1.0; 1.0].
Блок-схема методу хорд
//Реалізація методу хорд
#include<stdio.h>
#include<conio.h>
#include<math.h>
float F(float x)
{return 3x-exp(x);}
main( )
{ clrscr( ); int k=0;
float a=-1, b=1, x0=0.5(a+b), x1;
float m=0.28, M=2.63, eps=1e-6;
A: x1=a-F(a)(b-a)/(F(b)-F(a));
if(fabs(x0-x1)>epsm/(M-m))
{ if(F(a)F(x1)>0) {a=x1; x0=x1;}
else {b=x1; x0=x1;}
k++; goto A; }
printf(“\n x1=%.7f k=%d eps=%.e”,x1,k,eps); getch( );
}
Результати
виконання програми
-
№ п/п
x
k
1
0.61907
13
10-4
2
0.619062
16
10-5
3
0.6190613
20
10-6
4. Метод дотичних.
Друга похідна заданої функції рівна f(x)=-ex. Знайдемо мінімум першої і максимум другої похідної на заданому інтервалі [-1.0; 1.0].
m=0.28;
.
Блок-схема методу дотичних
//Реалізація методу дотичних
#include<stdio.h>
#include<conio.h>
#include<math.h>
float F(float x)
{return 3x-exp(x);}
float F1(float x)
{return 3-exp(x);}
float F2(float x)
{return -exp(x);}
main( )
{ clrscr( );
float a=-1, b=1, x0=0.5(a+b), x1;
float m=0.28, M2=2.63, eps=1e-6;
int k=0;
if(F1(x0)F2(x0)<0) x0=a;
else x0=b;
A: x1=x0-F(x0)/F1(x0);
if(fabs(x0-x1)>sqrt(2epsm/M2)){x0=x1;k++;goto A;}
printf(“\n x1=%.7f k=%d eps=%.e”,x1,k,eps);
getch( );
}
Результати виконання програми
-
№ п/п
x
k
1
0.61905
3
10-4
2
0.619061
4
10-5
3
0.6190613
4
10-6
Таким чином порівняльна таблиця ефективності застосованих методів матиме вигляд:
Метод |
№ п/п |
x |
k |
|
Половинного ділення |
1 |
0.61904 |
15 |
10-4 |
2 |
0.619060 |
18 |
10-5 |
|
3 |
0.6190610 |
21 |
10-6 |
|
Простих ітерацій |
1 |
0.61905 |
11 |
10-4 |
2 |
0.619060 |
14 |
10-5 |
|
3 |
0.6190612 |
17 |
10-6 |
|
Хорд |
1 |
0.61907 |
13 |
10-4 |
2 |
0.619062 |
16 |
10-5 |
|
3 |
0.6190613 |
20 |
10-6 |
|
Дотичних |
1 |
0.61905 |
3 |
10-4 |
2 |
0.619061 |
4 |
10-5 |
|
3 |
0.6190613 |
4 |
10-6 |
