ДЩрістердіЈ тірек коспектілері ффсо пгу 18. 2/05



Дата17.06.2016
өлшемі228.95 Kb.
#143099

ДЩрістердіЈ тірек коспектілері

ФФСО ПГУ 7.18.2/05

љаза›стан РеспубликасыныЈ Білім жЩне “ылым министрлігі


С. Торай“ыров атында“ы Павлодар мемлекеттік университеті
Информатика жЩне а›паратты› жЇйелер кафедрасы

050703 ЁCа›паратты› жЇйелері

маманды“ыныЈ студенттері Їшін
«Санды› Щдістері» пЩні бойынша

пЩнді о›у“а Щдістемелік н±с›аулар


Павлодар
ДЩрістердіЈ тірек коспектілерін бекіту пара“ы

ФФСО ПГУ 7.18.1/05

БЕКІТЕМІН

ФМж/еАТ факультетініЈ деканы

___________ С.К.Тлеукенов

200 __ ж. «___»____________

љ±растырушы: А“а о›ытушы Джарасова Г.С.


Информатика жЩне а›паратты› жЇйелер кафедрасы

050703 «А›паратты› жЇйелер» маманды“ыныЈ студенттері Їшін


«Санды› Щдістер» пЩні бойынша пЩнді о›у“а Щдістемелік н±с›аулар

Кафедра мЩжілісінде бекітілді, 200__ж. «___»____________ Хаттама №_____.


Кафедра меЈгерушісі _________________________ Н±рбекова Ж.љ.

ФакультеттіЈ Щдістемелік кеЈесінде ›±пталды,


200__ж. «___»____________ Хаттама №_____.

ШК тйрайымы _________________________ Кишубаева А.Т.

ПЩнді о›ытуда“ы ма›сат ЁC о›ушылар“а есептеу машинасыныЈ Щдістерін игеру Їшін ›ажетті білім мен да“дыларын ›амтамасыз ету жЩне оларды кейінгі маман ретінде ›олданбалы математика айма“ында“ы іс-Щрекеттерінде пайдалану“а о›ыту.
Курс міндеттері ЁC студенттерге жЇйелі тЇрде ›олданбалы есептерді жуы›тау (санды›) Щдістерімен шешу ±“ымдарын ›алыптастыру жЩне студенттерді математикалы› есептерді шешудіЈ есептеу алгоритмдерін ›±растыру“а жЩне ЭЕМ кймегін ›олдану“а дайындау.
Жо“ары кЩсіптік білім берудіЈ Мемлекеттік білім беру стандартыныЈ талаптарына сЩйкес курсты о›у нЩтижесінде студенттердіЈ игеруі керек:

есептерді санды› шешудіЈ негізгі ±“ымдары;

алгоритмдер жЩне программалы› ›±ралдарды пайдалану принциптері;

вариациалы› есептеменіЈ негізгі Щдістері туралы тЇсінік алу.


Курсты о›у нЩтижесінде студенттер білуі керек:

ЕТ мЇмкіндіктерін жЩне программалы› ›амтамасыздандыруды пайдалануды;

тЩжірибелік экстремальды есептердіЈ математикалы› моделдерін ›±растыруды;

шешудіЈ белгілі Щдістерін пайдалануды жЩне ›орытынды жасауды.


«Есептеу Щдістері» пЩнін о›у Їшін студенттер келесі пЩндерді меЈгерулері тиіс:

Математикалы› талдау;

Алгебра жЩне геометрия;

Дифференциалды› теЈдеулер.

ДЩріс №1 Кіріспе

Жоспар


Есептеу Щдістері ЁC таным Їрдісіндегі есептеу математикасыныЈ ›ажетті бйлімі.

Есептеу математикасыныЈ пайда болуында“ы санды› ЩдістердіЈ рйлі.

Есептеу математикасыныЈ ЩртЇрлі халы› шаруашылы› айма“ында практикалы› ›олданылуыныЈ болаша›тылы“ы.

Шдебиеттер: [1], 6-13 б., [2]-[4], 13-16 б., [6], 8-13 б.


ДЩріс №2 Алгебралы› жЩне трансценденттік теЈдеулерді шешудіЈ санды› Щдістері

2.1 ТеЈдеулерді шешу есебініЈ ›ойылымы

ТеЈдеуді шешу ЁC оныЈ тЇбірлері болатынын, егер бар болатын болса нешеу екенін жЩне оларды белгілі дЩлдікпен мЩндерін аны›тау.

µ §


тЇріндегі сызы›ты› емес теЈдеулердіЈ тЇбірлерін табу есебі ЩртЇрлі “ылыми зерттеулерде кездеседі (м±нда“ы µ § ЁC аны›тал“ан жЩне шектеулі немесе шектеусіз µ § аралы“ында Їздіксіз функция). Сызы›ты› емес теЈдеулерді екі клас›а бйлуге болады: алгебралы› жЩне трансценденттік. Алгебралы› теЈдеулер деп тек алгебралы› функцияларды “ана (бЇтін, рационал, иррационал) ›амтитын теЈдеулерді айтады. Дербес жа“дайда, кйпмЇше бЇтін алгебралы› теЈдеу болып табылады. Бас›адай функцияларды (тригонометриялы›, кйрсеткіштік, логарифмдік, жЩне т.б.) ›амтитын теЈдеулерді трансценденттік деп атайды.

Шрбір µ § сандар µ § функциясын нйлге айналдыратын болса, я“ни µ §, берілген теЈдеудіЈ тЇбірі деп аталады. µ § саны µ § еселі тЇбір деп аталады, егер µ § бол“анда µ § функциясымен бірге оныЈ µ §-ші ретті туындылары да нйлге теЈ болса:

µ §

Сызы›ты› емес теЈдеулерді шешудіЈ Щдістері тура жЩне итерациялы› болып бйлінеді. Тура Щдістер тЇбірлерді шекті ›атынас (формула) тЇрінде жазу“а мЇмкіндік береді. Мектеп курсынан тригонометриялы›, логарифмдік, кйрсеткіштік, сонымен ›атар ›арапайым алгебралы› теЈдеулерді шешу Їшін Щдістер белгілі. Біра› та тЩжірибеде теЈдеулердіЈ м±ндай Щдістермен шешілмейтіндері де кездеседі. Оларды шешу Їшін итерациялы› Щдістер пайдаланады, я“ни тізбектелген жуы›тау Щдістері (санды› Щдістер).



