Бројчена анализа: Разлика помеѓу преработките

[проверена преработка][проверена преработка]
Избришана содржина Додадена содржина
сНема опис на уредувањето
сНема опис на уредувањето
Ред 10:
Обичните диференцијални равенки се појавуваат во небесната механика (планети, ѕвезди и галаксии), нумеричката линеарна алгебра е важна за анализата на податоци; стохастичките диференцијални равенки и Марковите вериги се од суштинско значење во симулирањето на однесувањето на живите клетки во медицината и биологијата.
Пред појавата на современите компјутери, бројчените методи често зависеле од рачна интерполација на големи печатени табли. Наместо тоа од средината на 20 век компјутерите почнале да ги пресметуваат потребните функциски вредности. Меѓутоа интерполационите формули сепак продолжуваат да се користат како дел од софтверот за решавање на диференцијални равенки.
== '''Општ вовед''' ==
Општата цел во полето на нумеричката анализа е дизајн и анализа на техники потребни да се добијат приближни, со однапред зададена точност, решенија за сложени проблеми, чија разновидност може да се види низ следново:
* Напредните нумерички методи се од суштинско значење за временските предвидувања да бидат нумерички изводливи
Ред 18:
* Авионските линии користат софистицирани алгоритми за оптимизација при донесување на одлуките за цените на билетите, авионите и членовите на екипажот, како и потребите за гориво. Историски гледано, такви алгоритми се развиени во рамките на областите кои се преклопуваат со операционите истражувања.
* Осигурителните компании користат нумерички програми за статистички анализи.
=== '''Историја''' ===
Областа на нумеричката анализа масовно се користела пред развојот на модерните компјутери. Линеарната интерполација била во употреба пред повеќе од 2000 години. Многу големи математичари од минатото биле преокупирани со нумеричка анализа, што се гледа од имињата на некои важни алгоритми како на пример Њутнов метод, Лагранжова интерполација на полином, Гаусова елиминација или Ојлеров метод.
За да се олеснат рачните пресметки, големите книги биле произведени со додатоци на формули и табели на податоци, како што се интерполација на точки и коефициенти на функции.
Ред 24:
Функциските вредности веќе не се користат многу често поради појавата на модерниот компјутер, меѓутоа голем број на формули се уште можат да бидат корисни и користени.
Механичкиот калкулатор бил развиен како алатка за рачно пресметување. Овие калкулатори еволуирале во електронските компјутери во 1940 година, а потоа било откриено дека овие компјутери можат да бидат користени и за административни цели. Пронаоѓањето на компјутерите влијаело во областа на нумеричката анализа бидејќи оттогаш можеле да се вршат долги и сложени пресметки за многу кратко време.
=== '''Директни и итеративни методи''' ===
Директните методи го пресметуваат решението на еден проблем во конечен број чекори. Овие методи даваат прецизен одговор, кога би биле изведени во аритметика на бесконечна прецизност. Како пример за такви методи можат да се наведат Гаусовата елиминација, метод на QR-факторизација за решавање на систем на линеарни равенки и симплекс методот на линеарно програмирање. Во пракса се користи конечна прецизност и резултат е апроксимација на вистинското решение.
[[Податотека:'''Директни наспроти итеративни методи'''|мини|Пр: Да се реши равенката:
Ред 60:
За разлика од директните методи кај итеративните методи не се очекува да завршат во конечен број чекори. Почнувајќи од почетно приближување, итеративните методи формираат сукцесивна апроксимација која конвергира до прецизното решение единствено во границата на однапред зададена точност. Тестот на конвергенција кој обично опфаќа остаток, се специфицира за да се одреди кога е најдено доволно прецизно решение. Дури кога би се користела и аритметика на бесконечна прецизност овие методи не би дошле до решение во конечен број чекори. Примерите ги опфаќаат Њутновиот метод, метод на преполовување и Јакобиевата итерација. Во компјутерската матрична алгебра, итеративните методи се генерално неопходни за решавање на големи проблеми.
Итеративните методи почесто се среќаваат отколку директните методи во нумеричката анализа. Некои методи во принцип се директни, но обично се применуваат како итеративни на пример: GMRES (Метод за генерализација на минимални остатоци) и методот на коњугиран градиент. За овие методи бројот на чекори кои се неопходни за да се добие прецизно решение е толку голем што апроксимацијата се прифаќа исто како кај итеративната метода.
=== '''Дискретизација''' ===
Континуираните проблеми понекогаш мора да се заменат со дискретни проблеми чие решение е познато, за да тоа решение се апроксимира на континуиран проблем. Овој процес се нарекува дискретизација. Еден пример за дискретизација е кога решението на диференцијална равенка, кое е функција, треба да биде претставено со ограничен број податоци, на пример преку нејзината вредност во ограничен број на точки како нејзин домен, иако вистинскиот домен е интервал, т.е. континуирано множество вредности.
==== '''Дискретизација и нумеричка интеграција''' ====
Пример:Во двочасовна трка, ќе се мери брзината на автомобилот во три временски моменти и податоците се евидентирани во следната табела
{| class="wikitable"
Ред 72:
Ако се направи дискретизација, би требало да каже дека брзината на автомобилот била константна од 0:00 до 0:40, а потоа од 0:40 до 1:20 и конечно од 1:20 до 2:00. На пример, вкупното растојание во првите 40 минути е апроксимативно околу (2/3 h × 140 км/ч) = 93.3 км. Ова ќе ни овозможи да се процени вкупното поминато растојание како што е 93.3 км +100 км + 120 км = 313.3 км, што е пример за нумеричка интеграција
 
== '''Генерирање и ширење на грешки''' ==
При решавање на многу практични проблеми, теориската математика може да докаже дека постои решение или дека е единствено, ама не и да даде постапка со која се доаѓа до тоа решение. Затоа нумеричката анализа има за цел да го пронајде приближното нумеричко решение на одреден проблем кое би можело да се искористи во различни инженерски дисциплини, како на пример софтверското инженерство.
Во софтверското инженерство најчесто се користат итеративни постапки, чие решение се приближува до точното, но заради конечниот број на повторувања секогаш отстапува од точното. Отстапувањето на приближното решение од точното решение претставува грешка која може да биде:
Ред 84:
Проучувањето на формите на грешките е значаен дел од нумеричката анализа. Постојат неколку начини преку кои грешката може да биде вклучена во решението на проблемот.
 
=== '''Заокружување''' ===
Грешките од заокружување се јавуваат бидејќи е невозможно прецизно да се претстават сите реални броеви на машина со конечна меморија
(што е случај со сите дигитални компјутери).
=== '''Грешки од отсекување и дискретизација''' ===
Грешките од отсекување се појавуваат тогаш кога еден итеративен метод ќе заврши или математичката постапка се апроксимира, и приближното решение се разликува од точното решение. Слично на тоа дискретизацијата вклучува дискретизациона грешка затоа што решението на дискретен проблем не се совпаѓа со решението на континуиран проблем. На пример, во итерацијата прикажана на горниот пример за да се пресмета решението на равенката 3х<sup>3</sup>+4=28, после 10 или повеќе итерации се заклучува дека се добива грубо решение на пример (1.99) . Со тоа имаме грешка од отсекување која изнесува 0.01.
Откако една грешка се генерира таа се зголемува низ целата пресметка. Повторно за пример да ја истакнеме операцијата собирање (,,+,, на калкулатор или компјутер) за која веќе имаме спомнато дека не е прецизна, од тука следува дека и пресметката од видот a+b+c+d+e е уште понепрецизна.
Горе е спомнато дека доаѓа до грешка од скратување кога апроксимираме математичка постапка. Познато е дека за прецизна интеграција на функција неопходно е да се најде збирот на бесконечен број трапезоиди. Но, во пракса меѓутоа можно е да се најде сумата (збирот) само на конечен број на трапезоиди, а со тоа да се приближиме кон точната вредност на интегралот.
Слично на тоа, за да се најде извод на функцијата, диференцијалниот елемент се приближува кон нула, но нумерички може да се избере само ограничена вредност на диференцијалниот елемент.
=== '''Нумеричка стабилност и добро условени проблеми''' ===
Нумеричката стабилност е важен поим во нумеричката анализа. Еден алгоритам се нарекува нумерички стабилен ако една грешка, без разлика како е предизвикана, не расте многу во текот на пресметувањето. Ова се случува кога проблемот е добро условен што значи дека решението се менува со мала промена на влезните податоци. Во спротивно, ако проблемот е лошо условен тогаш секоја мала грешка во влезните податоците ќе предизвикува поголема грешка во решението.
Заедно и оригиналниот проблем и алгоритмот се користат да се реши проблем кој може да биде добро условен и/или лошо условен и секоја од овие комбинации може да биде возможна.
Ред 138:
Сега да замислиме дека користиме многу операнди, како што се овие функциски вредности погоре; грешките ќе се зголемуваат во текот на програмата за работа, освен ако не користиме соодветна формула за овие две функции, секој пат кога пресметуваме f (x),или g (x);
Примерот претставува модификација превземена од Mathew;Numerical methods using Mathlab 3rd (трето издание).
== '''Области на проучување''' ==
Полето на нумеричката анализа вклучува многу поддисциплини меѓу кои едни од најважните се:
=== '''Пресметување вредности на функции ''' ===
Еден од наједноставните проблеми е пресметување на функција во дадена точка. Наједноставен пристап е само додавање на број во формула меѓутоа понекогаш тој пристап не е ефикасен. За полиноми, подобар пристап е користење на Хорнеровата шема бидејќи таа ги редуцира бројот на множења и собирања. Општо земено важно е да се проценат и контролираат грешките од заокружување кои произлегуваат од употребата на аритметика на подвижна точка.
=== '''Интерполација, екстраполација и регресија''' ===
[[Податотека:Решавање на равенки и систем равенки|мини|
'''Интерполација''': забележано е дека температурата варира од 20 степени Целзиусови во 1:00 до 14 степени во 3:00. Со линеарна интерполација на овие податоци се доаѓа до заклучок дека во 2:00 биле 17 степени и 18.5 степени во 1:30.
Ред 162:
 
'''Регресијата''' е исто така слична, но таа зема во предвид дека дадените податоци се непрецизни. Со оглед на некои дадени точки и мерења на вредноста на некоја функција во тие точки (со грешка) ние сакаме да се детерминира (утврди) непозната функција. Методот на најмали квадрати е еден од попопуларните методи за да се постигне оваа цел.
=== '''Решавање на равенки и систем од равенки''' ===
Друг основен проблем е пресметување на решението на дадена равенка. Два случаи најчесто се разликуваат во зависност од тоа дали равенката е линеарна или нелинеарна. На пример, равенката 2х + 5 =3 е линеарна, додека 2х<sup>2</sup> + 5 = 3 е нелинеарна равенка.
Многу напор е вложен во развојот на методи за решавање на системи од линеарни равенки. Стандардни директни методи односно методите кои користат некои матрични разложувања се Гаусовата елиминација , LU декомпозиција (на долно триаголна матрица L и горно триаголна матрица U), Клоески разложувањe, QR разложување за неквадратни матрици. Итеративните методи како што се Јакоби методот, Гаус-Сејдел метод, последователна над-релаксација и методот на коњугиран градиент најчесто се користат за поголеми системи.
Алгоритмите за наоѓање на корени се користат за решавање на нелинеарни равенки (тие се така наречени затоа што коренот на функцијата е аргумент за кој вредноста на функцијата е нула). Ако функцијата е диференцијабилна и изводот е познат тогаш Њутновиот метод е популарен избор за решавање. Линеаризацијата е уште една техника за решавање на нелинеарни равенки.
=== '''Наоѓање на сопствени вредности или сингуларни вредности на даден проблем''' ===
Неколку важни практични проблеми можат да бидат изразени преку декомпозиција на сопствените вредности или декомпозиција на сингуларни вредности. На пример, спектрален алгоритам за компресија на слика е заснован врз декомпозиција на сингуларни вредности. Соодветната алатка во статистиката се нарекува анализа на главни компоненти.
=== '''Оптимизација''' ===
Оптимизирачките проблеми бараат точка во која дадената функција е достигнува максимална или минимална вредност. Често точката во која што се достигнува минимум или максимум исто така мора да задоволува некои ограничувања.
Полето на оптимизација се дели на неколку подобласти, во зависност од формата на функцијата на целта и од ограничувањата. На пример, линеарното програмирање е такво што функција на целта и ограничувањата се линеарни. Познат метод во линеарното програмирање е Симплекс алгоритам (метод).
Ред 177:
Методите на ретки мрежи се множество од нумерички техники коишто претставуваат, интегрираат или интерполираат високо димензионални функции. Тие првично биле развиени од страна на рускиот математичар Сергеј Смолак, ученик на Лазар Листерник, и тие се базираат на конструкција на “редок” тензорски производ. Компјутерските алгоритми за ефикасно имплементирање на таквите мрежи подоцна биле развиени од страна на Мајкл Грибл и Кристоф Зенгер.
 
=== '''Диференцијални равенки'''===
Нумеричката анализа се занимава со пресметување на решението на диференцијални равенки, без разлика дали се обични или парцијални диференцијални равенки.
Парцијалните диференцијални равенки се решаваат со првата дискретизација на равенката, доведувајќи ја во конечни димензии.
Ова може да биде направено со користење на методот на конечни елементи, методот на конечни разлики или (особено во областа на инженерството) со користење на методот на конечни волумени. Ова го редуцира проблемот на решението на една алгебарска равенка. Две основни методи за нумеричко решавање на диференцијални равенки се Ојлеровата метода и фамилијата Рунге-Кута методи.
 
== '''Софтвер''' ==
Од крајот на 20 век повеќето алгоритми од нумеричка анализа се имплементираат во различни програмски јазици. Netlib-библиотеката содржи различни колекции на софтвер рутини за нумерички проблем, најмногу во FORTRAN и C. Комерцијалните производи имплементираат многу различни нумерички алгоритми вклучувајќи ги и IMSL и NAG библиотеките; бесплатен начин е GNU научната библиотека.
Постојат неколку популарни нумерички компјутерски апликации како што се [[MATLAB]] , TK Solver, S-PLUS, Lab View i IDL како подобар од бесплатните и отворени алтернативни извори како што се Free MAT, Scilab, [[GNU]] Oktave, (слично како [[MATLAB]]), IT ++ ([[C++]] библиотека), [[R]] (слично на S-PLUS) и одредени варијанти на Пајтон([[Python]]). Перформансите значително варираат во голема мера: кога векторските и матричните операции се најчесто брзи, скаларните јамки може да се разликуваат по брзина од повеќе од еден ред на големина.
Многу системи за компјутерска алгебра како Mathematica имаат достапност на аритметика со произволна прецизност која што може да обезбеди повеќе точни резултати. Исто така секој софтвер за табеларни пресметувања (како MS Excel) може да се користи за решавање на едноставни проблеми поврзани со нумеричката анализа.
 
== '''Трапезна и Симсонова формула во нумеричко интегрирање''' ==
<gallery widths="200" heights="200">
Податотека:Composite trapezoidal rule illustration.png|Плоштината под функцијата f(x) означена со сино се апроксимира со плоштината на трапезите под деловите на линеарната апроксимација (означена со црвено).