Бейстандарт функциялар мен процедуралар.
Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Бейстандарт функциялар мен процедуралар.





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

Негізгі программадан қосалқы программаға берілетін бастапқы мәндер және олардың жұмыс нәтижелері параметрлер ретінде қарастырылады.

Параметр деп қолдану аймағында белгілі бір мән меншіктелетін айнымалыны айтады. Параметрлердің көрсетпелі және нақты түрлері болады. Қосалқы программа тақырыбында жазылатын параметрлер көрсетпелі немесе формальды деп аталады. Ал қосалқы программа ішінде көрсетпелі парметрлердің орнына нақты түрде қойылатын мәндер немесе өрнектер нақтылы параметлер болып табылады.

Процедуралар және оларды сипаттау.

Кез-келген процедура программа блогына ұқсас түрде жазылады да, оның тақырыбы мен тұлғасы болады. Процедура тақырыбы procedure түйінді сөзінен, оның идентификаторынан (атынан) және жай жақшаға аланып, типтері жазылған көрсетпелі параметрлер тізімінен тұрады. Қажет болмаған жағдайды параметрлерді жазбай кетуге рұқсат етілген. Негізгі программа көлемінде осы процедура аты жазылса, ол тек осы бөлікте көрсетілген әрекеттерді орындауы тиіс. Процедура тұлғасы тәуелсіз блок тәрізді жазылады да, шағын программа түрінде қарастырылады.



Процедураны, функцияны сипаттаудың және олардың тақырыптары құрылымының синтаксикалық диаграммасы 1 суретте көрсетілген.

 

Процедурадағы сипатталған белгілер, тұрақтылар, типтер және т.б. тек процедура ішінде ғана анықталған болып саналады. Процедура ішінде негізгі программада сипатталып анықталған кез келген ауқымды айнымалылар мен тұрақтыларды пайдануға рұқсат етілген.

Процедураның синтаксикалық диаграммаға сәйкес жазылуы:

Procedure <аты> (көрсетпелі параметрлер тізімі);

Const …;

Type …;

Var …;

begin

<операторлар>

End;

Процедура өздігінен орындалмайды, оның атын және нақтылы праметрлерін жазу арқылы шақырып орындау керек. Процедураны шақыру жолындағы нақтылы параметрлер саны мен типтері осы процедураны сипаттауда анықталған көрсетпелі параметрлер саны мен типтеріне сәйкес келуі тиіс.

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

Параметрлер мәндерінің алмасуы. Процедуралар мен функциялар тақырыбында формальды параметрлер көрсетіледі, олардың формальды деп аталуы кейіннен әрқайсысының нақтылы параметрлермен алмастыруларынан шыққан. Формальды параметрлер процедураға керекті мәндердің саны мен типін көрсетіп, мынадай обьектілер түрінде кездеседі.

· мән түріндегі параметрлер (мән параметрлер);

· Var сөзінен кейін орналасатын айнымалы түріндегі параметрлер (айнымалы параметрлер), олардан соң тип түрі көрсетіледі.

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

Қосалқы программалардағы формальды және нақтылы параметрлер арасында толық сәйкестік болуы тиіс:

· формальды және нақтылы параметрлердің саны бірдей болады;

· формальды және нақтылы параметрлердің орналасу реттілігі де бір-біріне сәйкес келуі керек;

· әрбір нақтылы параметрдің соған сәйкес формальды параметр типімен бірдей болады.

Мән параметрлер. Мән параметрлер негізгі программадан қосалқы программаға бастапқы мәндерді беру үшін қолданылады. Алдында Var түйінді сөзі пайдаланылмаған формальды параметрлер мән параметрлер болып табылады. Формальды параметрлер тізімінде мән параметрлер үтірлер арқылы ажыратылып, типі көрсетіледі.

Айнымалы параметрлер. Айнымалы параметрлер процедура тақырыбында Var сөзінен кейін жазылады да, міндетті түрде типі көрсетіліп, процедура нәтижесін анықтау үшін қолданылады. Әрбір айнымалы параметр түрінде анықталған формальды параметрге сонымен типі бірдей нақтылы параметр сәйкес келуі тиіс. Мысалы:

Procedure M1 (var x,y:integer; var t;real);

Формальды параметр айнымалы параметр түрінде анықталса, процедураны орындағанда оған айнымалылардың көшірмесі емес, өз мәндері беріледі де, процедура ішіндегі айнымалы параметрдің мәндерінің өзгеруі негізгі программадағы солардың мәндерін де өзгертеді. Сонымен процедураға негізгі программадағы бастапқы мәліметтер тек мән- параметрлер емес, айнымалы параметрлер арқылы да беріле алады. Ал процедура ісінің нәтижесі негізінде программаға тек айнымалы-параметрлер арқылы ғана қайтарылады.

 

Функциялар.

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

Одан кейінгі келесі қатарлар, барлық программалардағы сияқтя белгі таңбаларының анықтамаларынан, тұрақтылардан және айнымалыларды сипаттаудан тұрады. Функцияның негізгі қызметін оның тұлғасын – BEGIN және END сөздерінің арасында орналасқан операторлар атқарады да, ең соңында «;» қойылады. Оның жалпы жазылуы:

Function <аты> (көрсетпелі параметрлер тізімі): <нәтиже типі>;

Const …;

Type …;

Var …;

begin

<операторлар>

End;

Функцияның операторлар бөлімінде ең аз дегенде функция атына мән меншіктейтін бір оператор болуы тиіс. Негізгі программадағы функцияны шақыру нүктесіне оның ең соңғы меншіктелген мәні беріледі. Сонымен қатар функция атын тікелей өрнектердің ішіне жазып, оны басқа обьектілердің параметрі ретінде де пайдалану мүмкіндігі бар.

Процедура мен функция айырмашылықтарын түсіну үшін екі бүтін санды қосу программасын процедура және функция арқылы құрастыралық.

 

a) Program kosu1;

Var a:integer;

Procedure kos (b,c:integer; var k:integer);

Begin

k:=b+c;

end;

Begin

kos(15,4,a);

writeln(‘kos=’,a);

end.

ә) Program kosu2;

Var a:integer;

Function kos (b,c:integer):integer;

Begin

kos:=b+c;

end;

Begin

a:=kos(15,4);

writeln(‘kos=’,a);

end.

 

 

Екі программаның да нәтижесі бірдей болып экранға мынадай нәтиже шығады: kos=19.

Бірінші программаны шақырғанда b және с нақтылы параметрлеріне бүтін мәндер беру керек. Оны шақыру түрі: kos(15,4,a), мұндағы а – бүтін мән қабылдайтын нәтижені сақтауға арналған параметр, ол 19 санына тең.

Екінші программада процедура орнына функция пайдланғанда, қосындыны табу үшін a:=kos(15,4) операторы қолданылды. Нәтиже мұнда kos функциясының мәні болып тұр, оның мәні бүтін сан болады дегенді функция тақырыбының соң тұрған integer сөзі білдіріп тұр. Егер функцияның мәні нақты болуы қажет болса, онда оның орнына real түйінді сөзі тұруы қажет.

 

 

Өзін-өзі тексеруге арналған сұрақтар:

1. Формальды параметрлердің түрлері мен сипатталуы.

2. Функция мен процедураның негізгі айырмашылықтары?

3. Қандай қосалқы программаларды рекурсивті деп аталады?

4. Параметр–мәндер және параметр-айнымалылар айырмашылығы?

5. Қосалқы программалар не үшін қажет?

 

Ұсынылатын әдебиет: [1], [2],[9].

Дәріс 5. Файлдар. Паскальдың графиктік мүмкіндіктері

 