ТеЈдеудіЈ тЇбірлерін санды› Щдіспен табу есебі екі кезеЈнен т±рады: тЇбірлерді айыру, я“ни тЇбірдіЈ бір “ана мЩнін ›амтитын жеткілікті аз (сы“ыл“ан) айма›тарды табу жЩне тЇбірлерді аны›тау, я“ни ›андайда бір айма›та“ы тЇбірді белгілі дЩлдікпен есептеу.
2.2 Алгебралы› жЩне трансценденттік теЈдеулердіЈ тЇбірлерін айыру

Айталы› бізге

µ §

тЇріндегі теЈдеу берілсін. М±нда“ы µ § ЁC алгебралы› немесе трансценденттік функция. Егер біз µ § функциясыныЈ графигін пайдаланса›, онда теЈдеудіЈ тЇбірлері жуы›тап ал“анда, абсцисса осімен ›иылысу нЇктелері болма›. Есепті ы›шамдау ар›ылы, берілген теЈдеуді о“ан мЩндес



µ §

теЈдеуімен алмастыру“а болады. М±ндай жа“дайда µ § жЩне µ § функцияларыныЈ графиктері салынып, Ох осіндегі осы графиктердіЈ ›иылысу нЇктелерін кйрсететін кесінділері белгіленеді.

Мысал 1. µ § теЈдеуініЈ тЇбірлерін айыру керек.

ТЇбірлерін графикалы› тЇрде айыру Їшін, оны о“ан мЩндес µ § тЇрге келтіреміз. µ § жЩне µ § функцияларыныЈ графиктерін жеке-жеке саламыз.

Графикке ›арап, оныЈ µ § бір тЇбірі болатынын кйреміз жЩне ол µ § кесіндісінде жатады.

ТЇбірлерді айыру туралы есептерді шешу барысында келесі жайттардыЈ пайдасы бар:

Егер µ § кесіндісінде Їздіксіз µ § функциясы, оныЈ шеткі нЇктелерінде ЩртЇрлі таЈбалы мЩндер ›абылдаса (я“ни µ §) , онда берілген теЈдеудіЈ осы кесіндіде кем дегенде бір тЇбірі бар болады.

Егер µ § функциясы монотонды (кемімелі немесе йспелі) болса, µ § кесіндісіндегі тЇбір жал“ыз “ана болады.

Тексеру Їшін µ § функциясыныЈ µ § кесіндісініЈ шеткі нЇктелеріндегі мЩндерін есептейік: µ §; µ §. Бай›ауымызша, µ § кесіндісінде тЇбірдіЈ болатынын аламыз.

љарапайым жа“дайда, тЇбірлерді графикалы› айыруды ›олмен еептеуге болады, кейде кЇрделі жа“дайларда теЈдеудіЈ тЇбірі берілген кесіндіде болуын (санын) аны›тауда компьютердіЈ ›олданбалы ба“дарламасын пайдалану“а немесе программалау тілінде программа ›±растыру“а болады.

Айталы› µ § теЈдеуініЈ барлы› тЇбірлері µ § кесіндісіне тиісті болсын, я“ни µ §. Бізге теЈдеудіЈ тЇбірлерін айыру керек, я“ни бір тЇбірден жататын барлы› µ § кесінділерді кйрсету керек.

µ § -тіЈ мЩнін µ § нЇктесінен бастап оЈ жа››а ›арай ›андайда бір µ § ›адаммен ›оз“ала отырып есептейміз.

µ § -тіЈ кйршілес екі ЩртЇрлі таЈбалы мЩндері пайда бол“ан кезде, алын“ан кесіндіге тЇбір тиісті болатынын аламыз.

ТеЈдеудіЈ шешімін программалау тілі кймегімен ›арастырайы›. Осы“ан сЩйкес келетін алгоритмніЈ жалпы схемасын кйрсетейік. љойыл“ан есептіЈ нЩтижесі экранда кйрсетілген µ § жЩне µ § параметрлерініЈ мЩндері (белгіленген кесіндініЈ шеткі нЇктелері) болады.


Мысал 2. µ § теЈдеуініЈ µ § кесіндідегі тЇбірлерін 0,1 ›адаммен бйліктерге бйліЈдер.

Б±л есепті Excel кймегімен шешуге болады. Компьютер экранында µ § функциясыныЈ графигінен бас›а мЩндері аны›тал“ан кесте жЩне одан 0,1 ›адаммен жеті бйлінген кесінділердіЈ нЩтижесін алу“а болады: µ §; µ §; µ §; µ §; µ §; µ §; µ §.

ТЇбірлерді айыру алгоритмініЈ схемасы бойынша программаны оЈай ›±растыру“а болады. Тйменде Turbo Pascal тілінде ›±рыл“ан программаны ±сынамыз:

Program Separat_root;

uses crt;

var a,b,x1,x2,y1,y2,h:real; n,k:integer;

function f(x:real):real; {уравнение вида F(x)=0}

begin f:=cos(x)-0.1*x;

end;
begin

clrscr;

writeln (' Введите a,b,h '); read (a,b,h);



k:=0; x1:=a; x2:=x1+h; y1:=f (x1);

while x2

begin y2:=f (x2);

if y1*y2<0 then

begin inc(k);

