Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ҚАЗАҚСТАН ҒЫЛЫМ ЖӘНЕ БІЛІМ МИНИСТРЛІГІ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.32 Mб
Скачать

Интеграл есептеудің Тіктөртбұрыш,Трапеция,Симпсон әдістеріне анализ

Интеграл есептеудің тіктөртбұрыш, трапеция, симпсон әдістеріне анализ жасайық.Берілген 3 функцияны қарастырайық.

1)√х52 ;

2)1/х+2 х5 ;

3)е+ х2;

Функцияларды берілген [a,b] аралығында салыстырамыз.

1)a=1

b=5

Әдістер

N

In

2n

I2n

I2n-In

Тіктөртбұрыш

10

159.477

100

150.164

9.31265

Трапеция

10

153.258

100

153.258

0.0321523

Симпсон

10

153.247

100

153.248

0.0012573

2)a=1;

b=5

Әдістер

N

In

2n

I2n

I2n-In

Тіктөртбұрыш

100

5.6112e+006

140

5.47116e+006

140125

Трапеция

100

5.33708e+006

140

5.33406e+006

3025.28

Симпсон

100

5.33299e+006

140

5.333e+0.006

0.0012573

3)a=1;

b=5

Әдістер

1000

In

2n

I2n

I2n-In

Тіктөртбұрыш

1000

75496.7

160

84539.3

9042.61

Трапеция

1000

81601.4

160

84487

114.348

Симпсон

1000

81448.9

160

81448.9

0.0129501

Бұдан көретініміз , n өскен сайын интеграл мәні нақтырақ болады. Кестеге қарасақ Симпсон әдісі тиімді, және дәл.Интегралдарды жуықтап есептеу әдісі күрделі есептерді есептеуде кең қолданылады

Қақ бөлу әдісі. (биссекция әдісі)

Айталық, (1)

теңдеуі берілсін және сонымен қоса функциясы кесіндісінде үзіліссіз және болсын. Теңдеудің алдын ала дәлдікпен берілген түбірін табу үшін кесіндісін қақ бөлеміз, яғни . Егер болса, онда теңдеудің шешуін тапқанымыз, ал олай болмаған жағдайда немесе кесінділерін қарастырамыз, егер болса, онда деп аламыз, олай болмаса , деп аламыз. Осыдан кейін кесіндісін қақ бөлу арқылы табамыз. Егер болса, онда теңдеуді жуық түбірі табылды деп есептейміз, ал олай болмаған жағдайда кесіндісін тағы қақ бөлеміз. Осы процестерді қайталау арқылы , ,…, кесінділер тізбегін аламыз. Бұл кесіндіде болғандықтан және теңдігі орындалатындықтан тізбектерінің ортақ шегі бар, яғни

үзіліссіз болғандықтан Осы теңсіздіктен , яғни -теңдеудің түбірі. Сонымен қоса

. (2)

Бұл әдісті көп жағдайларда, теңдеудің түбірлерінің бастапқы жуық мәнін табуға қолдануға болады.

Әдісте функцияның туындыларына ешқандай шек қойылмайтын- дықтан және алгоритмі қарапайым болу себепті, әдіс ЭВМ-де теңдеуді шешуге өте қолайлы.

#include <iostream.h>

#include <math.h>

double f(double x) {

double s=sin(pow(x,3))-2*x;

return s;

}

void main ()

{

int n=0;

double d,a,b,c,h,E;

cin >> a >> b >> E;

d=(b-a)/2;c=a+d;

if(f(a)==0){c=a;cout<<"c="<<c;}

if(f(b)==0){c=b;cout<<"c="<<c;}

if(f(c)==0){cout<<"c="<<c;}

if (f(a)*f(b)>0)

{cout<<"duris emes baska san engiz"<<" " << endl;;}

else if(f(a)*f(b)<0) { while (fabs(f(c))>E)

{ d=(b-a)/2;c=a+d;

if(f(c)*f(a)>0) {a=c;}

if(f(c)*f(b)>0) {b=c;} n++;}

cout<<"n="<<n<<" "<<"c="<<c;}

}

Ньютон әдісі. (Жанама әдісі)

Айталық, функциясы кесіндісінде төмендегі шарт- тарды қанағаттандырсын:

функциялары үзіліссіз.

таңбаларын өзгертпейді.

.

болғанда теңсіздігі орындалады.

.

Енді берілген теңдеуінің шешуі, ал теңдеудің жуық шешуі болса, онда жеткілікті аз шама. Осыдан .

Егер (1)

теңдеуінің сол жағын нүктесінде Тэйлор қатарына жіктесек

теңдігін аламыз. Осыдан өте аз шама десек, онда жуықтау теңдігінен -ды табамыз:

, (2)

