Компютерне моделювання
- Модель (латиною modulus — міра, зразок, норма) — це прообраз, опис або зображення якогось об'єкта.
Моделлю може бути будь-який об'єкт, явище або мисленнєвий образ, за допомогою яких вивчають складніший об'єкт. Моделі використовують тоді, коли безпосередньо дослідити відповідні об'єкти-оригінали складно або й неможливо. Моделі використовують також для дослідження об'єктів, яких немає у наяності. Для кожної моделі існує її прототип (оригінал) — той об’єкт, для заміщення якого її призначено.
- Моделювання — це процес створення моделі.
Моделювати можна не лише наявні предмети, явища та процеси, але й абстракції, яких немає в реальності (модель невиявленої елементарної частинки); об’єкти, які лише планують створити (проект нової станції метрополітену); явища, які можуть і не відбутися (вибух на хімічному заводі). Моделювання здійснюють з метою пізнання властивостей об’єкта, тому термін моделювання застосовують ще й в іншому значенні: дослідження об’єктів за допомогою побудови й вивчення їхніх моделей.
Моделі поділяють на види різними способами: в залежності від призначення, фактора часу, способу реалізації тощо.
- За призначенням розрізняють моделі навчальні, дослідні, науково-технічні, імітаційні та інші.
- Навчальні моделі застосовуються для демонстрації та вивчення властивостей об’єкта-оригінала. Наприклад, на шкільних уроках географії використовують модель земної кулі — глобус, на уроках фізики — модель парового двигуна тощо. У підготовці водіїв транспортних засобів, машиністів, льотчиків використовують спеціальні моделі — тренажери, на яких вони відпрацьовують навички управління.
- Дослідні моделі широко застосовують при проектуванні механізмів, споруд тощо. Вивчення поведінки чи властивостей моделі дає можливість виявити й усунути помилки у проекті. Наприклад, архітектор створює макет майбутньої споруди, щоб уточнити всі її деталі, перш ніж розпочати реалізацію проекту.
- Науково-технічні моделі створюють для дослідження явищ і процесів. Моделювання дозволяє перенести їх вивчення з реальних умов у лабораторні. Наприклад, кульову блискавку відтворюють за допомогою штучно створених електричних розрядів високої напруги.
- Імітаційні моделі (імітувати означає підроблювати, наслідувати) застосовують у тих випадках, коли потрібно перевірити дію певних чинників непрямим способом. Наприклад, перед тим як запровадити у вжиток новий лікарський препарат, його випробовують на тваринах. Це імітаційний експеримент.
- За фактором часу розрізняють моделі статичні й динамічні.
- Статична модель відображає стан об’єкта у певний момент часу. Статичні моделі називають також структурними, бо вони характеризують будову й параметри об’єкта. Прикладами статичних моделей є моделі внутрішніх органів людини, які застосовуються при вивченні анатомії; моделі розподілу економічних ресурсів між країнами світу.
- Динамічна модель відтворює зміни об’єкта з плином часу або особливості функціонування об’єкта (тому динамічні моделі називають також функціональними). Прикладом динамічної моделі є модель броунівського руху молекул газу, яка дозволяє спостерігати їх переміщення й зіткнення в обмеженому просторі.
- За способом реалізації моделі поділяють на два види — матеріальні та інформаційні.
- Матеріальна модель (називають також предметна, натурна, фізична) — це певне реальне втілення прототипу. Наприклад, зменшена копія літака, опудало птаха, макет архітектурного ансамблю тощо.
- Інформаційна модель — це інформація про властивості та стан об’єкта, його взаємозв’язки із зовнішнім світом, призначена для проведення теоретичних досліджень.
Фізична карта України, рівняння хімічної реакції, математична функція, розповідь про береги Дніпра — це приклади подання інформаційної моделі. Як і матеріальні моделі, інформаційні моделі одного й того ж об’єкта будуть різні залежно від мети дослідження. Наприклад, інформаційна модель об’єкта «помідор» для постачальника міститиме дані про розміри, умови зберігання, фактори і терміни дозрівання, максимальні терміни зберігання тощо. А для фермера інформаційна модель цього самого об’єкта міститиме дані про час сіяння, регулярність прополювання і поливання, раціональне використання добрив тощо.
- За способом подання інформації інформаційні моделі поділяють на:
- словесні (усні та письмові описи);
- графічні (рисунки, креслення, піктограми, карти);
- структурні (таблиці, графіки залежностей, діаграми, схеми);
- алгоритмічні (правила, плани дій);
- розрахункові (формули, рівняння, нерівності, функції);
- спеціальні (хімічні формули й рівняння, нотні записи, записи шахових партій).
- Комп’ютерна модель — це інформаційна модель, реалізована з допомогою комп’ютера.
Комп’ютерна модель допомагає спостерігати й досліджувати явища й процеси у динаміці їх розгортання, здійснювати багаторазові випробування моделі, одержувати різноманітні кількісні показники в числовому або графічному поданні, зокрема такі, які вимагають виконання складних, численних або трудомістких розрахунків.
За допомогою комп’ютерного моделювання вивчаються об’єкти та явища, які неможливо, дорого або небезпечно відтворювати в реальних умовах. Це дозволяє не лише економити матеріальні ресурси, а й зберігати екологічні умови існування людини, уникати можливих шкідливих або руйнівних наслідків проведення випробувань. Комп’ютерне моделювання є унікальним інструментом пізнання швидкоплинних або надповільних процесів. Їх можна досліджувати на комп’ютері, розтягуючи чи стискуючи час або навіть зупиняючи його для вивчення певних фаз процесу. Моделювати й вивчати за допомогою комп’ютера можна й такі явища, які не відбувалися, або невідомо, чи відбудуться коли-небудь у реальному житті, — наприклад, зустріч нашої планети з небесним тілом.
- Основні етапи комп’ютерного моделювання
- Постановка задачі та її аналіз.
- Побудова інформаційної моделі.
- Розробка методу й алгоритму дослідження моделі.
- Розробка комп’ютерної моделі.
- Проведення комп’ютерного експерименту.
Побудова інформаційної моделі — встановлення й опис взаємозалежностей між параметрами моделі:
- визначення всіх параметрів моделі й виявлення всіх взаємозв’язків між ними;
- оцінювання того, які з параметрів є істотними при побудові моделі, а якими можна нехтувати. Такий аналіз здійснюють з огляду на поставлену задачу з метою максимального спрощення моделі. Але спрощення не може бути надмірним, щоб модель не втратила адекватності;
- запровадження (при потребі) й використання системи умовних позначень, у яких здійснюють опис залежностей між параметрами моделі. У результаті отримують знакову інформаційну модель.
Побудуємо інформаційну модель для нашої задачі. Геометричні параметри споруд позначимо, як показано на рисунку вище. Вважатимемо, що рух каменя відбувається в одній площині, перпендикулярній до земної поверхні. Запровадимо у цій площині прямокутну систему координат:
- з початком координат у місці розташування стоп Робіна Гуда;
- з горизонтальною віссю абсцис Ox, спрямованою у напрямку кидання;
- з вертикальною віссю Oy, спрямованою вгору.
Початкову швидкість каменя позначимо через v, кут до горизонту, під яким Робін Гуд кидає камінь, позначимо через α. Знехтуємо опором повітря і залежністю прискорення вільного падіння g від висоти. Камінь вважатимемо матеріальною точкою, його траєкторію будемо визначати як залежність координат x, y від часу t. Робін Гуд кидає камінь з висоти свого зросту r, перебуваючи на відстані l1 від стіни. На траєкторію каменя впливають початкова швидкість каменя v і кут α. Згідно із законами класичної механіки маємо:
(1) x = vt cos α;
(2) y = r + vt sin α – gt2/2.
Тут g = 9,81 м/c2 — прискорення земного тяжіння. Рівняння (1–2) і є математичною моделлю задачі.
3. Розробка методу й алгоритму дослідження моделі — складання алгоритму дій для одержання потрібних результаті:
(1) x = vt cos α;
(2) y = r + vt sin α – gt2/2.
Тут g = 9,81 м/c2 — прискорення земного тяжіння. Рівняння (1–2) і є математичною моделлю задачі.
3. Розробка методу й алгоритму дослідження моделі — складання алгоритму дій для одержання потрібних результаті:
- з огляду на інформаційну модель добирають або розробляють метод одержання потрібних результатів;
- за вибраним методом складають детальний план розв’язання задачі, розробляються алгоритм одержання результатів.
Покажемо на прикладі розглядуваної задачі, що одну й ту саму модель можна досліджувати з принципово різних позицій.
Аналітичний підхід для розглядуваної задачі полягає у такому:
Аналітичний підхід для розглядуваної задачі полягає у такому:
- виразити час польоту t через абсцису x:
(3) t = x / v cos α; - виразити ординату точки траекторії через абсцису:
(4) y = r + x tg α – gx2 / 2v2 cos2α; - визначити моменти часу досягнення абсцисою x тих значень, коли потрібно пролетіти певний отвір:
(5) t1 = a1 / v cos α;
(6) t2 = (a1 + a2) / v cos α;
(7) t3 = (a1 + a2 + a3) / v cos α,
щоб записати умови прольоту каменя з посланням у отвори:
(8) h1 < r + a1 tg α – g (a1)2 / 2v2 cos2α < h1 + b1;
(9) h1 < r + (a1 + a2) tg α – g (a1 + a2)2 / 2v2 cos2α < h1 + b1;
(10) h2 < r + (a1 + a2 + a3) tg α – g (a1 + a2 + a3)2 / 2v2 cos2α < h2 + b2; - визначити абсцису
(11) x* = tg α : 2(g / 2v2 cos2α) = v2 sin α cos α / g = v2 sin 2α / 2g
й ординату вершини параболи-траекторії:
(12) y* = r + v2 tg2α cos2α / 2g = r + v2 sin2α / 2g.
Зауважимо, що при a1 < x* < a1 + a2 має справджуватися така нерівність:
(13) y* < h1 + b1.
В основі виведення формули (12) лежать такі тотожності:
(14) aх2 + bх + c = a (x2 + 2х(b/2a) + (b/2a)2) + c – b2/4a = a (x + b/2a)2 + c – b2/4a.
Як бачимо, вираз aх2 + bх + c при від'ємному a набуває найбільшого значення
(15) (aх2 + bх + c)max = c – b2/4a
при
(16) x = – b/2a.
Альтернативою повністю аналітичного дослідження є відтворення процесів (наразі фізичних) з прототипом:
(14) aх2 + bх + c = a (x2 + 2х(b/2a) + (b/2a)2) + c – b2/4a = a (x + b/2a)2 + c – b2/4a.
Як бачимо, вираз aх2 + bх + c при від'ємному a набуває найбільшого значення
(15) (aх2 + bх + c)max = c – b2/4a
при
(16) x = – b/2a.
Альтернативою повністю аналітичного дослідження є відтворення процесів (наразі фізичних) з прототипом:
- обчислювати координати точок траекторії каменя (з певним кроком за часом);
- відобразити траєкторію каменя на креслені споруди;
- висновки про результат кидання каменя визначати наочно.
Примітка. Спокуса економити на розробці методу дослідження не така вже й приваблива і має насторожити. У подальшому вона зазвичай призводить до істотно більших витрат обчислювальних ресурсів. Саме це й маємо для розглядуваної моделі. Свого часу потужність радянських комп'ютерів була у 10–15 разів нижчою від потужності американських. Але глибше розроблені методи наближених обчислень допомагали розв'язати ті самі задачі, що й у США. Наприклад, розрахувати аеродинамічні властивості літака чи гідродинамічні властивості підводного човна.
4. Розробка комп’ютерної моделі — одержання комп’ютерної моделі, придатної для дослідження:
4. Розробка комп’ютерної моделі — одержання комп’ютерної моделі, придатної для дослідження:
- вибір засобів реалізації моделі на комп’ютері;
- створення комп’ютерної моделі;
- перевірка правильності створеної комп’ютерної моделі.
Перевірку здійснюють для знаходження і вилучення помилок, допущених у при створенні моделі. Іноді може з’ясуватися, що помилку було припущено не на даному етапі, а раніше. Наприклад, невдало вибрано метод, зроблено надмірні спрощення при моделюванні тощо. У такому разі потрібно повернутися до відповідного етапу, внести потрібні корективи й повторити всі наступні кроки побудови й дослідження моделі. Для розглядуваної задачі комп’ютерну модель найзручніше будувати в середовищі опрацювання електронних таблиць, в інтегрованому середовищі програмування або у середовищі спеціалізованого математичного пакету.
5. Проведення комп’ютерного експерименту
Комп’ютерний експеримент — дослідження математичної моделі з допомогою комп'ютера, при якому за одними параметрами моделі обчислюють інші її параметри і на цій основі роблять висновки про властивості об’єкта, описані математичною моделлю.5. Проведення комп’ютерного експерименту
Цей етап складається з таких дій:
- розробка плану дослідження;
- проведення комп’ютерного експерименту на базі створеної моделі;
- аналіз отриманих результатів.
У ході експерименту може виникнути потреба виправити план дослідження. Наприклад, поглибити його в деякому напрямку. Отримані результати можуть викликати сумніви, які вимагатимуть вибору іншого методу дослідження, уточнення моделі або навіть внесення змін у постановку задачі. І тоді весь процес починають знову…
Для розглядуваної задачі потрібно спланувати і провести серію спроб для різних відстаней від стіни й різних початкових швидкостей каменя. А саме: змінювати v, α і a1 у певних проміжках з певним (сталим для кожного параметра) кроком при сталих значеннях інших параметрів. При цьому потрібно вести облік тих наборів значень змінних параметрів, які відповідають прийнятним траекторіям. Наприклад, для сталих a1 подавати графік відношення v й α для прийнятних траекторій. Одержані результати дадуть нам підстави для висновку, чи має Робін Гуд шанс влучити у вікно, і якщо так, то як йому це зробити.
Після втомливих спостережень траекторій істотним полегшенням для дослідника стане перехід до використання співвідношень (3–13) з використанням саме інтегрованого середовища програмування. Але завжди потрібно бути готовим змінити плани дослідження.
Примітка. Далі для повноти викладу подано теорію квадратичної функції, яку згідно з чинною навчальною програмою, мають вивчати наприкінці 9 класу. Використання поданого матеріалу для ознайомлення на уроці чи при проведенні комп'ютерного експерименту в домашній роботі не є обов'язковим.
Використавши співвідношення:
(17) cos–2α = tg2α + 1
і запровадивши позначення:
(18) u = tg α,
нерівності (8–10) можна перетворити на нерівності такого вигляду:
(19) au2 + bu + c > 0
або
(20) au2 + bu + c < 0,
у яких коефіцієнти a, b, c не залежать від α, u = tg α. Позначимо:
(21) D = b2 – 4ac.
Маємо:
(22) au2 + bu + c = a (u2 + 2u(b/2a) + (b/2a)2) + c – b2/4a = a((x + b/2a)2 – D/4a2).
При D < 0 знак виразу au2 + bu + c не залежить від u і збігається зі знаком a:
(23) sign (au2 + bu + c) = sign a.
При D = 0 маємо таке:
- при u = – b/2a au2 + bu + c = 0;
- при u ≠ – b/2a справджується рівність (23).
- визначені коренні квадратного тричлена u± = (– b ± D1/2)/2a
— корені рівняння au2 + bu + c = 0; - існує розклад тричлена на множники:
au2 + bu + c = a (u – u–)(u – u+); - знак квадратного тричлена au2 + bu + c збігається зі знаком a при u < u– або u+ < u, тобто коли аргумент менший за менший корінь або більший за більший корінь квадратного тричлена;
- знак квадратного тричлена au2 + bu + c протилежний до знаку a при u– < u < u+, тобто коли аргумент розташовано між коренями квадратного тричлена.
Таким чином, розв'язавши нерівності (8–10) відносно tg α, можна уникнути перебору значень α.
Комментарии
Отправить комментарий