writeln (k, '-й корень

[ ', x1:4:1, , ' ; ' , x2:4:1, , ' ] ' )

end;


x1:=x2; x2:=x1+h; y1:=y2;

end;


repeat until keypressed

end.


ПрограмманыЈ орындалу нЩтижесі:

Ескерту. ТеЈдеудіЈ тЇбірлерін айыру алгоритмініЈ сенімділігі µ § функциясыныЈ сипатына жЩне таЈдал“ан µ § ›адамныЈ шамасына тЩуелді. µ § функциясыныЈ µ § кесіндісінде бір емес бірнеше тЇбірлері болуы мЇмкін. Сонды›тан тЇбірлерді айыру барысында µ § ›адамныЈ шамасын йте аз етіп ал“ан д±рыс.


Тапсырма 1. Берілген теЈдеудіЈ тЇбірлерін графикалы› Щдісті пайдаланып айырыЈдар жЩне осы тапсырманы программалау тілініЈ кймегімен орындаЈдар:


2.3 Жартылай бйлу Щдісімен теЈдеудіЈ тЇбірін аны›тау

Сызы›ты› емес теЈдеулердіЈ тЇбірлерін табудыЈ ›арапайым ЩдістердіЈ бірі болып табылады.

µ §

теЈдеуін шешу барысында, ереже бойынша µ § тЇбірі жуы› мЩнініЈ алдын ала µ § мЇмкін ›ателігі беріледі. ТЇбірлерді аны›тау Їрдісінде олардыЈ µ § ›ателігінен Їлкен емес жуы› мЩндерін табуды талап етеді.



Айталы› теЈдеудіЈ µ § кесіндісінде бір тЇбірі бар болсын, я“ни µ § функциясы осы кесіндіде Їздіксіз. µ § кесіндісін µ § нЇктесімен жартылай бйлеміз. µ § функциясыныЈ µ § жЩне µ § кесінділерініЈ шеткі нЇктелеріндегі мЩндерін зерттейміз, я“ни µ § нЇктелерінде. Егер µ § болса, онда екі жа“дай болуы мЇмкін: µ § функциясы µ § кесіндісінде немесе µ § кесіндісінде таЈбасын ауыстырады (2.6-сурет).

ФункцияныЈ таЈбасы ауыспайтын кесіндіні алып тастап, таЈбасы ауысатын кесіндіні таЈдап алып (ййткені, ол аралы›та ізделінді тЇбір жатыр), оны жаЈа кесінді ретінде ›арастырамыз. Жартылай бйлу Їрдісін жал“астыра отырып, теЈдеудіЈ тЇбірі тиісті болатын еЈ кіші кесіндіге келеміз.

Айталы› аны›ты› Їшін µ § болсын.

Бастап›ы жуы› тЇбір ретінде µ § аламыз. љарастырыл“ан жа“дайда µ §, онда µ § жЩне µ § кесіндісін “ана ›арастырамыз. Келесі жуы›тау: µ §. М±нда µ § кесіндісін алып тастаймыз, ййткені µ § жЩне µ §, я“ни µ §. Осы“ан ±›сас бас›а жуы›тауларды табамыз: µ § жЩне т.б.

Жуы›тау Їрдісін µ § функциясыныЈ модульімен алын“ан мЩні берілген µ § еЈ аз санынан аз бол“анша жал“астырамыз, я“ни µ §.

Тймендегі суретте теЈдеудіЈ тЇбірін кесіндіні жартылай бйлу Щдісімен табуда“ы итерациялы› ЇрдістіЈ блок-схемасын ±сынамыз. М±нда кесіндіні сы“у µ § жЩне µ § шектерін а“ымды› µ § тЇбіріне ауыстырумен жЇргізіледі.


Сонымен ›атар алын“ан кесіндініЈ ±зынды“ын ба“алау“а болады: егер ол µ § мЇмкін ›ателігінен кіші болса, есептеу то›татылады, я“ни µ §.

Тймендегі суретте теЈдеудіЈ тЇбірін кесіндіні жартылай бйлу Щдісімен табуда“ы итерациялы› ЇрдістіЈ блок-схемасын ±сынамыз. М±нда кесіндіні сы“у µ § жЩне µ § шектерін а“ымды›µ § тЇбіріне ауыстырумен жЇргізіледі.

Мысал 3. µ § теЈдеуініЈ µ § кесіндісінде бір тЇбірі бар. Осы теЈдеуді µ § дЩлдігіне дейін жартылай бйлу Щдісімен компьютердіЈ программасы кймегімен шешейік.

АлгоритмніЈ блок-схемасына сЩйкес Turbo Pascal тілінде программа мынадай болады:

ПрограмманыЈ орындалу нЩтижесі:

Тапсырма 2. Жартылай бйлу Щдісімен берілген теЈдеудіЈ бір тЇбірін 10-3 дЩлдікпен есепте:

а) Есептеме кестеніЈ кймегімен;

б) Прграммалау тілініЈ кймегімен.

ЕсептіЈ берілгендерін 1-тапсырмадан алыЈыз.


2.4 Ньютон Щдістері

Жартылай бйлу Щдісімен ›атар кЇрделі жЩне тиімді итерациялы› Щдістер бар. Б±л Щдістерге Ньютон есімімен байланыс›ан ЩдістердіЈ тобы ›атысады. ОлардыЈ екеуін ›арастырайы›: жанама Щдісі жЩне хорда (›июшы) Щдісі. Бл ЩдістердіЈ екеуі де мынадай тЩсілге негізделген.

µ §

теЈдеуініЈ µ § кесіндісінде жал“ыз тЇбірі бар болсын. Оны о“ан мЩндес теЈдеуге тЇрлендіреміз:



µ §

м±нда“ы, µ § - µ § кесіндісінде аны›тал“ан жЩне осы кесіндіде нйлге айналмайтын кез келген функция.

µ § - ті ЩртЇрлі тЩсілмен таЈдай отырып, кйрсетілген Щдістерді алу“а болады.
Жанама Щдісі

а) Бірінші тЩсіл

Айталы› µ §. Сонымен итерациялы› тізбек

µ §


реккуренттік ›атынасыныЈ кймегімен ›±рылады. Бастап›ы µ § мЩнін таЈдау мЩселесі, µ § функциясыныЈ мынадай шарттарды ›ана“аттандыруымен шешіледі:

1) µ § кесіндісінде екінші рет дифференциалданады;

2) Бірінші жЩне екінші ретті туындылары осы кесіндіде таЈбасын са›тайды, я“ни µ § функция монотонды жЩне дйЈестік сипатын ауыстырмайды.

М±ндай жа“дайда µ § мЩні ретінде µ § кесіндісініЈ шеткі нЇктелерініЈ бірі алынады жЩне ол нЇктеде µ § функциясы жЩне оныЈ екінші ретті туындысы бірдей таЈбалы болуы керек, я“ни µ § шарты орындалады.

Реккуренттік ›атынаспен (µ §) бол“анда аны›тал“ан µ § нЇктесі, µ § функциясыныЈ графигіне µ § нЇктесінде жЇргізілген жанамамен абсциссаныЈ ›иылысу нЇктесі болады.