Сондықтан . Немесе деп аламыз. Яғни дәлдігі жоғары келесі жуық шешу былайша табылады:

. (3.)

Бұл формуланы Ньютон әдісі деп атайды.

Енді Ньютон әдісінің жинақтылығын бағалайық.

Тэйлор формуласын қолдану арқылы

формуласын аламыз. Мұнда Осыдан . (3.1)

(3.10) формуласынан (3.1) формуласын ескере отырып, мына формуланы аламыз:

.

Егер деп белгілесек, онда

, ( 3.2)

Осыдан Ньютон әдісінің жинақталу жылдамдығы шығады.

#include <iostream.h>

#include <math.h>

double f(double n) {

double s=2*pow(n,2)+n;

return s;

}

double g(double n) {

double h=6*pow(n,2)+2;

return h;

}

double x[1000000];

int main() {

int i=0;

double d,x1,e,c;

cout<<"x1=";

cin >> x1 ;

cout<<"E= ";

cin>> e;

x[0] = x1;

d=f(x1)/g(x1);

if (f(x1) == 0)

{

c=x1;

}

else {

while(fabs(f(c)) > e ) {

d=f(x[i])/g(x[0]);

x[i+1] = x[i] - d;

c=x[i+1];

i++; }}

cout << "x[n]=" <<c<< " n= " << i << endl;

return 0;

}

1)x1=4; E=2;x[n]=0.770049; n=36

2)x1=3; E=2; x[n]=0.775729;n=18;

3)x1=5; E=3; x[n]=0.993236;n=46

Гаусс әдісі.

Бізге

АХ=F (4.1)

Теңдеулер жүйесі берілсін және |А| 0 дейік. Онда бұл жүйенің шешуін

Х=A-1F түрінде жазуға болады. Осыдан (4.1) теңдеулер жүйесін шешу үшін А-1-ді табу керек. Бірақ А-1-ді табу көптеген жағдайда тиімді болмағандықтан, оны таппай-ақ жүйенің шешуін іздестіретін жолдарды қарастыруға тура келеді. Сондай жолдардын кең тараған түрі Гаусс әдісі болып табылады. Онын әртүрлі есептеу алгоритмдері бар болғандықтан, біз тек бір ғана қарапайым түрін қарастырамыз.

Гаусс әдісінің есептеу алгоритмі.

Айталық,

(і=1,…,n ) (4.2)

теңдеулер жүйесін шешу керек болсын.

Егер (4.2) жүйесінің матрицасының элементтері і>k болғанда aіk=0 болса , онда (4.2) жүйенің шешуі былайша табылады :

(і=1,…,n). (4.3)

Сондықтан Гаусс әдісі берілген жүйенің матрицасын үшбұрышты матрица түріне түрлендіруге негізделген.

Бұл түрлендіру былайша жүргізіледі.

Айталық, (4.2) жүйесінде а11 0 болсын.(ал а11=0 болса, онда жүйеден аkl 0 коэффициенті бар теңдеуді бірінші теңдеумен алмастырамыз) Бірінші теңдеуді а11-ге бөлу арқылы

х1+С12х2+ ...+С1nxn=y1 (4.5)

теңдеуін аламыз. Мұнда , (j=2,…,n) , .

Енді қалған

aі1x1+aі2x2+…+aіnxn=fі (і=2,…,n) (4.6)

теңдеулер жүйесінен (4.5) теңдеуін aі1 -ге көбейтіп алып тастасақ, онда мынандай теңдеулер жүйесін аламыз.

x1+С12х2+ . . .+C1jxj+. . .+C1nxn=y1

a22(1)x2+. . .+a2j(1)xj+. . .+a2n(1)xn=f2(1) (4.7)

- - - - - - - - - - - - - - - - - - - -

an2(1)x2+. . .+anj(1)xj+. . .+ann(1)xn=fn(1)

Мұнда aіj(!)=aіj-C1j aі1,

fі(1)=fі-y1aі1 (і,j=2,3,…,n) (4.8)

(4.7) теңдеулер жүйесінде х1 белгісізі тек бірінші теңдеуде болғандықтан, егер

(і=2,…,n) (4.9)

теңдеулер жүйесін қарастырамыз. Егер а22(1) 0 болса, онда жоғарыдағы тәсілді қолдану арқылы мына теңдеулер жүйесіне келеміз:

x1+C12x2+ . . . +C1nxn=y1

x2+C23x3+…+C2nxn=y2

a33(2)x3+…+C3nxn=f3(2) (4.10)

--------------------

an3(2)x3+…+Cnnxn=fn(2).

Мұнда ,

aіj(2)=aіj(1)-C2j aі2(1) ,

fі(2)=fі(1)-y2aі2 ( і,j=3,…,n).