Ім'я файлу: Комп`ютерне моделювання.doc
Розширення: doc
Розмір: 14кб.
Дата: 23.01.2023
скачати
Пов'язані файли:
Лекція №12. ПсихофізіологіяТО.pdf
Лекція 6.pdf

Здавна людина застосовує моделі. Це корисно при вивченні складних процесів або систем, конструюванні нових пристроїв або споруд. Зазвичай модель більш доступна для дослідження, ніж реальний об'єкт (а є такі об'єкти, експериментувати з якими неможливо або неприпустимо). Як ви вже знаєте, модель - це певний матеріальний або ідеальний (подумки представлений) об'єкт, що заміщає об'єкт-оригінал, зберігаючи його характеристики, важливі для даної задачі.

Процес побудови моделі називають моделюванням. Всі способи моделювання можна розділити на дві великі групи. В одному випадку моделлю є предмет, який відтворює ті або інші геометричні, фізичні і т.п. характеристики оригіналу. Це - матеріальне (фізичне) моделювання. Дослідження таких моделей - реальні експерименти з ними.

По іншому відбувається робота з інформаційними (ідеальними) моделями, які є описами об'єктів-оригіналів з допомогою схем, графіків, формул, креслень і т.п. Одним з найважливіших видів інформаційного моделювання є математичне - коли опису формулюються мовою математики. Відповідно, і дослідження таких моделей ведеться з використанням математичних методів. Саме математичним моделюванням ви користуєтеся при вирішенні кількісних завдань на уроках фізики та хімії.

Математичні моделі, що використовуються при вирішенні сучасних практичних завдань, настільки складні, що досліджувати їх вручну практично неможливо. Доводиться вдаватися до допомоги комп'ютера. Як же відбувається процес комп'ютерного моделювання?

Будь-яка модель створюється для цілком певної мети, і це в значній мірі визначає її вибір. Тому перше, що необхідно зробити, - поставити завдання, тобто визначити питання, відповіді на які ми хочемо отримати, і необхідні для цього вихідні дані.

По-друге, потрібно вибрати серед законів, яким підкоряється моделируемая система, істотні для пошуку відповідей на поставлені питання. Можливо, доведеться висувати і якісь припущення. Знайдені закономірності слід представити у формі математичних співвідношень.

Розглянемо простий прімер22.

Для виробництва вакцини на заводі вирощують культуру бактерій. Експериментально встановлено швидкість розмноження бактерій. Відомо також, що при збільшенні числа бактерій починається самоотруєння, причому кількість тих, хто гине бактерій пропорційно квадрату біомаси. Певну масу забирають щодня на потреби виробництва. Потрібно встановити, як буде змінюватися маса бактерій з плином часу.

Почнемо з того, що сформулюємо завдання математичною мовою. Отже, з експерименту відомо, що, якщо маса бактерій - X грам, то за добу з'явиться AX і загине BX2 грам бактерій. Коефіцієнти A і B визначаються дослідним шляхом для кожного виду бактерій. Щодня забирається M грам. Таким чином, до початку наступного дня маса буде дорівнювати

X + (AX-BX2)-M = X (A +1- BX)-M.

Цієї формули нам досить, щоб розрахувати масу бактерій через день, якщо ми знаємо початкову, потім - користуючись цією ж формулою - знайдемо масу через 2 дні; використовуючи вже це значення як оригінал - те, що буде через 3 дні і так далі . Такий спосіб обчислення послідовності називається рекуррентним23.

Вихідними даними будуть:

X0 - початкова маса бактерій;

A, B - експериментально визначені коефіцієнти;

M - маса бактерій, що забирається щодня на потреби виробництва.

Результат - маса бактерій через 1, 2, 3 ... дня. Позначимо її "X". Для визначеності будемо вести розрахунок для 100 днів.


Отже, модель побудована. Що далі?

На наступному етапі потрібно розробити алгоритм її дослідження (або підібрати готовий). Потім - скласти програму, що реалізовує цей алгоритм.

Напишемо програму для нашого прикладу. Як завжди, все почнеться з введення вихідних даних, після чого потрібно буде виконати обчислення і вивести результати. Оскільки нам потрібно знати біомасу для кожного зі ста днів, очевидно, що обчислення її та виведення результатів потрібно буде виконувати циклічно. Уявімо все сказане на мові Лого:

це біомаса

запитай [Коефіцієнт А]

нехай "A відповідь

запитай [Коефіцієнт B]

нехай "B відповідь

запитай [Щоденний витрата M]

нехай "M відповідь

запитай [Початкова маса X0]

нехай "X0 відповідь

нехай "X: X0

повтори 100

[

нехай "X следующее_значеніе: A: B: M: X

пиши: X

]

кінець

Для обчислення наступного значення скористаємося виведеної нами формулою:

це следующее_значеніе: A: B: M: X

нехай "Y: X * (: A + 1 -: B *: X) -: M

вихід: Y

кінець

Зверніть увагу: тут ми використовуємо так звану "процедуру-функцію" (або просто функцію). Остання команда в ній - "вихід" (вих, output, op) - вказує комп'ютера, що потрібно передати (або, як говорять програмісти, "повернути") основній програмі.

Після налагодження програми і виконання розрахунків на комп'ютері, обов'язково потрібно проаналізувати отримані результати, переконатися в їх правдоподібності. Тільки після цього комп'ютерну модель можна використовувати.

Цілком ймовірно, що доведеться перевіряти - і коректувати - програму, алгоритм, а може бути і модель.

У нашому прикладі досить імовірно, що при запуску, ми побачимо ... негативну масу бактерій. Природно, такого реально бути не може. Просто при заданих нами вихідних даних усі бактерії або загинули, або були витрачені на виробництво вакцини. Очевидно, що продовження розрахунку в такій ситуації - безглуздо. Значить, треба скорегувати нашу програму. Якщо при обчисленні за формулою буде отримано негативне число, потрібно буде виводити відповідне повідомлення і зупиняти програму.

Для повної зупинки програми в Логотипом служить команда "зупинення" (stopall).

Внесемо відповідні зміни у функцію "следующее_значеніе".

це следующее_значеніе: A: B: M: X

нехай "Y: X * (: A + 1 -: B *: X) -: M

еслі_іначе: Y> 0

[

вихід: Y

]

[

повідом [Всі бактерії загинули!]

останов

]

кінець

Тепер наша модель буде працювати коректно. Звичайно, програму можна вдосконалити, наприклад, зробивши висновок результатів не тільки в числовій формі, але і у вигляді графіка. Можна вдосконалювати і модель (якщо виявляться додаткові фактори, що впливають на розвиток бактерій, або вдасться знайти формулу, більш точно описує цей процес).

Модель яку ми тільки що розглянули відноситься до опісательним24. Такі моделі описують - відтворюють згідно з відомими математичними залежностями - дія реальних систем. Але не менш широко використовуються математичні моделі та інших класів. У цьому посібнику ми їх просто коротко перерахуємо.

Оптимізаційні моделі описують деяку систему сукупністю співвідношень, причому ряд параметрів у цих співвідношеннях - у владі людини. Призначення таких моделей - знайти таке поєднання значень цих параметрів, при якому буде отримано найкращий результат з можливих. Найбільш широко вони використовуються в економічних розрахунках.

Перші два класи моделей застосовні у випадках, коли немає сил, які протидіють обраної мети. Реально ж нерідкі ситуації, в яких різні учасники мають неспівпадаючі інтереси. Яскравими прикладами є ігри "вірю-не вірю" або "камінь-ножиці-папір". Розділ математики, що займається моделюванням таких ситуацій називається теорією ігор, а відповідні моделі - ігровими. Однак, це не означає, що це щось несерйозне. Використовувати такі моделі доводиться й у досить серйозних обставин.

Найбільш складним є імітаційне моделювання, що дозволяє дослідити складні системи, прогнозувати майбутнє їх стан в залежності від різних стратегій управління.

Примітки


Завдання запозичена з підручника "Основи інформатики та обчислювальної техніки" А. Г. Гейна, В. Г. Житомирського та ін

Recurrent (англ. від лат.) - Повертається, що повторюється знову

Інша назва - дескриптивні моделі (від англ. Description - опис)


//ua-referat.com
скачати

© Усі права захищені
написати до нас