Итерациялы› тізбектіЈ Щрбір келесі мЇшесіне µ § функциясыныЈ графигіне тізбектіЈ алдыЈ“ы мЇшесі ар›ылы жЇргізілген жанаманыЈ абсциссамен ›иылысу нЇктесі сЩйкес келетін болады.

љателікті ба“алау мынадай теЈсіздіктіЈ кймегімен жЇзеге асырылады:

µ §


µ § мЩндері реккуренттік тізбектіЈ мЇшелерін табуда есептелетін болады.

Мысал 4. µ § теЈдеуініЈ µ § кесіндісіндегі тЇбірін µ § -ке дейінгі дЩлдікпен жанама Щдісі ар›ылы аны›та.

Берілген жа“дайда реккуренттік ›атынас мынадай тЇрде болады:

µ §


µ § нЇктесін аны›тау Їшін µ § кесіндісініЈ шеткі нЇктелеріндегі µ § жЩне µ § таЈбаларын табамыз:

µ §, µ §


µ §, µ §

Сонымен, µ §.

Итерациялы› Їрдісті то›татуды тексеру Їшін (белгілі дЩлдік бойынша)

µ §


мЩндерін аны›таймыз. КесіндініЈ шеткі нЇктелері Їшін µ §. Кесінді йте аз бол“анды›тан, µ § деп алу“а болады.

Итерациялы› тізбектіЈ бірнеше мЇшелерін есептейік:

µ §

ТЇбірдіЈ жету дЩлдігіне тексеру жасайы›:



µ § - талап етілген дЩлдік жеткілікті емес.

µ §


Та“ы тексеру жасаймыз:

µ § - талап етілген дЩлдік жеткілікті.

Итерациялы› тізбек мЇшелерін тізбектеліп есептелуін кесте тЇрінде кйрсетейік:
µ §µ §µ §µ §01,31,4019480,00311,4019481,3994300,000001

Сонымен, µ § нЩтижесінде барлы› сандар д±рыс болады.

б) Екінші тЩсіл

µ § ›исы“ына µ § нЇктесінде жанама жЇргізіліп, жанаманыЈ абсцисса осімен ›иылысу нЇктесі аны›талады. М±ндай жа“дайда µ § бастап›ы жуы›тау тЇбірін табу керек.

µ § ›исы“ына µ § нЇктесінде жЇргізілген жанаманыЈ теЈдеуі

µ §.


Осыдан жанаманыЈ Ох осімен (µ §) ›иылысу нЇктесі ретіндегі µ § жуы› тЇбірін табамыз:

µ §


Осы“ан ±›сас µ §, µ § жЩне т.б. нЇктелерінде жЇргізілген жанамалардыЈ абсцисса осімен ›иылысу нЇктелері ретіндегі жуы›таулар табылады. µ § - ші ретті жуы›тау Їшін формула:

µ §


М±ндай жа“дайда, µ § болуы керек. Итерациялы› Їрдісті то›тату Їшін µ § шартын немесе тізбектіЈ екі жуы›тауыныЈ жа›ындалу µ § шартын пайдалану“а болады.
Хорда (›июшы) Щдісі

Жанама Щдісін жЇзеге асыру барысында, µ § функиясыныЈ мЩнін “ана емес оныЈ µ § туындысыныЈ мЩнінде есептеу ›ажетті. Біра› Ньютон ЩдісініЈ тек µ § мЩнін есептеумен шектелетін н±с›асы бар.

а) Бірінші тЩсіл

Егер µ § деп алып, с мЩні ретінде µ § кесіндісініЈ шеткі нЇктелерініЈ бірі алынады жЩне ол нЇктеде µ § шарты орындалады. Осыдан итерациялы› Щдіс

µ §

реккуренттік ›атынаспен аны›талатын хорда Щдісіне (›июшы Щдісіне) келеміз.



µ § мЩні ретінде µ § кесіндісінен с мЩні таЈда“аннан ›ал“ан екінші шеткі нЇктесі алынады (я“ни, егер µ § болса, онда µ § немесе керісінше).

Тізбек реккуренттік ›атынастыЈ формуласы бойынша ›±рылады. Жуы›тау тЇбірініЈ ба“алауы

µ §

теЈсіздігініЈ кймегімен аны›талады.



ШдістіЈ геометриялы› ма“ынасы тймендегі суретте кйрсетілген. Берілген жа“дайда µ §. µ § мЩніне ›исы›тыЈ шеттерін ›осатын хорданыЈ абсцисса осімен ›иылысу нЇктесіне сЩйкес келеді. Кейін ›исы›тыЈ бойынан абсцисасы µ § болатын нЇкте табылып, хорда жЇргізіледі жЩне т.б.
Мысал 5. µ § теЈдеуініЈ µ § кесіндісіндегі тЇбірін µ § -ке дейінгі дЩлдікпен хорда Щдісі ар›ылы аны›та.

µ § нЇктесін аны›тау Їшін µ § кесіндісініЈ шеткі нЇктелеріндегі µ § жЩне µ § таЈбаларын табамыз:

µ §, µ §

µ §, µ §


Сонымен, µ §. Осыдан µ §.

µ § мЩнін табамыз:

µ §

µ §


Берілген дЩлдіктіЈ жеткіліктілігін тексерейік:

µ § - талап етілген дЩлдік жеткілікті емес.

Келесі жуы›тауды табамыз:

µ §


µ § - талап етілген дЩлдік жеткілікті.

Итерациялы› тізбек мЇшелерін тізбектеліп есептелуін кесте тЇрінде кйрсетейік:


µ §µ §µ §µ §01,31,3978340,00211,3978341,3994100,00002

Сонымен, µ §.


б) Екінші тЩсіл

Айталы› µ § функциясы таЈбасын ауыстыратын µ § кесіндісін бар болсын. Аны›ты› Їшін µ § деп алайы›. Берілген Щдісте итерация Їрдісі бойынша, теЈдеудіЈ тЇбірлеріне жуы›тау ретінде хорданыЈ абсцисса осімен ›иылыс›ан нЇктелердіЈ µ § мЩндері алынады.

Алдымен АВ хордасыныЈ теЈдеуін табамыз:

µ §


