ЧИСЕЛЬНІ МЕТОДИ
Математичне моделювання
методичні вказівки до лабораторної роботи
для студентів напряму 6.050101 „Комп’ютерні науки”
Методичні вказівки обговорені та схвалені на засіданні Науково-методичної ради інституту комп’ютерних наук та інформаційних технологій Національного університету «Львівська політехніка». Протокол № ____ від _______________2017
Укладачі: Висоцька В.А., к.т.н., доцент кафедри ІСМ
Методичні вказівки до лабораторних робіт з дисципліни «Чисельні методи» для студентів напряму 6.050101 „Комп’ютерні науки” /Укл.: В.А.Висоцька.
Лабораторна робота №1
на тему " Математичне моделювання "
Мета роботи: вивчити основні поняття та принципи математичного моделювання
1. Короткі теоретичні відомості
Чисельні методи – методи наближеного або точного розв’язування задач прикладної математики, які ґрунтуються на побудові послідовності дій над скінченною множиною чисел. Згідно основних вимог чисельні методи мають бути стійкими та збіжними. Чисельні методи називають збіжними, якщо результати прямують до точного розв’язання задачі при прямуванні параметрів чисельних методів до певних граничних значень. Основне питання теорії чисельних методів: отримання чисельних методів, які задовольняють вимоги високої точності, стійкості та економічності. Отримання чисельних методів, що задовольняють цим вимогам, є складною задачею оптимізації чисельних методів. Статистичне опрацювання експериментальних даних зазвичай ґрунтується на граничних теоремах теорії ймовірностей та обчисленні порівняльних оцінок. Однак, для підвищення якості оцінок необхідна велика кількість даних, об’єм обчислень може виявитися дуже великим. Чисельні методи націлені на скорочення об’єму обчислень при збереженні якості результатів. До найбільш ефективних чисельних методів в цій галузі відносяться методи, які застосовують швидке перетворення Фур’є. Для розв’язання задач апроксимації та обчислення функцій різних класів застосовують чисельні методи інтерполювання, найменших квадратів, ортогоналізації, врівноваження значень, умовної мінімізації тощо. Найбільш актуальними є методи кусково-многочленної та раціональної сплайнової апроксимації, а також адаптивної апроксимації та нелінійної за параметром апроксимації.
Чисельне інтегрування та диференціювання починається із визначення відповідних операцій. Однак, з урахуванням необхідності економії об’єму обчислень та з урахуванням некоректності задачі диференціювання з’являється велика кількість чисельних методів для різних класів функцій та різного роду вихідних даних.
Основою чисельних методів розв’язування багатьох класів рівнянь є дискретизація задачі з наступним зведенням отриманих нелінійних рівнянь до послідовності систем алгебраїчних рівнянь. У зв’язку з цим чисельні методи можна поділити за способом дискретизації на проекційні, скінченно-різницеві та проекційно-різницеві, а за способом розв’язування лінійної системи – на прямі методи, ітераційні методи та комбіновані.
Розв’язання різних класів рівнянь та багатьох інших задач зводиться до задач мінімізації функцій та функціоналів за наявності або відсутності обмежень. Чисельні методи розв’язання задач мінімізації випливають із методів швидкого спуску по поверхні (мінімізація функції мети), наприклад, методи швидкого спуску, градієнтного, загального градієнтного та найшвидшого спуску, методу можливих та спряжених напрямів тощо. Чисельні методи використовують в обчислювальній математиці для розв’язування відповідного типу задач. Обчислювальна математика – розділ математики, що включає коло питань, які пов’язані із виконанням обчислень і використанням комп’ютерів. Точніше обчислювальна математика – теорія чисельних методів розв’язування типових математичних задач. Класи задач чисельних методів та обчислювальної математики поділяють на:
- розв’язування лінійних рівнянь;
- знаходження власних значень та векторів матриці;
- знаходження сингулярних значень і векторів матриці;
- чисельне розв’язування нелінійних алгебраїчних рівнянь та їх систем;
- чисельне розв’язування систем нелінійних алгебраїчних рівнянь;
- чисельне розв’язування диференціальних рівнянь та систем (як звичайних диференціальних рівнянь, так і рівнянь з частинними похідними);
- чисельне розв’язування систем диференціальних рівнянь;
- чисельне розв’язування інтегральних рівнянь;
- задачі апроксимації функцій;
- задачі інтерполяції функцій;
- чисельне інтегрування та обчислення похідної;
- задачі екстраполяції;
- задачі оптимізації;
- обернені задачі.
Основна відмінність обчислювальної математики полягає в тому, що при розв’язуванні обчислювальних задач людина оперує машинними числами, що є дискретною проекцією дійсних чисел на конкретну архітектуру комп’ютера. Тому важливу роль в обчислювальній математиці відіграють оцінки точності алгоритмів та їх стійкість до подання чисел у пам’яті комп’ютера. Наприклад, для розв’язування лінійної системи алгебричних рівнянь рідко використовують обчислення оберненої матриці, так як цей метод може привести до помилкового розв’язування у випадку зі сингулярною матрицею. А розповсюджений у лінійній алгебрі метод, який заснований на обчисленні визначника матриці та її доповнення, вимагає набагато більше арифметичних операцій, ніж будь-який стійкий метод розв’язування лінійної системи рівнянь. Чисельні методи називають стійкими, якщо результати неперервно залежать від вхідних даних задачі або якщо похибка округлення, що пов’язана з реалізацією чисельних методів на комп’ютері, залишається обмеженою при заданих межах зміни параметрів чисельних методів.
Чисельні методи поділяються на наступні класи задач.
- Чисельні методи алгебри.
- Чисельні методи аналізу.
- Чисельні методи розв’язування звичайних диференціальних рівнянь.
- Чисельні методи розв’язування диференціальних рівнянь з частинними похідними.
- Чисельні методи математичної статистики.
- Математичне програмування:
- 1.Методи оптимізації.
- 2.Дослідження операцій та теорія ігор.
Спочатку для розв’язування математичних задач існували та набули значного розвитку аналітичні методи, які реалізувати на комп’ютері не було можливості. А всі результати, які можна було отримати на комп’ютері, були числовими. З появою систем символьної математики (Eureka, Reduce, SciCalculator, MathCad, MatLab, Mathematica, Maple, Derive) стала можлива комп’ютерна реалізація символьних методів. Всі числові методи поділяються на 2 класи – аналітичні та чисельні. Як одні, так і другі поділяють на точні та наближені. Основну частину всіх обчислювальних методів складають наближені чисельні методи.
Досвід розв’язування науково-дослідних і прикладних задач показує, що незалежно від їхньої складності кінцевої мети досягають постановкою експерименту або методом математичного моделювання. Кожен з цих методів має переваги і недоліки. За допомогою експерименту розв’язують навіть дуже складні задачі, при цьому достовірність результатів тим вища, чим ретельніше відпрацьована методика експерименту. Водночас здобуті результати відносяться лише до умов проведення експерименту, внаслідок чого узагальнення результатів на інші умови є некоректним. Також враховують економічний важіль постановки складного експерименту. В цьому випадку кращі можливості має метод математичного моделювання за допомогою комп’ютера, коли аналізують не реальну задачу, а її модельне подання. Процес математичного моделювання подають у такій послідовності:
- фізична постановка задачі;
- математична постановка задачі;
- математичне дослідження задачі;
- аналіз та осмислення математичного розв’язку;
- порівняння розв’язку з експериментом.
Розглянемо докладніше математичну постановку і математичне дослідження задачі. Математична постановка полягає у формуванні математичної моделі досліджуваної задачі, яка звичайно є системою рівнянь математичної фізики (диференціальних, інтегральних, інтегрально-диференціальних).
Математичне дослідження задачі власне зводиться до розв’язування системи рівнянь і аналізу здобутих результатів. Для порівняно простих задач вдається розв’язати систему рівнянь і розв’язок подати у вигляді залежностей, які виражені через елементарні та інші відомі функції. Якщо це можливо, то говорять, що знайдено аналітичний (точний) розв’язок задачі. Однак переважна більшість практично важливих задач аналітичних розв’язків не має. До таких належать, наприклад, задачі будівництва: визначення напружено-деформованого стану пластин, плит, фундаментів; задачі стійкості, теплопровідності для твердих тіл; напрямленої дифузії тощо. У цих випадках використовують чисельні методи, які, оперуючи системою алгебраїчних рівнянь (аналогів рівнянь математичної фізики), дають можливість побудувати деяку послідовність арифметичних операцій, збільшення кількості яких до нескінченності дає точний розв’язок. Оскільки на практиці здійснюють скінченне число кроків (операцій), то знайдений розв’язок є наближеним. А через те, що обчислювальні операції виконують над числами, то відповідні методи дістали назву чисельних.
Найбільшого розвитку чисельні методи набули останнім часом завдяки застосуванню комп’ютерів, що мають високу швидкість обчислень і великий об’єм оперативної пам’яті. Проте основна роль при цьому відводиться, звичайно, людині, яка повинна вміти сформулювати і поставити задачу, описати її математичними залежностями (створити математичну модель об’єкта), скласти алгоритм розв’язування задачі на комп’ютері, написати програму на алгоритмічній мові, розв’язати задачу й оцінити результати. При оцінюванні результатів розрахунку поєднання чисельних методів та комп’ютера отримують оперативно ефективний результат, варіюючи найсуттєвіші параметри розрахункової схеми задачі з наступним чисельним аналізом впливу їх на кінцевий результат. Це чисельний експеримент, оскільки умови задачі можна змінювати багато разів. Незважаючи на відмінності в методології, до чисельного експерименту щільно дотинають фізичний експеримент/дослідження, де необхідна оцінка достовірності здобутих результатів.
Математична модель об’єкта – це та сукупність рівнянь, за допомогою якої досліджують реальні фізичні об’єкти (процеси, явища). Математична модель не тотожна досліджуваному об’єкту, а є лише його наближеним описом, оскільки її будують з деякими спрощеннями та ідеалізацією. У моделі враховують найважливіші моменти і взаємозв’язки, найхарактерніші для досліджуваного реального об’єкта. Разом з тим внаслідок заміни реального об’єкта відповідною йому математичною моделлю стало можливим сформулювати задачу як математичну і скористатися для її розв’язання тим чи іншим математичним апаратом.
Алгоритм – це зрозумілий і точний припис (вказівка) виконавцеві здійснювати послідовність дій, що спрямовані на досягнення зазначеної мети або розв’язання поставленої задачі. Точність розв’язку – це міра близькості чисельного розв’язку до аналітичного. Збіжність розв’язку – це поступове наближення його до точного. Після вибору математичної моделі об’єкта і опису її на алгоритмічній машинній мові здійснюють чисельну реалізацію задачі на комп’ютері. При реалізації практичних задач здебільшого застосовують комп’ютери, що виконують від кількох сотень до мільйонів операцій за секунду. Найбільшого застосування в інженерних розрахунках набули комп’ютери, які мають не тільки високу швидкість обчислень, сучасне програмне забезпечення, але й розвинуту сервісну частину, яка дає можливість оперативно діагностувати похибки, графічно відображати результати обчислень, здійснювати розрахунки в режимі діалогу.
В методичних вказівках розглянуто особливості та переваги використання математичного моделювання для дослідження явищ та процесів. Визначено особливості аналізу результатів моделювання та оцінювання похибки цих. Моделювання (англ. scientific modelling, simulation, нім. Modellieren n, Modellierung f, Simulation f, рос. моделирование) – це метод дослідження явищ і процесів, що ґрунтується на заміні конкретного об’єкта досліджень (оригіналу) іншим, що подібний до нього (моделлю). Моделювання в широкому сенсі – це особливий пізнавальний процес, метод теоретичного та практичного опосередкованого пізнання, коли суб’єкт замість безпосереднього об’єкта пізнання вибирає чи створює подібний із ним допоміжний об’єкт-замісник (модель), досліджує його, а здобуту інформацію переносить на реальний предмет вивчення. Моделювання – це процес створення та дослідження моделі, а модель – засіб, форма наукового пізнання. Під моделлю розуміють об’єкт будь-якої природи (подумки уявлена або матеріально реалізована система), який, відображаючи чи відтворюючи в певному сенсі об’єкт дослідження, здатний заміщати його так, що вивчення моделі дає нову інформацію про об’єкт. Моделювання зазвичай використовують в дослідженні систем різної природи, але особливого значення воно набуває в соціальному управлінні, в рамках методології системного підходу.
Моделювання – одна з основних категорій теорії пізнання. На ідеї моделювання базується будь-який метод наукового дослідження. Основні види моделювання – фізичне і математичне. Характерною рисою розглядуваного методу є можливість відтворення моделлю відповідно до завдань дослідження тих чи інших істотних властивостей, структур досліджуваного об’єкта, взаємозв’язків і відносин між його елементами. В процесі пізнання модель є наступною за об’єктом, є його копією, а у відтворенні, конструюванні, навпаки, об’єкт є наступним за моделлю, копіюючи її.
Модель фіксує існуючий рівень пізнання про досліджуваний об’єкт. Неможливо створити універсальну модель, яка могла б відповісти на всі запитання, що викликають інтерес; кожна з них дає лише наближений опис явища, причому в різних моделях знаходять відображення різні його властивості. Моделювання доречно використовувати, коли дослідження реального об’єкту з усією сукупністю його властивостей недоцільно, незручно або неможливо.
Моделювання – це метод, а модель – форма, засіб наукового пізнання. Метод моделювання володіє загальністю, оскільки змоделювати можна будь-який об’єкт: така можливість рівнозначна визнанню принципової їх пізнаваності. Перевірка достовірності моделювання – процес визначення, чи модель або виконувана імітація точно є детальним концептуальним описом, прийнятим розроблювачем. Перевірка достовірності також оцінює ступінь відповідності моделі або імітації змісту і проводиться з використанням прийнятих методів технології програмування.
Перевірка правильності – визначення, чи здається модель або імітація розумною людям, що добре інформовані щодо системи при її дослідженні, заснованому на експлуатаційних показниках моделі. Цей процес не розглядає програмний код або логіку, а скоріше розглядає входи і виходи для гарантії їх уявної реалістичності або показності. Це процес визначення ступеня точності, з яким модель або імітація відображає реальний чи створюваний світ. Фізичне моделювання, при якому модель і об’єкт, що моделюється, мають одну і ту ж фізичну природу.
Математичне моделювання – моделювання, при якому модель є системою математичних співвідношень, що описують певні технологічні, економічні чи інші процеси. Найчастіше застосовують два способи математичного моделювання:
- аналітичний, що передбачає можливість точного математичного опису строго детермінованих систем,
- ймовірнісний, що дозволяє отримати не однозначне рішення, а його імовірнісну характеристику (наприклад, параметрів технологічного процесу).
Математичне моделювання займає провідне місце в системному аналізі, а також широко застосовується для опису технологічних процесів.
Математичне моделювання (рос. моделирование математическое; англ. mathematical simulation, нім. mathematische Modellierung f) – метод дослідження процесів або явищ шляхом створення їхніх математичних моделей і дослідження цих моделей. В основу методу покладено ідентичність форми рівнянь і однозначність співвідношень між змінними в рівняннях оригіналу і моделі, тобто, їх аналогію. Математичні моделі досліджуються за допомогою комп’ютерів.
На початку 60-их років розроблено один із методів математичного моделювання – квазіаналогове моделювання. Цей метод полягає в дослідженні недосліджуваного явища, а явища або процесу іншої фізичної природи, що описується співвідношеннями, які еквівалентні відносно отримуваних результатів.
Математичне моделювання зазвичай застосовують всі природничі і суспільні науки, що використовують математичний апарат для одержання спрощеного опису реальності за допомогою математичних понять. Математичне моделювання дозволяє замінити реальний об’єкт його моделлю і потім дослідити останню. Як і у разі будь-якого моделювання, математична модель не описує явище абсолютно адекватно, що залишає актуальним питання про застосовність отриманих таким шляхом даних. Математичне моделювання широко застосовується в інформатиці.
Формальна класифікація моделей ґрунтується на математичних засобах, що використовують для розв’язування поставлених задач. Розрізняють моделі:
- лінійні або нелінійні моделі;
- зосереджені або розподілені системи;
- детерміновані або стохастичні;
- статичні або динамічні.
Існує ще декілька підходів. Разом з тим, кожна побудована модель є лінійною або нелінійною, детермінованою або стохастичною. Звичайно, можливі й змішані типи: у одному відношенні зосереджені (за частиною параметрів), в іншому – розподілені моделі тощо.
1.1. Чисельні методи та використання комп’ютера для розв’язування прикладних задач
Розглядаючи математичний аналіз явища як приклад теоретичного експерименту, із загальних та достатньо природних міркувань процес математичного моделювання розбивається на декілька етапів:
- Формулювання математичної моделі явища.
Математична модель будь-якого явища, що досліджується, через його надзвичайну складність, повинна включати важливі сторони процесу для задачі, що розглядається, його істотні характеристики та формалізовані зв’язки, які потрібно враховувати. Як правило, математична модель досліджуваного фізичного явища формулюється у вигляді рівнянь математичної фізики. На цій стадії аналізу це суттєво нелінійні, багатовимірні системи рівнянь, які мають велику кількість невідомих та параметрів. Якщо математична модель недостатньо деталізована, то які б ми не застосували методи для подальших розрахунків, отримані результати будуть ненадійними, а в окремих випадках і зовсім невірними.
- Проведення математичного дослідження отриманої моделі та отримання відповідного розв’язку.
На цьому етапі моделювання, в залежності від складності моделі, що розглядається, застосовують різні підходи для її дослідження та вкладається різний зміст в поняття розв’язку задачі. Доведення теорем існування та єдності у визначеному сенсі розв’язує задачу, але, воно часто є некоректним та не дозволяє вирішити проблему дослідження якісної поведінки рішення та оцінки його кількісних характеристик. Для найбільш загальних, формальних та нескладних моделей вдається отримати їх аналітичний розв’язок. Використання засобів символьних розрахунків на ПК (MATHEMATICA, MathCAD, MatLab, інтелектуальні калькулятори тощо) суттєво покращує та пришвидшує розрахунки, ніж традиційне поле діяльності на папері з олівцем.
Для більш точних та складних моделей аналітичний розв’язок вдається отримати порівняно рідко. При теоретичному аналізі задачі, в такій ситуації, зазвичай використовують наближені математичні методи, наприклад, розклад за малим параметром, усереднення, дослідження різних асимтотик тощо. Ці прийоми дозволяють подати наближений розв’язок в аналітичній формі та за його допомогою отримати задовільні чисельні результати. Нарешті, для найбільш точних та складних моделей основними методами розв’язування є чисельні методи, які вимагають проведення великого об’єму розрахунків на ПК. Ці методи дозволяють отримати хороший кількісний і навіть якісний результат у описі моделі. Але є у них і принципові недоліки – як правило, мова йде про розгляд деякого частинного розв’язку. У зв’язку із поділом методів на точні та наближені доцільно ввести:
- Похибка задачі, тобто похибка вхідних даних (число p, е).
- Похибка методу (лише для наближених методів).
- Похибка заокруглення.
Для наближених методів використовують поняття збіжності.
Метод називається збіжним, якщо послідовність наближень отриманих цим методом є збіжною. У граничному випадку збіжний наближений метод дає точний результат. Метод називається стійким, якщо невелика похибка вхідних даних викликає невелику похибку вихідних даних. Метод називається коректним, якщо він є збіжним та стійким, і для розв’язування задачі використані всі початкові дані. Для дослідження збіжності та стійкості використовують числові ознаки, а саме, розглядають абсолютну та відносну похибки. Перед тим, як перейти до розгляду конкретних методів розглянемо поняття математичного моделювання.
Математична модель – це опис того чи іншого явища (процесу) за допомогою математичних термінів, формул, рівнянь (алгебраїчних, диференціальних, інтегральних). Для того, щоб розв’язати довільну задачу необхідно провести так званий “обчислювальний експеримент”. Цей термін передбачає три складові (рис. 1.1). Наведена схема на рис. 1.2 частково відображає взаємозв’язки етапів математичного моделювання.
Рис. 1.1. Схема процесу математичного моделювання
Рис. 1.2. Схема процесу математичного дослідження моделі
Кожний із етапів математичного дослідження моделі пов’язаний із використанням чисельних методів та отриманням чисельного розв’язку задачі.
- Аналіз відповідності запропонованої моделі, тобто осмислення результатів розв’язку, співставлення отриманного розв’язку із наявними даними фізичного експерименту. На цьому етапі розв’язується питання відповідності математичної моделі та проведеного дослідження. «Добре» узгодження з експериментом звично засвідчує правильність вибору моделі. У іншому випадку необхідні додаткові уточнення, зміни тощо, повторення попередніх етапів дослідження. Використання ПК в процесі математичного дослідження моделі вимагає специфічних, чисельних методів, тобто такої інтерпретації математичної моделі, яка може бути реалізована на комп’ютері – назвемо її дискретною (обчислювальною) моделлю. Так як комп’ютер виконує лише арифметичні та логічні операції, то для реалізації обчислювальної моделі необхідно розроблення відповідного обчислювального алгоритму. Подальша послідовність дій – це програмування, розрахунок на комп’ютері, опрацювання результатів розрахунку.
В рамках лекційного курсу зупинимося на окремих проблемах чисельних методів при аналізі порівняно простих та класичних математичних моделей.
1.2. Наближений аналіз. Джерела та класифікація похибок
Числові розв’язки будь-якої математичної задачі, як правило, ніколи точно не співпадають з її точними розв’язками. Одержуються результати з тією чи іншою точністю.
Означення 1.1. Відхилення точного розв’язку математичної задачі від наближеного розв’язку називається похибкою розв’язку задачі.
Виникнення похибки обумовлюється наступними причинами:
- математичний опис задачі є неточним (наприклад, вихідні дані задано неточно);
- метод, що застосовується для розв’язання математичної задачі є неточним, бо точно розв’язати, як правило, математичну задачу неможливо;
- при вводі та виводі даних з комп’ютера відбувається заокруглення чисел.
Тому відповідно похибка задачі складається з трьох похибок:
- неусувна похибка або похибка математичної моделі;
- похибка наближеного методу;
- обчислювальна похибка.
Розглянемо наступну модельну задачу.
(Для ознайомлення з повним текстом статті необхідно залогінитись)