Өнімділік әдістерін салыстыру



Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 14 бет
Таңдаулыға:   
Кіріспе

Тақырыптың өзектілігі: Python - әр түрлі типтегі қосымшаларды жасауға арналған танымал жоғары деңгейлі бағдарламалау тілі. Python машиналық оқыту және жасанды интеллект зерттеу саласында кеңінен таралған. Python - жоғары дәрежелі кодтың оқылуын және әзірлеушінің өнімділігін арттыруға мақсатталған жалпы мақсаттағы бағдарламалау тілі. Python тілі аз синтаксисті талап етеді. Бірақ сол уақытта стандартты кітапханасы үлкен көлемді пайдалы функцияларды қамтиды.
Сызықты емес алгебралық және трансценденттік теңдеулер жүйесінің түбірлерін анықтау үшін тура әдістер емес, тек итерациялық әдістер ғана қолданылады. Көбінесе сызықты емес алгебралық және трансценденттік теңдеулер жүйесін шешу үшін Ньютон әдісі мен оның түрлендірулері және жартылай бөлу әдісі қолданылады.
Курстық жұмыстың мақсаты: Сызықтық емес теңдеулерді жартылай бөлу әдісімен және Ньютон әдісімен шешуге арналған бағдарлама жазу. Өнімділік әдістерін салыстыру.
Курстық жұмыстың міндеттері:
Ньютон (жанама) әдісімен шығару ;
жартылай бөлу әдісімен шығару;
Ньютон (жанама) әдісімен және жартылай бөлу әдісімен шығарылған есепті салыстыру;
қайсы тәсіл тиімді екенін анықтау.