ОныЈ абсцисса осімен ›иылысу нЇктелері Їшін (µ §)

µ §


теЈдеуін аламыз.

љарастырыл“ан жа“дай Їшін µ § жЩне µ § шамаларыныЈ таЈбаларын салыстыра отырып, тЇбірдіЈ µ § аралы“ында болатынын аламыз, ййткені µ §. µ § кесіндісін ›арастырмаймыз. Келесі итерация АВ1 хордасымен абсцисса осініЈ ›иылысу нЇктесі болатын жаЈа µ § жуы›тауын аны›таудан т±рады жЩне т.с.с. Итерациялы› Їрдіс µ § шарты орындал“анша жал“астырылады.

Хорда ЩдісініЈ блок-схемасы
Тапсырма 3. Берілген теЈдеудіЈ бір тЇбірін 10-6 дЩлдікпен Ньютон ЩдістерініЈ бірін пайдаланып, программалау тілініЈ кймегімен есепте. ЕсептіЈ берілгендерін 1-тапсырмадан алыЈыз.

ДЩріс №3 Сызы›ты› теЈдеулер жЇйесін шешудіЈ санды› Щдістері

3.1 Сызы›ты› жЇйелер

Кйптеген ›олданбалы жЩне таза математикалы› есептер жиыны сызы›ты› алгебралы› жЇйелерді шешудіЈ ›ажеттілігіне Щкеледі. Сызы›ты› теЈдеулер жЇйесін шешу есептеу математикасыныЈ ›ажетті есептерініЈ бірі болып табылады.

Алгебра курсынан белгілі, жЇйедегі белгісіздер саны теЈдеулер санынан арты› немесе теЈ болуы мЇмкін. Біз тек белгісіздер саны теЈдеулер санына теЈ болатын жЇйені ›арастырамыз. µ § белгісізі бар µ § сызы›ты› алгебралы› теЈдеулердіЈ жЇйесін жазайы›:

µ § (1)


ЖЇйеніЈ коэффициенттерінен ›±рал“ан матрицаны жЇйеніЈ негізгі матрицасы (µ § ретті квадратты› матрица) деп атайды:

µ § (2)


ал жЇйеніЈ коэффициенттері мен бос мЇшелерінен ›±рыл“ан матрицаны жЇйеніЈ кеЈейтілген матрицасы деп атайды:

µ § (3)


µ § матрицасы ±“ымын пайдаланып, (1) теЈдеулер жЇйесін матрицалы› тЇрде жазу“а болады:

µ § (4)


м±нда“ы, µ § жЩне µ § - белгісіздердіЈ жЩне бос мЇшелердіЈ векторлы›-ба“андары:

µ §, µ §


ТеЈдеулер жЇйесінен ЩртЇрлі матрицалар алынады, мысалы:

µ §; µ §; µ §; µ §

М±нда, А ЁC симметриялы› матрица (оныЈ элементтері бас диагонал“а ›атысты симметриялы орналас›ан (µ §)).

µ § - жо“ары Їшб±рышты матрица (бас диагоналдан тймен орналас›ан элементтер нйлге теЈ);

Е ЁC бірлік матрица; О ЁC нйлдік матрица.

3.2 Сызы›ты› жЇйелерді шешу Щдістері туралы

Сызы›ты› теЈдеулер жЇйесін шешу Щдістері екі топ›а бйлінеді: тура жЩне итерациялы›.

Тура Щдістер белгісіздерді есептеу Їшін шектеулі ›атынастар (формулалар) пайдаланады. Олар алдын ала белгілі амалдарды орындаудан кейін шешімді береді. Б±л Щдістер ›арапайым жЩне Щмбебап болып табылады. Сызы›ты› теЈдеулер жЇйесін шешудіЈ тура Щдістерін кейде дЩл Щдістер деп атайды, ййткені шешім жЇйеніЈ коэффициенттері ар›ылы дЩл формулалар тЇрінде йрнектеледі. Б±л Щдістерге:

аны›тауыштар Щдісі (Крамер Щдісі);

матрицалы› шешім: µ § (егер кері матрица белгілі болса);

белгісіздерді біртіндеп жою Щдісі (Гаусс Щдісі).

Итерациялы› Щдістер ЁC біртіндеп жуы›тау Щдістері. М±нда жуы›тал“ан шешімін беру керек ЁC бастап›ы жуы›тау. Б±дан кейін алгоритм кймегімен есептеудіЈ бір циклі жЇргізіледі (итерация деп аталады). Итерация нЩтижесінде жаЈа жуы›тау алынады. Итерация талап етілетін дЩлдікпен шешім алын“ан“а дейін жЇргізіледі. Итерациялы› Щдістерді пайдаланып сызы›ты› теЈдеулерді шешудіЈ алгоритмдері тура Щдістермен салыстыр“анда йте кЇрделі.


3.3 Гаусс Щдісі

Гаусс Щдісі (3) кеЈейтілген матрицаны Їшб±рышты тЇрге келтіруге негізделген. Б±л жЇйеніЈ теЈдеулерінен белгісіздерді біртіндеп жоюмен жЇзеге асырылады. Гаусс ЩдісініЈ мЩні ЁC (1) жЇйені о“ан мЩндес Їшб±рышты матрицалы жЇйеге тЇрлендіру болып табылады, кейін біртіндеп (кері жЇріс) барлы› белгісіздердіЈ мЩндері алынады.

(1) жЇйені келесідегідей тЇрлендірейік. µ § (жЇргізуші элемент) деп алып, бірінші теЈдеудіЈ коэффициенттерін µ § -ге бйлеміз:

µ § (5)


(5) теЈдеуді пайдаланып, жЇйеніЈ бас›а ›ал“ан теЈдеулерінен µ § белгісізін оЈай жою“а болады (ол Їшін алдын ала µ § -діЈ сЩйкесінше коэффициентін (5) теЈдеуге кйбейтіп, Щр теЈдеуден азайтса› жеткілікті).

Бірінші теЈдеуді сол ›алпында ›алдырып, ›ал“ан теЈдеулерге осындай тЇрлендірулер жасаймыз: теЈдеулерден жЇргізуші элементімен теЈдеуді таЈдап, оныЈ кймегімен ›ал“ан теЈдеулерден µ § белгісізін жоямыз. Осы Їрдісті ›айталай отырып, берілген жЇйеге мЩндес Їшб±рышты матрицалы жЇйені аламыз:

µ § (6)

(6) жЇйеден біртіндеп µ § белгісіздерініЈ мЩндері табылады.



Сонымен (1) жЇйені Гаусс Щдісімен шешу Їрдісі екі кезеЈге бйлінеді. Бірінші кезеЈ, белгісіздерді біртіндеп жою ЁC тура жЇріс деп аталады. ЕсептеудіЈ екінші кезеЈі ЁC белгісіздердіЈ мЩндерін табу ЁC кері жЇріс деп аталады.
Мысал 1. Сызы›ты› теЈдеулер жЇйесін шеш:

µ §
ЖЇйеніЈ шешімін кесте тЇрінде кйрсетейік:


Бйлімµ §µ §µ §Бос мЇшелерА2,34

8,04


3,92-4,21

5,22


-7,99-11,61

0,27


8,3714,41

6,44


55,56/ 2,341-1,799-4,9626,158А119,685

-0,93840,161

27,819-55,951

31,420/ 19,68512,040-2,842А229,73228,756/ 29,73210,967В


1

1

1


0,967

-4,816


2,293

КестеніЈ А бйліміне берілген жЇйеніЈ коэффициенттері жЩне бос мЇшелері енгізіледі. А бйліміндегі бірінші жолдыЈ элементтерін жЇргізуші элемент 2,34 ЁCке бйліп тйртінші жол“а жазамыз. Осы тйртінші жолды пайдаланып, осы бйлімніЈ екінші жЩне Їшінші жолды тЇрлендіруге кйшеміз (жЇйеніЈ 2-ші жЩне 3-ші теЈдеуінен µ § белгісізін жоямыз). Осы тЇрлендірудіЈ нЩтижелері А1 бйлімніЈ сЩйкесінше бірінші жЩне екінші жолдарын береді.

Мысалы, А1 бйлімніЈ бірінші жолын алу Їшін, А бйліміндегі тйртінші жол“а (-8,04)-ті кйбейтіп екінші жол“а ›осамыз, ал А1 бйлімніЈ екінші жолын алу Їшін, А бйліміндегі тйртінші жол“а (-3,92)-ні кйбейтіп Їшінші жол“а ›осамыз.

А1 бйлімдегі Їшінші жолдыЈ элементтері бірінші жолды жЇргізуші элемент 19,685-ке бйлуден шы“ады, содан кейін А2 бйлімніЈ жолдары толтырылады.

А2 бйлімімен тура жЇріс ая›талады. Бос мЇшелер ба“анында µ § мЩні алынады. Бас›а белгісіздерініЈ мЩндерін біртіндеп кері жЇріспен табамыз:

µ §.


Белгісіздерді табу Їрдісі кестеніЈ В бйлімінде берілген.
Мысал 2. СТЖ кестелік процессор Excel кймегімен шеш: µ §
Тапсырма 4. Гаусс Щдісін пайдаланып, 0,001 дЩлдігімен жЇйені шеш. Программа ›±растыр: µ §

3.4 Аны›тауыштарды жЩне кері матрицаны есептеу

µ §

жЇйеніЈ аны›тауышын µ § ар›ылы белгілейік:



µ §

ТеЈдеулер жЇйесін шешудіЈ Гаусс Щдісімен аны›тауышты есептеу алгоритмін ›арастырайы›.

Бірінші теЈдеудіЈ сол жЩне оЈ жа› бйліктерін µ § жЇргізуші элементіне бйлсек, тЇрлендірілген жЇйеніЈ аны›тауышы µ § -ге теЈ. Бірінші ›адамныЈ келесі тЇрлендірулері (жЇйеніЈ бас›а теЈдеулерінен µ § белгісізін жою) аны›тауыштыЈ шамасын йзгертпейді. Екінші ›адамда, екінші теЈдеудіЈ (тЇрлендірілген) екі бйлігін екінші жЇргізуші элементке (оны µ § ар›ылы белгілейік) бйлсек, алын“ан жЇйеніЈ аны›тауышы µ § -ге теЈ. ЖЇйеніЈ теЈдеуінен µ § белгісізін жоюда“ы амалдар µ § аны›тауышы шамасын йзгертпейді.

Амалдарды жал“астыра отырып, µ § -ші ›адамда

µ §

жЇйесіне келеміз. Осы жЇйеніЈ аны›тауышы µ § -ге теЈ. ЖЇйе белгісіздері коэффициенттерініЈ матрицасы ЁC бас диагоналы бірге теЈ болатын Їшб±рышты матрица. Сонды›тан оныЈ аны›тауышы 1-ге теЈ:



µ §.

Сонымен, бастап›ы матрицаныЈ аны›тауышы:

µ §,

м±нда“ы µ § - жЇргізуші элементтер.



Б±дан мынадай ›орытынды жасау“а болады: егер квадратты матрицаныЈ аны›тауышын есептеу ›ажет болса, онда осы матрицадан теЈдеулер жЇйесін шешу керек.

µ § матрицасы Їшін µ § кері матрицасыныЈ элементтерін есептеуге болады. Аны›тама бойынша, µ §, м±нда“ы µ § - бірлік матрица. Ізделінді µ § кері матрицасы мен бірлік матрицаны векторлы›-ба“андар жиынты“ы тЇрінде кйрсетейік:

µ §

Осы жазу ар›ылы



µ §

Шр жЇйені шешімі кері матрицаныЈ сЩйкесінше ба“анын береді.

Мысал. µ § матрицасы Їшін кері матрицаны табу керек. Есептеу кестеде кйрсетілген.
Табыл“ан элементтердіЈ мЩндерін жаза отырып (жолдарды кері ретті орналастыру), ізделінді кері матрицаны аламыз:

µ §


Тура тексеруді жасайы›:

µ §


Сызы›ты› теЈдеулер жЇйесін Гауус Щдісімен шешу алгоритмі тймендегі суретте кйрсетілген. µ § массиві жЇйеніЈ кеЈейтілген матрицаныЈ коэффициенттерін ›амтиды. Программа жЇйеніЈ аны›тауышын есептеуді ›амтиды (айнымалы µ §).

Мысал. µ §

