Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНА РОБОТА№1 обчмат.docx
Скачиваний:
3
Добавлен:
19.11.2019
Размер:
123.42 Кб
Скачать

Метод хорд:

a b

x3-x2-9x+9=0; [-4 ; -2] ɛ = 0,001

-f(x) = 0

- x3+x2+9x-9=0;

a

f(-4) = 35 > 0

b

f(-2) = -15 <0

f '' = -6x+2

f ''(-4) = 26 > 0

f ''(-2) = 14 > 0

x0 = b = -2

x1 = -2 - (-2+4) = -2,6

∆x1 = |x1-x0|=0,6 > ɛ

f(-2,6) = -8,064

x2 = -2,6 - (-2,6+4) = -2,862158

∆x2 = |x2-x1|=0,262158 > ɛ

f(-2,862158) = -3,120824

x3 = -2,262158 - (-2,262158+4) = -2,955309

∆x3 = |x3-x2|=0,093151 > ɛ

f(-2,955309) = -1,052701

x4 = -2,955309 - (-2,955309+4) = -2,985811

∆x4 = |x4-x3|=0,030502 > ɛ

f(-2,985811) = -0,278526

x5 = -2,985811 - (-2,985811+4) = -2,993818

∆x5 = |x5-x1|=0,008007 > ɛ

f(-2,993818) = -0,147987

x6 = -2,993818- (-2,993818+4) = -2,998054

∆x6 = |x6-x5|=0,0046656 > ɛ

f( -2,998054) = -0,046656

x7 = -2,998054- (-2,998054+4) = -2,999387

∆x7 = |x7-x6|=0,001338 > ɛ

f( -2,999387) = -0,014688

x8 = -2,999387- (-2, 2,999387+4) = -2,9993872571524 - 3,000000

∆x8 = |x8-x7|=0,001338 > ɛ

Метод дотичних:

x3-x2-9x+9=0; [-4 ; -2] ɛ = 0,001

f(-4) = 35 > 0

f(-2) = -15 <0

f '= 3x2-2x-9

f '' = -6x+2

f '(-4) = 47 > 0

f '(-2) = 7 > 0

f ''(-4) = 26 > 0

f ''(-2) = 14 > 0

x0 = -4

x1 = -4 - = - 3,255319

∆x1=|x1-x0|=0,744681

f(-3,255319) =-6,791775

f '(-3,255319) = 29,301943

x2 = -3,255319 - = - 3,023382

∆x2=|x2-x1|=0,231936

f(-3,023382) =-0,566648

f '(-3,023382) = 24,469280

x3 = -3,023382 - = - 3,000224

∆x3=|x3-x2|=0,0231575

f(-3,000224) =-0,005376

f '(-3,000224) = 24,004480

x4 = -3,000224 - = - 3,000000041806 ≈ - 3,00000000

∆x4=|x4-x3|=0,000223

Метод січних:

x3-x2-9x+9=0; [-4 ; -2] ɛ = 0,001; δ = 0,1

f(-4) = 35 > 0

f(-2) = -15 <0

f '= 3x2-2x-9

f '' = -6x+2

f '(-4) = 47 > 0

f '(-2) = 7 > 0

f ''(-4) = 26 > 0

f ''(-2) = 14 > 0

x0 = -4

f '(x0) = 48,31

x1 = -4 - = - 3,275512

∆x1=|x1-x0|=0,724488 >ɛ

f(x1) = -6,73999

f '(x1) = 37,35341

x2 = -3,275512 - 0,724488 = - 3,095073

∆x2=|x2-x1|=0,180439 >ɛ

f(x2) = -2,372999

f '(x2) = 26,9671

x3 = -3,095073 - 0,180439 = - 3,0070769

∆x3=|x3-x2|=0,087996 >ɛ

f(x3) = -0,1703459

f '(x3) = 25,153818

x4 = -3,0070769 - 0,087996 = - 3,000304

∆x4=|x4-x3|=0,006772 >ɛ

f(x4) = -0,000729

f '(x4) = 25,08184

x5 = -3,000304 - 0,006772= - 3,000274 ≈ - 3,0000

∆x5=|x5-x4|=0,00003 >ɛ

Лістинг програм: Метод половинного ділення:

#include <cstdlib>

#include <iostream>

#include <math.h>

using namespace std;

int main(int argc, char *argv[])

{

double a,b,c,p,fa,fb,fc,e;

a=-2;

b=2;

e=0.001;

ssulka1:

c=(a+b)/2;

fa=4*a*a*a-3,5*a*a-3,5*a-0,5;

fb=4*b*b*b-3,5*b*b-3,5*b-0,5;

fc=4*c*c*c-3,5*c*c-3,5*c-0,5;

//cout <<"fa="<<fa<< endl;

//cout <<"fb="<<fb<< endl;

//cout <<"fc="<<fc<< endl;

if (fa<0&&fc>0)

b=c;

else

a=c;

p=b-a;

//cout <<"p ="<<p<<endl;

//cout <<"a="<<a<<endl;

//cout <<"b="<<b<<endl;

//cout <<"c="<<c<<endl;

if (p>e)

goto ssulka1;

c=(a+b)/2;

cout <<"x="<<c<< endl;

system("PAUSE");

return EXIT_SUCCESS;

}