1.Тапсырма қойылымы
1.1 Сызықтық емес теңдеулер
Сызықтық емес теңдеулерді 2 классқа бөлуге болады - алгебралық және трансценденттік.
Алгебралық теңдеу деп - тек алгебралық функцияларды қамтитын
теңдеуді айтады (бүтін, рационалдық, иррационалдық). Көпмүшелік жиі бүтін алгебралық функция болып келеді. Басқа функцияларды қамтитын теңдеу (тригонометриялық, көрсетімділік, логарифмдік және басқалары)
трансцендентті деп аталады.
Сызықтық емес теңдеулерді шешу әдістері екі топқа бөлінеді:
1. дәл әдістер;
2. итерационды әдістер.
Дәл әдістер түбірлерді кейбір соңғы қатынастар(формулалар) түрінде
жазуға мүмкіндік береді. Алгебраның мектеп курсынан тригонометриялық,
логарифмдік, көрсетімдік және жай алгебралық теңдеулерді шешудің мыныдай әдістері белгілі.
f (x) функциясын нөлге ауыстыратын кез-келген мағынасын, яғни:
f () 0 (1.1)
(1.1) теңдеудің түбірі немесе f (x) функциясының нөлі деп аталады.
f (x) 0 теңдеуінің түбірін итерациондық әдісімен табу есебі 2 буыннан тұрады:
1- түбірлердің бөлінуі - түбірдің жуықтаудалған мәнін немесе оның құрамындағы кескіндерді іздеу;
2 - жуықтаудалған түбірлерді анықтау - оларды берілген нақтылықтың дәрежесіне жеткізу.
Түбірлерді бөлу процессі f (x) функциясын x a және x b облысының шекаралық нүктелерінде белгілерді орнатумен басталады.
Бір белгісізімен болған кез-келген теңдеу мынандай түрде жазылуы
мүмкін:
f (x) = 0, (1.3)
мұндағы f (x) - полиномиальды немесе трансцендентті функция, кейбір шекті
немесе шексіз (а, b) интервалында анықталған.
f (x) функциясын нөлге айналдыратын кез-келген мәні, яғни f () 0, шешімі немесе теңдеудің түбірі деп, немесе у f (x) функциясының нөлі деп аталады .
Теңдеулердің нақты түбірлерін шығару әдетте үш кезеңнен құралады:
1. (1.3) теңдеуінің барлық түбірлері орналасқан облыстың шектерінің анықтамасы;
2. түбірлердің бөлінуі, яғни теңдеудің бір тек қана бір түбірі орналасқан ak,bk, аз уақыт аралығының орнату мүмкіндігі, мұндай теңдеулер шектелген деп аталады;
3. түбірлерді анықтау, яғни берілген анықтау дәрежесімен шешу. a, b кесіндісіне жататын (1.3) теңдеуінің түбірін табу үшін, бұл кескінді қаққа бөлеміз. Егер fa+b2 = 0, онда x =a+b2 (1.3) теңдеудің түбірі болып келеді. Егер f( a+b2 ) = 0 -ге тең емес болса, онда f (x) функциясының соңында қарама-қарсы белгісі бар,[a, a+b2 ] немесе [a+b2,b] жартысын таңдаймыз. Жаңа кескінді [a1, b1] тағы да қаққа бөліп, осы іс-әрекеттерді қайталаймыз. Жартылай бөлу әдісі теңдеуді дөрекі табу үшін қолдануға қолайлы, әдіс қарапайым және сенімді, әрқашан келіседі.[1]
1.2 Ньютон (жанамалар) әдісі
"Ньютон әдісі" атауы Исаак Ньютонның әдістің ерекше жағдайын сипаттауынан шыққан DE analysi per aequationes numero terminorum infinitas (1669 жылы жазылған, 1711 жылы Уильям Джонс жариялаған) және DE metodis fluxionum et serierum infinitarum (1671 жылы жазылған, аударылған және әдіс ретінде жарияланған шексіз Сан). 1736 жылы Джон Колсон Флюксии). Дегенмен, оның әдісі жоғарыдағы заманауи әдіспен айтарлықтай ерекшеленеді. Ньютон бұл әдісті тек көпмүшелерге қолданды, түбірді бастапқы бағалаудан бастап, қателерді түзету ретін шығарды. Ол әр түзетуді көпмүшені қалған қателік тұрғысынан қайта жазу үшін қолданды, содан кейін жоғары дәрежелі мүшелерді елемей, жаңа түзетуді шешті. Ол бұл әдісті туындылармен байланыстырмағаны және жалпы формуланы ұсынбағаны анық. Ньютон бұл әдісті сандық және алгебралық есептерге қолданды, соңғы жағдайда Тейлор қатарларын жасады.
Ньютон өз әдісін Виетаның ұқсас, бірақ дәл емес әдісінен алған болуы мүмкін. Виета әдісінің мәнін парсы математигі Шараф ад-Дин әл-Тусидің жұмысынан табуға болады, ал оның мұрагері Джамшид Әл-Каши N − ден тамырларды табу үшін xP-N = 0 шешу үшін Ньютон әдісінің формасын қолданды (Ypma 1995). Квадрат түбірлерді есептеуге арналған Ньютон әдісінің ерекше жағдайы ежелгі заманнан бері белгілі және көбінесе вавилондық әдіс деп аталады.
Ньютон әдісін 17 ғасырдағы жапон математигі Секи Кова бір айнымалы теңдеулерді шешу үшін қолданды, дегенмен математикалық талдаумен байланыс болмады.
Ньютон әдісі алғаш рет 1685 жылы Джон Уоллистің тарихи және практикалық алгебра трактатында жарық көрді.[2] 1690 жылы Джозеф Рафсон analysis aequationum universalis кітабында жеңілдетілген сипаттаманы жариялады.[3] Рафсон бұл әдісті тек көпмүшелерге қолданды, бірақ ол бастапқы көпмүшеден әрбір келесі түзетуді алу арқылы Ньютонды қайта жазудың жалықтыратын процесінен аулақ болды. Бұл оған әр тапсырма үшін қайталанатын қайталанатын өрнекті шығаруға мүмкіндік берді. Ақырында, 1740 жылы Томас Симпсон Ньютон әдісін математикалық талдауды қолдана отырып, жалпы сызықтық емес теңдеулерді шешудің итеративті әдісі ретінде сипаттады, негізінен жоғарыда сипаттама берді. Сол басылымда Симпсон екі теңдеу жүйесіне жалпылау береді және Ньютон әдісін градиентті нөлге қою арқылы оңтайландыру есептерін шешу үшін қолдануға болатындығын атап өтеді.
Артур Кэйли 1879 жылы Ньютон - Фурьенің ойдан шығарылған тапсырмасында Ньютон әдісін 2-ден үлкен дәрежесі бар және күрделі бастапқы мәндері бар күрделі көпмүшелік тамырларға жалпылаудағы қиындықтарды бірінші болып байқады. Бұл рационалды функциялардың Итерация теориясын зерттеуге жол ашты.[2]
Ньютон (жанамалар) әдісінің негізі:
x -тің маңайындағы (1.3) теңдеуінің түбірін іздеу үшін нүктені таңдап
аламыз және осы нүктенің маңайында Тейлор қатарына жіктейді:
fx= fx + f'x(x-x) + ...
Бұдан жуықтаудатылған теңдігі шығады
fx≈fx + f'x(x-x) ,
мұндағы fx=0, мынаны шығаруға мүмкіндік береді
x≈x-fxf'x,
келесі түрдегі итерациялық процесске әкеледі:
xn+1=xn-fxnf'x.
[a;b] кесіндісінде x0 туындылық нүктесін таңдаймыз -- нөлдік жуықтау. Бұдан:
x1=x0-fx0f'x1
табамыз, содан кейін
x1=x1-fx1f'x1.
Осылай теңдеудің түбірін табу процессі n х сандарын мына формуламен шығаруға келеді:
xn=xn-1-fxn-1f'xn-1, n=1,2,3...
Бұл процесс мына шарт орындалғанша: xn-xn-1e.
жалғастырады. Мына шартта Ньютон әдісін жай итерациялар әдісінің нұсқасы ретінде қарастыруға болатыны анық:
φx=x-fxf'x.