ПрограмманыЈ нЩтижесі:
Гаусс Щдісімен теЈдеулер жЇйесін шешу (2-тЩсіл)
program gauss;

uses crt;

var a:array[1..10,1..10] of real;

b:array[1..10] of real;

c:array[1..10,1..10] of real;

x:array[1..10]of real;

i1,j1,k,i,j,n:integer;

s,cl:real;

Label 1,2,3,4,5,6,7,8;

BEGIN


writeln('Bbedite schislo uravnenii n');

readln(n);

writeln('Bbedite po stroscno koeffisentob pri neizbesnih');

for i:=1 to n do

begin

for j:=1 to n do



begin

writeln('a[',i,j,']');

read(a[i,j]);

end;


end;

writeln('Bbedite po elementof sbabodni scleni sistem');

for i:=1 to n do

begin


writeln('[',i,']');

read(b[i]);

end;

{********** primoi hot pescenie zadasc******}



k:=1;

1: i:=k+1;

if a[k,k]<>0 then goto 3;

2:i1:=k+1;

if a[i1,k]=0 then goto 2;j1:=i1;

For j:=1 to n do

begin

c[k,j]:=a[k,j];



a[k,j]:=a[j1,j];

a[j1,j]:=c[k,j];

end;

3: cl:=a[i,k]/a[k,k];



a[i,k]:=0;

j:=k+1;


4: a[i,j]:=a[i,j]-cl*a[k,j];

if j

begin

j:=j+1; goto 4;



end;

b[i]:= b[i]-cl* b[k];

if i

begin


i:=i+1; goto 3;

end;


if kbegin


k:=k+1; goto 1;

end;


{********** Obratni hot rescenia***********}

x[n]:=b[n]/a[n,n];

i:=n-1;

5:j:=i+1; s:=0;



6:s:=s+a[i,j]*x[j];

if j

begin

j:=j+1;goto 6;



end;

x[i]:=(b[i]-s)/a[i,i];

if i>1 then

begin


i:=i-1;goto 5;

end;


writeln(' rescenia sistem ');

for i:=1 to n do

writeln('x[',i,']=',x[i]:7:4);

readln;


readln;

end.


Тапсырма 5. Гаусс Щдісін пайдаланып, 0,001 дЩлдігімен жЇйені шеш. Программа ›±растыр: µ §. ЕсептіЈ берілгендерін 4-тапсырмадан алыЈыз
3.5 Гаусс ЁC Зейдель Щдісі

ЕЈ ›арапайым итерациялы› ЩдістердіЈ бірі ЁC Гаусс-Зейдель Щдісі болып табылады. Осы Щдісті пайдаланып жЇйені шешуге мысал келтірейік.

µ § (3.5.1)

Айталы› жЇйеніЈ диагоналды› µ § элементтері нйлден йзгеше болсын (егер болмаса, теЈдеулердіЈ орындарын алмастырамыз). ЖЇйеніЈ бірінші, екінші жЩне Їшінші теЈдеулерінен сЩйкесінше µ § белгісіздерін йрнектейміз:

µ § (3.5.2)

µ § (3.5.3)

µ § (3.5.4)

Белгісіздерге бастап›ы (нйлдік) жуы›таулар берейік: µ §. Осы мЩндерді (3.5.2) йрнегініЈ оЈ жа› бйлігіне ›оя отырып, µ § Їшін жаЈа (бірінші) жуы›тауды аламыз:

µ §

Осы мЩнді µ § Їшін жЩне µ § жуы›тауын µ § Їшін пайдаланып, (3.5.3) йрнегінен µ § Їшін бірінші жуы›тауды табамыз:



µ §

СоЈында, есептелген µ § мЩндерін пайдаланып, (3.5.4) йрнегініЈ кймегімен µ § Їшін бірінші жуы›тауын табамыз:

µ §.

Осымен (3.5.2) ЁC (3.5.4) жЇйелерді шешудіЈ бірінші итерациясы ая›талады. Енді µ § мЩндерін пайдаланып, осындай тЩсілмен екінші итерацияны жЇргіземіз, нЩтижесінде екінші жуы›тау табылады: µ § жЩне та“ы бас›алары. µ § номерлі жуы›тауды мынадай тЇрде кйрсетуге болады:



µ §

µ §


µ §.

Итерациялы› Їрдіс µ § мЩндері берілген дЩлдікпен µ § мЩндеріне жа›ында“анша жал“астырылады.

Мысал. ЖЇйені Гаусс-Зейдель Щдісі кймегімен шеш: µ §.

ЖЇйеніЈ шешімі µ § болатынын оЈай тексеруге болады.

Шешімі. µ § белгісіздерін сЩйкесінше бірінші, екінші жЩне Їшінші теЈдеулерден йрнектейміз:

µ §


Бастап›ы жуы›таулар ретінде µ § деп алып, белгісіздердіЈ жаЈа жуы›тауларды табамыз.

µ §


Осы сия›ты келесі жуы›тауды есептейміз:

µ §


Итерациялы› Їрдісті тізбектелген екі белгісіздер арасында еЈ аз айырымды ал“ан“а дейін жал“астыру“а болады.

Енді µ § белгісізі бар µ § сызы›ты› теЈдеулер жЇйесін ›арастырайы›. Оны мынадай тЇрде жазамыз:

µ §

М±нда барлы› диагоналды› элементтер нйлден йзгеше деп аламыз. Сонда Гаусс-Зейдел Щдісіне сЩйкес µ § номерлі жуы›тауды мынадай тЇрде кйрсетуге болады:


µ §

Итерациялы› Їрдіс µ § мЩндерініЈ барлы“ы µ § мЩніне жа›ын бол“анша жал“астырылады. Осы мЩндердіЈ жа›ындауын олардыЈ µ § айырымыныЈ максимальды абсолюттік шамасымен сипаттау“а болады. Сонды›тан берілген µ § дЩлдігі бойынша итерациялы› ЇрдістіЈ ая›талу белгісін мынадай тЇрде жазу“а болады:

µ §
Осы шарттыЈ орындалуынан Гаусс-ЗейдельдіЈ итерациялы› Їрдісі жина›ты деп аталады.

