§14. Математическое моделирование | Построение компьютерной модели (informatika_09_34_pol)

Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, базовый уровень)


Урок 10
§14. Математическое моделирование




Содержание урока

Постановка задачи

Разработка математической модели

Тестирование модели

Построение компьютерной модели

Эксперимент с моделью

Анализ результатов

Выводы

Вопросы и задания

Практическая работа № 10 «Полёт шарика»

Практическая работа № 11 «Полёт шарика-2»


Построение компьютерной модели


Мы только что получили модель задачи, которая свелась к уравнению:

Это квадратное уравнение можно решить аналитически, получить точный ответ в виде формул. Эти формулы нужно заложить в программу. Приведём программы на алгоритмическом языке и на языке Паскаль, которые находят решение по формулам, известным вам из курса математики:

Изучите программу и ответьте на вопросы.

— Что обозначают переменные а, b, с, D, t1 и t2?
— Какое из двух решений квадратного уравнения нужно выбрать?
— Какой результат возвращает стандартная функция sqrt?
— Может ли случиться так, что уравнение не будет иметь вещественных корней?
— Как изменить начальную высоту шарика и начальную скорость?

В более сложных случаях точное решение найти не удаётся, и приходится строить компьютерную имитационную модель. Для этого можно применить табличный процессор (OpenOffice Calc, Microsoft Excel и т.п.), написать собственную программу на одном из языков программирования или использовать готовую среду для моделирования (например, Simulink или VisSim). К сожалению, такие модели чаще всего дают только приближённое (неточное) решение задачи.

Попробуем написать свою программу для имитационного моделирования. Как вы знаете, компьютер — это дискретное устройство, он работает с дискретными данными. Поэтому нужно выполнить дискретизацию задачи. Мы будем вычислять скорость и высоту шарика только в отдельные моменты времени — это небольшой интервал времени, который называют интервалом дискретизации. Таким образом, рассматриваются только значения времени , где .

Пусть в начале отрезка [ti, ti+1] (при t = tt) мы знаем координату (высоту) шарика y1 и значение его скорости vt. Для простоты будем считать, что в течение времени tt ≤ t < ti+1 скорость не изменяется, а в конце отрезка изменяется скачком. Тогда координату и скорость в конце отрезка (в момент ti+1) можно вычислить по формулам:

Здесь g — это ускорение свободного падения, благодаря которому изменяется скорость.

Запишите значения координаты и скорости в конце первого и второго отрезков времени (в моменты t1 и t2), выразив их через известные величины: .

Так как в каждый конкретный момент нас интересуют только текущие значения координаты и скорости, в программе будем использовать всего одну переменную у для хранения текущей координаты (т. е. координаты в данный момент времени) и одну переменную v для хранения текущей скорости. Получается такая программа:

Изучите программу и ответьте на вопросы.

— Что обозначают переменные y, v и t?
— Какие начальные значения присваиваются переменным y, v, и t? Почему именно такие?
— Когда работа цикла завершится?
— Может ли случиться так, что цикл будет работать бесконечно?
— Что произойдёт, если в условии работы цикла использовать строгое неравенство y > 0?
— Значение какой переменной выводится в качестве результата? Почему?
— Как изменятся при уменьшении интервала дискретизации длина текста программы и количество операций, выполняемых компьютером?

Для тестирования этой программы нужно провести контрольные расчёты для простых случаев с известным результатом, например для тех, которые мы ранее использовали при тестировании математической модели. Если проверка прошла удачно (противоречий не обнаружено), можно переходить к компьютерному эксперименту.

Следующая страница Эксперимент с моделью



Cкачать материалы урока








Наверх