Turbo Pascal программалау тілінде символдық режимнен бөлек графиктік режимде жұмыс істеуге болады. Онда әртүрлі графиктік кескіндер құрастыру мүмкіндігі бар. Turbo Pascal графиктік мүмкіндіктерін пайдалану үшін арнайы “GRAPH” кітапханасы іске қосылады.GRAPH модулінің графиктік процедураларыменен функцияларын қолданып графиктік кескіндерді құрастыруға болады. GRAPH модулінде орналасқан процедуралар мен функцияларды пайдалану үшін програманның сипаттау бөлімінде көрсетіледі:

USES GRAPH.

Графиктермен жұмыс істеу алдында оған сәйкес келетін монитор режимін орнату қажет. Турбо Паскаль тілінде алдын ала бекітілген драйверлер саны бар. Олардың әрқайсысы үш түрлі режимдердің бірінде жұмыс істей алады. Драйвер типі мен оның режимі санмен немесе тұрақты түрінде беріледі.

GRAPH модулі іске қосылысымен оның ішіндегі процедуралар мен функцияларды пайдалана беруге болады.

Графикалық режимді іске қосу:

InitGraph ( Var Driver, Mode:integer; Path:string);

мұндағы Driver– графикалық режимде анықтайтын параметр;

Mode –орнатылған драйверге байланысты берілетін графиктік режим параметрі;

Path – графиктік драйвер файлының атауы және жолы.

Driverмәні GRAPHмодулінде хабарланған тұрақтылар жиынымен шектеледі.

 

DetectGraphпроцедурасы компьютер құрылымын тестілеп, берілген бейнеадаптеріне қандай графиктік драйвер және режим тиімді екендігін анықтайды. Процедура жазылуы:

DetectGraph ( Var Driver, Mode: Integer );

мұндағы Driver– сәйкес келетін графиктік драйвердің типін анықтайды;

Mode - графиктік режим параметрі.

GraphResultқате орындалған графиктік операциялардың кодын шығарады. Функция жазылуы:

GraphResult :Integer;

RestoreCrtModeграфиктік режимнен текстік режимге уақытша ауысу процедурасы. Процедура жазылуы:

RestoreCrtMode ;

RestoreCrtMode –процедурасының CloseGraph процедурасынан айырмашылығы,ол графиктік режимнен текстік режимге ауысқанда графиктік режим параметрлерін сақтап қалады.

Бұл процедураны SetGraphMode процедурасыменен бірге қолдануға болады.Бірге қолдану арқылы текстік режимнен графиктік режимге бірден ауыстырылады.

CloseGraph процедурасы .

Графиктік режимді жабу процедурасы. Процедура жазылымы:

CloseGraph; бұл процедура жадыда орналасқан барлық графиктік параметрлерден босатады.

SetColorпроцедурасы – бейнеленетін символдар мен түзулердің түсін орнату процедурасы. Процедураның жалпы жазылуы :

SetColor(Color :Word);

Мұндағы Color– ағымды түс.

GetColorфункциясы ағымдағы түстің мәнін қайтарады.

Функцияның жазылуы:

Function GetColor: Word;

Бұл функцияSetColorфункциясы арқылы өзгертілген түстің мәнін қайтарады.

GetMaxColorфункциясыSetColorфункциясына параметр ретінде беруге болатын ең үлкен мәнді анықтайды.Жазылуы:

Function GetMaxColor: Word;

Функция арқылы берілетін мән , адаптар және драйверде қолданылатын тип арқылы анықталады. Мысалы SVGA режимінде берілген процедура 15 санын қайтарады.

SetBkColorпроцедурасы фон түсін орнатады.Процедура жазылуы:

Procedure SetBkColor(Color:Word);

мұндағы Color -фонның жаңа түсі. Фон түсі терезе үшін емес, экран түсін өзгертуге беріледі. Фонды өзгерту кодттары 0-15 аралығында болуы тиіс. МЫсалы:

SetBkColor(2);немесеSetBkColor (Green);

Берілген мысал көмегімен экран фоны жасыл түске өзгертіледі.

GetBkColor экрандағы фон түсінің мәнін анықтауға қолданылатын функция.Функцияның жазылуы:

Function GetBkColor: Word;

GetBkColorфункциясының қайтаратын мәні 0-15 аралығында болады. Ал текстік режимде берілген түстер санының тен жартысын ғана қолдануға болады.

SetPaletteпалитра түсін жаңа түске ауыстыру процедурасы.

Procedure SetPalette(Cut:Word;Paste:Shortint);

мұндағы: Cut–палитра түсі;

Paste– жаңа түстің коды.мысалы :SetPalette(9,4);берілген көк түсті қызыл түске ауыстыру процедурасы.

SetFillStyleбоялу түсін және нұсқасын анықтайды.Процедураның жазылуы:

ProcedureSetFillStyle (Pattern:Word;Color:Word);

Pattern –толтыру нұсқасы.

GetXжәнеGetY ағымдағы нүктенің тік және көлденең координаталар мәнін қайтарады.Функцияның жазылуы:

Function GetX: Integer;

Function GetY: Integer;

GetXжәнеGetYфункцияларынын мәндері экранның сол жақ жоғарғы бұрышынан нөлден басталып есептеледі.

Move Toағымдағы көрсеткішті берілген координата бойынша орналастырады.Процедураның жазылуы:

Procedure Move To (X,Y:Integer);

Мұндағы Х және У – көрсеткіш орнын ауыстыруға берілетін экрандағы нүкте координаталары.

ClearDeviceэкранды тазартып , ағымдағы көрсеткішті экранның жоғарғы сол жақ бұрышына орналастырады.

 

Процедураның жазылуы:

Procedure ClearDevice;Экранды тазартып , SetBkColorпроцедурасының көмегімен берілген түске бояйды.

GetPixel XжәнеYкоординаталары бойынша орналасқан нүкте түсінің кодын қайтарады.

Function GetPixel (X,Y:Integer):Word;

PutPixelберілген орынға берілген түс бойынша нүкте бейнелейді.Процедураның жазылуы:

Procedure PutPixel ( X,Y:Integer;Color:Word);

Lineберілген координаталар бойынша екі нүкте аралығында түзу бейнелеу процедурасы.Процедураның жазылуы:

Procedure Line (X1,Y1,X2,Y2:Integer);

Х1,У1-түзудің басталунүктесінің координаталары;

Х2,У2- түзудің соңғы нүктесінің координаталары.

Түзудің қалындығын және бейнелену түрін SetLineStyle процедурасының көмегімен анықтайды.

Ал түзудің түсі SetColorпроцедурасының көмегімен беріледі.

Line Toағымдағы орыннан бастап берілген координатаға дейін түзу тұрғызу процедурасы.Процедураның жазылуы:

Procedure Line To (X,Y:Integer);

Түзудің түсіSetColorпроцедурасының көмегімен беріліп, қалыңдығы және бейнелену түрі SetLineStyle процедурасының көмегіменнен анықталады.

 

Өзін-өзі теkсеру сұрақтары:

  1. Графиктік режимді іске қосу қалай жүзеге асады?
  2. Graph модулінің процедуралары қандай?
  3. Graph модулінің функциялары қандай?
  4. Түзу, шеңбердің түсін, қалыңдығын қалай өзгертеміз?

 

Ұсынылатын әдебиет: [1], [2],[9].

Дәріс 6. Сандық әдістер. Интерполяция және оның түрлері

1. Интерполяция және оның түрлері.

2. Сызықтық, квадраттық интерполяциялар.

3. Лагранждың интерполяциялық формулалары.

 

Кестемен берілген мәндері арқылы , берілген бір нүктедегі функцияның мәнін табуды интерполяция деп атайды. Интерполяцияның келесі түрлері болады: сызықты , квадраттық және

Ньютон мен Лагранждың интерполяциялық формулалары.

Сызықты интерполяция. Сызықты интерполяцияда берілген нүктелерді қисық сызықтар арқылы қосамыз. Бұл жергілікті интерполяцияға жатады, себебі берілген нүктеге көршілес жатқан екі нүктені қарастырамыз.

Белгісіз функцияның мәні келесі түрде ізделінеді

. (1.1)

және коэффиценттерін табу үшін, және нүктелері арқылы өтетін түзудің канондық теңдеуін жазамыз

. (1.2)

 

Бұл жерден

. (1.3)

Сосын (1.1) және (1.3) өрнектерін салыстыра отырып және коэффиценттерін табамыз

. (1.4)

Квадраттық интерполяция.Квадраттық интерполяцияда функцияның мәнің келесі түрде ізделінеді

(1.5)

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

( 1.6)

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

(1.7)

Мұндағы

(1.8)

егер .

Сол сияқтя болған кезде (1.8)-ші өрекгінің алымы нөлге айналады.

Онда (1.8) –ге сәйкес келесі өрнектерді жазамыз:

(1.9)

(1.7)-ге (1.8)-(1.9) өрнектерін қоямыз:

(1.20)

Бұл формула Лагранждың интерполяциялық көпмүшелігі деп аталады.

 

Өзін-өзі тексеру сұрақтары

 

  1. Сызықтық, квадраттық интерполяциялық формулаларын қорытып шығару.
  2. Ньютон және Лагранждың интерполяциялық формулаларын қай кезде қолданған дұрыс.
  3. Әр әдістің қателіктерін анықтаңыздар.

 

Ұсынылатын әдебиет: [2],[9], [12].

 

Дәріс 7. Кейбір физикалық есептерді шешу кезінде кездесетін анықталған интегралдарды есептеу

1. Интегралды сандық шешу әдістерінің түрлері.

2. Төртбұрыш әдісі.

3. Трапеция әдісі.

4. Симпсон әдісі.

 

Анықталған интегралды аналитикалық шешу үшін Ньютон-Лейбниц формуласын қолданады:

(2.1)

мұндағы - функциясының алғашқы функциясы. Бірақ практикада бұл формуланы екі себепке байланысты қолдана алмаймыз:

1) -функциясының алғашқы түрін қарапайым функциялар арқылы сипаттай алмайтындықтан;

2) -функциясының шамасы тек кесте түрінде берілсе.

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

Трапецияның ауданың есептеу үшін аралығын элементар аралыққа бөлеміз бұл жердегі , . Төртбұрыштардан тұратын сатылы фигураны саламыз. Әр бір төртбұрыш абцисса өсімен, , түзулерімен және функциясымен құралған. АВСД төртбұрышының ауданы келесі формула бойынша есептеледі:

мұндағы .

2.1 -сурет. Сол интегралдық қосынды

 

Кез-келген төртбұрыштың ауданы:

мұндағы интегралдау қадамы. Онда сатылы фигураның ауданы:

(2.2)

мұндағы -интегралды қосынды деп аталады.

Бөлу нүктесін көбейтіп және барлық элементтерін нөлге ұмтылдырсақ онда сатылы фигураның жоғарғы шекарасы сызығына ауысады, сондықтан интегралды келесі түрде жазамыз:

. (2.3)

шеткі мәнге ие болған жағдайда, интегралдық қосындының көмегімен анықталған интегралдың мәнін келесі формула бойынша есептеледі:

(2.4 )

мұндағы екінші қосынды әдістің қателігі болып табылады. Ол қадамға байланысты болады.

(2.2) интегралды қосындысы сол қосынды деп аталады. Оң интегралды қосындыны алу үшін абцисса өсімен, , түзулерімен және функциясымен құралатын сатылы фигураны саламыз.

Оң интегралды қосынды бойынша есептеу формуласы:

. (2.5)

2.2-сурет. Оң интегралдық қосынды

 

Сонымен қатар оң және сол төртбұрыштар әдістеріне қарағанда дәлірек әдіс болып саналатын орташа мәндер әдісі бар. Бұл әдісте аралықтарындағы орта мән алынады:

. (2.6)

 

Трапеция әдісінде интегралдық қосындыны элементар трапециялардың аудандарының қосындылары ретінде қарастырамыз (2.3 -сурет):

(2.7)

2.3-сурет. Трапеция әдісінің көрінісі

 

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

. (2.8)

 

Өзін-өзі тексеру сұрақтары

 

  1. Төртбұрыштар әдісінің қандай түрлерін білесіздер?
  2. Трапеция, Симпсон әдісінің формулаларын қорытып шығарыңыз.
  3. Әр әдістің қателіктерін анықтаңыздар.

 

Ұсынылатын әдебиет: [2],[9], [12].

 

Дәріс 8. Сызықты емес теңдеулерді шешу әдістері. Сызықты теңдеулер жүйесін шешу әдістері

  1. Сызықты емес теңдеуді шешу қадамдары.
  2. Сызықты емес теңдеуді шешу әдістері. Бисекция, хорда, Ньютон әдістері.
  3. Сызықты теңдеулер жүйесін шешу әдістері. Гаусс, қуалау әдістері.

 

1. Сызықты емес теңдеулерді шешу.

Ғылыми зерттеу жұмыстарындағы ең жиі кездесетін мәселе

(1.1)

түріндегі сызықты емес теңдеулерді шешу, мұндағы - алгебралық та, трансценденттік өрнектен тұратын сызық емес функция. Сызықты емес теңдеулерді шешу екі қадамнан тұрады: түбір жатқан аралықтарды анықтау және түбірлерді табу.

Аралықтарды анықтау. Бұл қадамда тек ғана бір түбір жататын аралықтарды анықтаймыз. Келесі қадамда табылған аралықтардағы түбірлерді табамыз.

(1.1) теңдеуінің аралығында түбірі болу үшін келесі шарт орындалуы тиіс

(1.2)

Бисекция (кесіндіні жартылай бөлу әдісі.Бұл әдісте түбірдің алғашқы жуықтауы ретінде нүктесі алынады. Пайда болған екі аралықтан және (1.2) шарт бойынша тек түбір жатқан аралық алынады. Осы процедураны рет қайталаймыз, яғни түбір жатқан аралықты рет кішірейтеміз. Интерацияны болғанша жүргіземіз, мұндағы -берілген өте аз шама болып табылады.

Хорда әдісі.Бұл жағдайда түбірдің алғашқы жуықтауы ретінде АВ хордасының абцисса осімен қиылысу нүктесі алынады. Қиылысу нүктесінің координатасы және , онда АВ хордасының теңдеуінен

(1.3)

теңдеудің түбірін табамыз:

. (1.4)

Әрі қарай пайда болған және аралықтарынан (1.2) шарт бойынша түбір жатқан аралықты ғана таңдап аламыз. Жоғардағы айтылған тәсіл бойынша келесі жуықтауды табамыз, сөйтіп әрі қарай болғанға дейін қайталай береміз.

Ньютон әдісі.Бұл әдістің жоғардағы айтылып кеткен әдістерден ерекшелігі, түбір жатқан аралықтан берілуі міндетті емес, тек түбірдің алғашқы жуықтауы берілсе болғаны. Жуық түбір болып, бірінші қадам бойынша табылған аралығының бір шеті алынуы мүмкін. Келесі жуық түбір болып нүктесінен қисығына жүргізілген жанаманың абцисса осімен қиылысу нүктесі алынады.

Жанаманың теңдеуі келесі түрде жазылады:

.

Бұл жерден екінші жуықтау бойынша анықталатын түбірді табуға болады:

 

Келесі жуықтаулар төмендегі формула бойынша есептелінеді:

. (1.5)

Интерациялық процесс шарты орындалғанға дейін жүреді.

 

Өзін-өзі тексеру сұрақтары:

  1. Сызықты емес теңдеулерді шешуге алып келетін физикалық есептер.
  2. Ньютон әдісінің артықшылығы мен кемшілігі.
  3. Итерациялық әдісті қандай шарт орындалғанша қайталанады?

 

Ұсынылатын әдебиет: [2],[9], [12].

 

Дәріс 9 Сызықты теңдеулер жүйесін шешу

  1. Гаусс әдісі.
  2. Гаусс-Зейдель әдісі
  3. Қуалау әдісі

 

Физикадағы көптеген практикалық есептер сызықты теңдеулер жүйесін шешуге негізделген. Мысалы:

теңдеулер жүйесінен тұратын жүйені жазайық:

(2.1)

Жүйе коэффициенттерінің жиынтын кесте түрінде жазамыз:

-ші ретті матрицаның анықтауышы деп, келесі шама айтамыз:

Сызықты теңдеулер жүйесіннің шешімі болу үшін болуы тиіс.

Гаусс әдісі.Бұл әдіс жүйе матрицасын үш бұрышты түрге келтіруге негізделген. Гаусс әдісі екі әдістен тұрады: тура және кері әдіс. Тура әдісте белгісіз айнымалыларды біртіндеп жоямыз да, соңғы теңдеуден -ға байланысты мүшені қалдырамыз. Кері әдісте соңғы теңдеуден -ді тауып, әрі қарай белгісіз айнымалыларды табамыз.

Келесі жүйе үшін Гаусс әдісін қарастырамыз

(2.2)

2-ші теңдеудегі -ді жою үшін 1-ші теңдеуді -ге көбейтіп, 2-ші теңдеуге қосамыз. Сосын 1-ші теңдеуді көбейтіп 3-ші теңдеуге қосамыз. Сөйтіп келесі теңдеулер жүйесін аламыз:

(2.3)

Енді (2.3) жүйенің 3-ші теңдеуінен -ні алып тастау үшін (2.3) жүйенің 2-ші теңдеуін -ге көбейтіп 3-ші теңдеуге қосамыз. Келесі теңдеулер жүйесін аламыз:

(2.4)

(2.4)-ші жүйенің матрицасы үшбұрышты күйге келді. Осымен Гаусстың тура әдісі аяқталады.

Әрі қарай кері әдіс бойынша (2.4) жүйеден : .

Осы табылған мән арқылы 2-ші теңдеуден -ні, ал 1-ші теңдеуден -ді табамыз:

.

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

Теңдеулер жүйесін келесі түрде жазамыз

(2.5)

 

-негізгі диагональ элементтері және олар нөлге тең болмайды.

«Қуалау» әдісі тура және кері әдістерден тұрады.

Қуалаудың тура әдісінде қуалау коэффициенттері арқылы -ді арқылы өрнектейміз

(2.6)

(2.5) –ші жүйенің 1-ші теңдеуінен -ді табамыз

(2.7)

(2.6) формула бойынша . (2.8)

(2.7) мен (2.8) –ді салыстыра отырып табамыз.

(2.5) жүйенің 2-ші теңдеуіндегі -ді (2.8) формуламен алмастырамыз:

Бұл жерден -ні табамыз

немесе , мұндағы

Осылай кез-келген қуалау коэффициентін табуға болады:

Кері қуалау әдісінде белгісіз -ді табамыз. Бірінші -ді табамыз. Ол үшін мәні үшін (2.6) өрнегін және (2.5) жүйедегі соңғы теңдеуді қарастырамыз:

(2.8)

Осы жерден -ді алып тастаймыз да -ді табамыз

(2.9)

Әрі қарай формула бойынша мәндерін табамыз.

 

Өзін-өзі тексеру сұрақтары:

  1. Сызықты емес теңдеулер жүйесін шешуге алып келетін физикалық есептер.
  2. Сызықты теңдеулер жүйесін шешудің Гаусс әдісі.
  3. Сызықты теңдеулер жүйесін шешудің Гаусс-Зейдель әдісі.
  4. Сызықты теңдеулер жүйесін шешудің қуалау әдісі.
  5. Әдістердің үлгі-бөліктері.

 

Ұсынылатын әдебиет: [2],[9], [12].

Дәріс 10. Дифференциалдық теңдеулерді шешу және әдістері. Коши есебі

1. Эйлер әдісі.

2. Дәлірек Эйлер әдісі.

3. Рунге-Кутта әдісі.

4. Диффренциалдық теңдеулер жүйесін шешу.

 









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.