1 - сурет.
1 сурет. xn+1-fфункциясының x түбірі үшін xn-ге қарағанда жақсы жуықтау (көк қисық).
1.3 Жартылай бөлу әдісі
Бұл әдіс үздіксіз функциялардың нөлдерін табуға бағытталған. Соңғы сұрыпталған массивті іздеу үшін екілік іздеу алгоритмі бөлімін қарау керек. Бастапқы диапазонда қолданылатын жартылай бөлу әдісінің бірнеше қадамдары [a1,b1]. (Үлкен қызыл нүкте-бұл функцияның түбірі.)

2 - сурет.
Математикада жартылай бөлу әдісі қарама-қарсы белгілері бар екі мән белгілі кез келген үздіксіз функцияға қолданылатын түбірді табу әдісі. Әдіс осы мәндермен анықталған интервалды бірнеше рет жартылай бөлуден, содан кейін функция белгіні өзгертетін ішкі интервалды таңдаудан тұрады, сондықтан түбір болуы керек. Бұл өте қарапайым және сенімді әдіс, бірақ ол салыстырмалы түрде баяу. Осыған байланысты, ол көбінесе шешімге дөрекі жақындау үшін қолданылады, содан кейін ол тезірек конвергентті әдістердің бастапқы нүктесі ретінде қолданылады.[8]
Көпмүшелер үшін түбірдің интервалда болуын тексерудің күрделі әдістері бар. Олар көпмүшенің барлық нақты тамырларын табудың тиімді алгоритмдеріне жартылай бөлу әдісін кеңейтуге мүмкіндік береді.
Әдіс нақты x айнымалысы үшін fx=0теңдеуінің сандық шешімі үшін қолданылады, мұндағы f - [a,b] интервалында анықталған үздіксіз функция және faжәне fbқарама-қарсы белгілері бар. Бұл жағдайда a және b түбірді жақшаға алады деп айтылады, өйткені аралық мәндер теоремасына сәйкес үздіксіз F функциясы (a,b) аралықта кем дегенде бір түбір болуы керек.
Әр қадамда әдіс интервалды осы нүктедегі c=a+b2интервалының ортаңғы нүктесін және fс функциясының мәнін есептеу арқылы екі бөлікке бөледі. Егер c түбір болса, онда процесс сәтті аяқталады және тоқтайды. Немесе және екі мүмкіндік бар: faжәне fсқарама-қарсы белгілерге ие және түбірді жақшаға жабады немесе fсжәне fbқарама-қарсы белгілерге ие және түбірді жақшаға жабады. Осылайша, нөлдік f бар интервалдың ені әр қадамда 50% - ға азаяды. Процесс интервал жеткілікті аз болғанша жалғасады.
Егер fс= 0 болса, онда c-ның шешім ретінде қабылдануы мүмкін және процесс тоқтайды. Егер fa және fсқарама-қарсы белгілерге ие болса, онда әдіс с-ны b үшін жаңа мән ретінде, ал егер fсжәне fсқарама-қарсы белгілерге ие болса, онда әдіс c-ны жаңа a ретінде орнатады. екі жағдайда да жаңа fa және fb қарама-қарсы белгілерге ие, сондықтан әдіс осы кіші аралыққа қолданылады.
Егер Fa,bаралығындағы үздіксіз функция болса және faжәне fbқарама-қарсы белгілерге ие болса, әдіс f түбіріне жақындауға кепілдік беріледі. Абсолютті қателік әр қадамда екі есе азаяды, сондықтан әдіс сызықтық түрде жақындайды. Атап айтқанда, егер c1=a+b2 бастапқы интервалдың орташа нүктесі, ал cn n-ніншіқадамдағы интервалдың орташа нүктесі, содан кейін cn мен с шешімі арасындағы айырмашылық шектеуліcn-c=b-a2n.
Бұл әдісте түбірдің алғашқы жуықтауы ретінде c0=a+b2нүктесі алынады. Пайда болған екі аралықтан [a, c0] және [b , c0 ], Fa⋅Fb0 шарт бойынша тек түбір жатқан аралық алынады. Осы процедураны n рет қайталаймыз, яғни түбір жатқан аралықты 2n рет кішірейтеміз. Интерацияны Fcnε болғанша жүргіземіз, мұндағы -берілген өте аз шама болып табылады.
Жартылай бөлу әдісі үздіксіз функциялардың түбірлік теоремасына негізделген, ол кем дегенде бір түбірдің болуына кепілдік береді αфункциялар fаралықта a,b егер faжәне fb қарама-қарсы белгіге ие. Егер a,b аралықта fфункциясы да монотонды болса, яғни f'x0барлық x∈a,b үшін, содан кейін функцияның түбірі ерекше болады. Шешімнің бар екендігі анықталғаннан a кейін алгоритм xk тізбегін түбір теоремасының гипотезасын қанағаттандыратын ені азаятын Интервалдардың орташа нүктелерінің тізбегі ретінде анықтайды.Аралығы белгілі түбірді нактылай табатын сандык әдістердің ең карапайым әдісі аралыкты жартылай бөлу әдісі. Әдістің мәні мынада: Бірінші кадам кезінде функция мәндері аралыктың басы мен соңында есептеледі. Содан кейін берілген аралыкты [a;b] екіге жартылай бөледі (хі нүктесі) және осы нүктеде функция мәнін есептейді. Екіге бөлінген аралыктың кай жартысында функция мәні карама - карсы болса (таңбасы бойынша), осы аралыкты таңдаймыз (1 сурет).

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

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Кәсіпорынның құралдары мен машиналарын бағалаудың маңызы
Мәліметтер базасының схемасын құру
Түйе шаруашылығындағы асыл тұқымды жұмыс
Мббж-ға жалпы түсінік
Түйелерді сұрыптау мен жұптау
КӨЛІКТЕР МЕН ЖАБДЫҚТАРДЫҢ НАРЫҚТЫҚ ҚҰНЫН БАҒАЛАУ
АВТОКӨЛІКТЕР МЕН АВТОКӨЛІК БӨЛШЕКТЕРІН САТУ БОЙЫНША ДҮКЕННІҢ АҚПАРАТТЫҚ ЖҮЙЕСІН ТЕСТІЛЕУ
Стандартты хэштеу алгоритмдері
Еңбек өнімділігінің арттырудың экономикалық бағасы
Квалиметрия - сапаны сан жағынан бағалау
Пәндер