µ § сызы›ты› теЈдеулер жЇйесін Гаусс-Зейдель Щдісімен шешу алгоритмініЈ блок-схемасы кйрсетілген. Бастап›ы мЩндер ретінде теЈдеулер жЇйесініЈ коэффициенттері, µ § дЩлдігі, М итерация саны, бастап›ы µ § жуы›тау мЩндері енгізіледі. Бастап›ы жуы›тау мЩндердін енгізбеуге болады, я“ни нйлге теЈ деп алу“а болады.

µ § - итерацияныЈ реттілік номері;

µ § - теЈдеудіЈ жЩне айнымалыныЈ номері;

µ § - µ § тЇріндегі мЇшеніЈ номері.

Итерация шарттыЈ орындалуымен немесе µ § бол“ан жа“дайда то›татылады.

Uses CRT;
Const

maxn = 10;


Type

Data = Real;

Matrix = Array[1..maxn, 1..maxn] of Data;

Vector = Array[1..maxn] of Data;


{ Процедура ввода расширенной матрицы системы }

Procedure ReadSystem(n: Integer; var a: Matrix; var b: Vector);

Var

i, j, r: Integer;



Begin

r := WhereY;

GotoXY(2, r);

Write('A');

For i := 1 to n do begin

GotoXY(i * 6 + 2, r);

Write(i);

GotoXY(1, r + i + 1);

Write(i:2);

end;


GotoXY((n + 1) * 6 + 2, r);

Write('b');

For i := 1 to n do begin

For j := 1 to n do begin

GotoXY(j * 6 + 2, r + i + 1);

Read(a[i, j]);

end;

GotoXY((n + 1) * 6 + 2, r + i + 1);



Read(b[i]);

end;


End;
{ Процедура вывода результатов }

Procedure WriteX(n :Integer; x: Vector);

Var

i: Integer;



Begin

For i := 1 to n do

Writeln('x', i, ' = ', x[i]);

End;
{ Функция, реализующая метод Зейделя }

Function Seidel(n: Integer; a: Matrix; b: Vector; var x: Vector; e: Data) :Boolean;

Var


i, j: Integer;

s1, s2, s, v, m: Data;

Begin
{ Исследуем сходимость }

For i := 1 to n do begin


s := 0;

For j := 1 to n do

If j <> i then

s := s + Abs(a[i, j]);


If s >= Abs(a[i, i]) then begin

Seidel := false;

Exit;

end;
end;


Repeat
m := 0;

For i := 1 to n do begin


{ Вычисляем суммы }

s1 := 0;


s2 := 0;

For j := 1 to i - 1 do

s1 := s1 + a[i, j] * x[j];

For j := i to n do

s2 := s2 + a[i, j] * x[j];
{ Вычисляем новое приближение и погрешность }

v := x[i];

x[i] := x[i] - (1 / a[i, i]) * (s1 + s2 - b[i]);
If Abs(v - x[i]) > m then

m := Abs(v - x[i]);


end;
Until m < e;
Seidel := true;

End;
Var

n, i: Integer;

a: Matrix;

b, x: Vector;

e: Data;


Begin

ClrScr;


Writeln('Программа решения систем линейных уравнений по методу Зейделя');

Writeln;
Writeln('Введите порядок матрицы системы (макс. 10)');

Repeat

Write('>');



Read(n);

Until (n > 0) and (n <= maxn);

Writeln;
Writeln('Введите точность вычислений');

Repeat


Write('>');

Read(e);


Until (e > 0) and (e < 1);

Writeln;
Writeln('Введите расширенную матрицу системы');

ReadSystem(n, a, b);

Writeln;
{ Предполагаем начальное приближение равным нулю }

For i := 1 to n do

x[i] := 0;


If Seidel(n, a, b, x, e) then begin

Writeln('Результат вычислений по методу Зейделя');

WriteX(n, x);

end


else

Writeln('Метод Зейделя не сходится для данной системы');

Writeln;

End.


Программа решения систем линейных уравнений по методу Зейделя
Введите порядок матрицы системы (макс. 10)

>4
Введите точность вычислений

>.000001
Введите расширенную матрицу системы

A 1 2 3 4 b


1 4.1 0.1 0.2 0.2 21.14

2 0.3 5.3 0.9 -0.1 -17.82

3 0.2 0.3 3.2 0.2 9.02

4 0.1 0.1 0.2 -9.1 17.08


Результат вычислений по методу Зейделя

x1 = 5.2000000008E+00

x2 = -4.2000000028E+00

x3 = 3.0000000003E+00

x4 = -1.8000000000E+00
Тапсырма 6. Гаусс-Зейдель Щдісін пайдаланып, 0,001 дЩлдігімен жЇйені шеш. Программа ›±растыр: µ §. ЕсептіЈ берілгендерін 4-тапсырмадан алыЈыз.
ШДЕБИЕТТЕР
Негізгі Щдебиеттер

Н. Н. Калиткин. Численные методы. - М.: Наука, 1978.

И. С. Бахвалов. Численные методы. - Ч.1, - М..: Наука, 1973.

Г. И. Марчук. Методы вычислительной математики. - М.: Наука, 1980.

Л. И. Турчак. Основы численных методов. - М.: Наука, 1987. ЁC 320 с.

В.М. Заварыкин. Численные методы. ЁC М.: Просвещение, 1990. ЁC 176с.

Г. И. Воробьева, А. И. Данилова. Практикум по численным методам.
- М., Наука, 1979.

И.Л. Акулич. Математическое программирование в примерах и задачах. ЁC М.: Высш. шк., 1986. ЁC 319 с.

Н. Культин. Программирование на Object Pascal в Delphi 5. Спб, БХБ.
- Санкт-Петербург, 1999.

Фаронов В.В. Турбо Паскаль 7.0 Учебный курс. - М., 1998. - 433 с.

Фаронов В.В. DELPHI 4. Учебный курс. - М., 1999. - 464 с.

Электронные учебники по языкам программирования.


љосымша Щдебиеттер

Численные методы и задачи оптимизации. /под ред. В.Н. Игнатьева, Г.Ш. Фридмана. - Томск: Томского ун-та, 1983. - 165 с.

В.М. Монахов и другие. Методы оптимизации. Применение математических методов в экономике. Пособие для учителя. - М.: Просвещение, 1978. - 175 с.

Г.И. Марчук. Методы вычислительной математики. - М.: Наука, 1980.



,




Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет