Файл: Лекции_по_дисциплине.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.04.2024

Просмотров: 399

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Тарова Инна Николаевна

If Sqr(X-0.5)+Sqr(y-0.5)<0.25 Then N:=N+1 End;

Writeln („pi=‟, (N/10000/Sqr(0.5)):8:5);

Repeat Until KeyPressed; End.

Прежде чем воспользоваться этой формулой для вычисления , представим еще один эксперимент.

Допустим, что наш квадрат повешен на стену в качестве мишени. Стрелок, находящийся на некотором расстоянии от мишени, стреляет N раз, целясь в центр квадрата. Конечно, все пули не будут ложиться точно в центр: они пробьют на мишени N случайных точек. Ясно, что по этим результатам вряд ли можно оценить площадь. При очень высокой квалификации стрелка результат опыта будет очень плохим, так как почти все пули будут ложиться вблизи центра и попадут в круг. Нетрудно понять, что данный метод вычисления площади будет справедлив только тогда, когда случайные точки будут не ―просто случайными‖, а еще и ―равномерно разбросанными‖ по всему квадрату. Для этого выберем два случайных числа

x1 a RND(1) и y1 a RND(1) , и будем рассматривать их как координаты случайной точки в нашем квадрате. Затем выберем следующую пару (x2 , y2 ) и т. д. Когда число выбранных таким образом точек станет доста-

точно большим, то они более или менее равномерно покроют квадрат. Для моделирования равномерно распределенных случайных величин в интервале от 0 до 1 в ЭВМ используется датчик случайных чисел функция RND (выдает последовательность случайных величин, равномерно распределенных от 0 до 1).

Таким образом, суть компьютерного эксперимента заключается в обращении к датчику RND для получения координат точки х и у N раз. При этом определяется, попадет ли точка (х, у) в круг единичного радиуса. В случае попадания увеличивается величина Nкр.

Алгоритм решения задачи предлагаю вам составить самостоятельно (значение числа обозначить через рi).

20


Компьютерное моделирование

Программа на языке Basiс будет имеет следующий вид.

Программа

CLS

RЕМ Результаты вычисления числа INPUT “Введите общее число испытаний”, N

Nкр=0

FOR I=1 TO N

X=2 RND (1): Y=2 RND (1)

IF SQR ((X-1) ^2+(Y-1) ^2<=1 THEN Nкр=Nкр+1 NEXT I

Pi=4 Nкр/N PRINT “Pi=”, Pi END

Если выполнить этот эксперимент с разными значениями N, то чем больше число испытаний, тем точнее можно вычислить число . Результаты работы программы приведены в таблице 1.

21

Тарова Инна Николаевна

 

 

 

 

 

Таблица 1

N

10

100

500

1000

5000

 

 

4.4

3.28

3.312

3.232

3.1424

 

Информационная модель это набор величин, содержащий всю необходимую информацию об исследуемых объектах и процессах.

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

Пусть в кинозале 28 рядов по 20 мест, а цена билета зависит только от номера ряда. Закодируем эту информацию (с помощью величин алгоритмического языка).

Пояснения

лог таб продаю [1:20, 1:28] продаю [i, j] продаю место i цел таб цена [1:28] ряда j; цена [i, j] цена билета

i в j-том ряду

Используя эту информационную модель, легко подсчитать общее число n проданных билетов:

n:=0

для j от 1 до 28 для каждого ряда

нц

для i от 1 до 20 для каждого места в ряду

нц

если продано [i, j] если место продано, то n:=n+1 то учесть его

все

кц

кц

или выручку от продажи билетов:

S:=0

для j от 1 до 28 для каждого ряда

нц

для i от 1 до 20 для каждого места в ряду

нц

если продано [i, j] если билет продан, то S:=S+цена [i, j] то учесть его

все

22


Компьютерное моделирование

кц

кц

Описанная модель кинозала весьма условна, она рассчитана только на один сеанс, не учитывает возможности бронирования мест, продажи абонементов и т. д.

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Что называется моделью?

2.Дайте определение понятий: экземпляр, объект.

3.Перечислите виды объектов.

4.Дайте определение связи. Какие виды связей вы знаете? Как графически изображаются связи? Что включает описание связи?

5.Перечислите виды структур.

6.Что называется моделированием? формализацией?

7.Приведите примеры моделей.

8.Расскажите о видах моделирования.

9.Перечислите виды моделей по уровню абстрагирования.

10.Что такое АВМ?

11.Кратко опишите основные этапы численного моделирования (компьютерного эксперимента)

12.Расскажите о моделировании методом Монте-Карло.

13.Дайте определение информационной модели.

23

Тарова Инна Николаевна

24

ЛЕКЦИИ по дисциплине: «Компьютерное моделирование» Физико-математический факультет, 10 семестр, всего 33 часа

ЛЕКЦИЯ 2. ПОНЯТИЕ О МАТЕМАТИЧЕСКОМ КОМПЬЮТЕРНОМ МОДЕЛИРОВАНИИ

2.1. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ И КОМПЬЮТЕРЫ

Математическая модель выражает существенные черты объекта или процесса языком уравнений и других математических средств, Собственно говоря, сама математика обязана своим существованием тому, что она пытается отразить, т. е. промоделировать, на своем специфическом языке закономерности окружающего мира. Огромный толчок развитию математического моделирования дало появление ЭВМ, хотя сам метод зародился одновременно с математикой тысячи лет назад. Математическое моделирование как таковое отнюдь не всегда требует компьютерной поддержки. Каждый специалист, профессионально занимающийся математическим моделированием, делает все возможное для аналитического исследования модели. Аналитические решения (т.е. представленные формулами, выражающими результаты исследования через исходные данные) обычно удобнее и информативнее численных. Возможности аналитических методов решения сложных математических задач, однако, очень ограниченны и, как правило, эти методы гораздо сложнее численных. В данном курсе будем рассматривать численные методы, реализуемые на компьютерах. Это связано с тем, что моделирование рассматривается нами под углом зрения компьютерных (информационных) технологий. Такой подход несколько сужает возможности метода в целом; его достоинство - некоторое снижение барьера необходимой математической подготовки. Наконец, отметим, что понятия «аналитическое решение» и «компьютерное решение» отнюдь не противостоят друг другу, так как

а) все чаще компьютеры при математическом моделировании используются не только для численных расчетов, но и для аналитических преобразований;

б) результат аналитического исследования математической модели часто выражен столь сложной формулой, что при взгляде на нее не складывается восприятия, описываемого ей процесса. Эту формулу (хорошо еще, если просто формулу!) нужно протабулировать, представить графически, проиллюстрировать в динамике, иногда даже озвучить, т.е. проделать то, что называется «визуализацией абстракций». При этом компьютер - незаменимое техническое средство!


Тарова Инна Николаевна

2.2. ЭТАПЫ И ЦЕЛИ КОМПЬЮТЕРНОГО МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ

Рассмотрим процесс компьютерного математического моделирования, включающий численный эксперимент с моделью (рис. 2.1).

Рис. 2.1. Общая схема процесса компьютерного математического моделирования

Первый этап - определение целей моделирования. Основные таковы:

1)модель нужна для того, чтобы понять, как устроен конкретный объект, какова его структура, основные свойства, законы развития и взаимодействия с окружающим миром (понимание);

2)модель нужна для того, чтобы научиться управлять объектом (или процессом) и определить наилучшие способы управления при заданных целях и критериях (управление);

3)модель нужна для того, чтобы прогнозировать прямые и косвенные последствия реализации заданных способов и форм воздействия на объект

(прогнозирование).

26

Компьютерное моделирование

Поясним это на примерах. Пусть объект исследования - взаимодействие потока жидкости или газа с телом, являющимся для этого потока препятствием. Опыт показывает, что сила сопротивления потоку со стороны тела растет с ростом скорости потока, но при некоторой достаточно высокой скорости эта сила скачком уменьшается с тем, чтобы с дальнейшим увеличением скорости снова возрасти. Что же произошло, обусловив уменьшение силы сопротивления? Математическое моделирование позволяет получить четкий ответ: в момент скачкообразного уменьшения сопротивления вихри, образующиеся в потоке жидкости или газа позади обтекаемого тела, начинают отрываться от него и уноситься потоком.

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

Выработка концепции управления объектом - другая возможная цель моделирования. Какой режим полета самолета выбрать для того, чтобы полет был вполне безопасным и экономически наиболее выгодным? Как составить график выполнения сотен видов работ на строительстве большого объекта, чтобы оно закончилось в максимально короткий срок? Множество таких проблем систематически возникает перед экономистами, конструкторами, учеными.

Наконец, прогнозирование последствий тех или иных воздействий на объект может быть как относительно простым делом в несложных физических системах, так и чрезвычайно сложным - на грани выполнимости - в системах биолого-экономических, социальных. Если относительно легко ответить на вопрос об изменении режима распространения тепла в тонком стержне при изменениях в составляющем его сплаве, то несравненно труднее проследить (предсказать) экологические и климатические последствия строительства крупной ГЭС или социальные последствия изменений налогового законодательства. Возможно, и здесь методы математического моделирования будут оказывать в будущем более значительную помощь.

Составим список величин, от которых зависит поведение объекта или ход процесса, а также тех величин, которые желательно получить в результате моделирования. Обозначим первые (входные) величины через Х1, Х2,..., Хn; вторые (выходные) через У12, …, Ук. Символически поведение объек-

27


Тарова Инна Николаевна

та или процесса можно представить в виде Уj = Fj(x1, х2,..., хп) (j=1,2 ,..., К),

(1.1)

где Fj- те действия, которые следует произвести над входными параметрами, чтобы получить результаты. Хотя запись F(х1, х2, ..., хn) напоминает о функции, мы здесь используем ее в более широком смысле. Лишь в простейших ситуациях F(х) есть функция в том смысле, который вкладывается в это понятие в учебниках математики; чтобы это подчеркнуть, лучше использовать по отношению к F(x) термин «оператор».

Входные параметры хj могут быть известны «точно», т.е. поддаваться (по крайней мере, в принципе) измерению однозначно и с любой степенью точности - тогда они являются детерминированными величинами. Так, в классической механике, сколь сложной ни была бы моделируемая система, входные параметры детерминированы - соответственно, детерминирован и однозначно развивается во времени процесс эволюции такой системы. Однако в природе и обществе гораздо чаще встречаются процессы иного рода, когда значения входных параметров известны лишь с определенной степенью вероятности, т.е. эти параметры являются вероятностными (стохастическими), и, соответственно, таким же является процесс эволюции системы (случайный процесс). «Случайный» - не значит «непредсказуемый»; просто характер исследования, задаваемых вопросов резко меняется (они приобретают вид «С какой вероятностью...», «С каким математическим ожиданием...» и т.п.). Примеров случайных процессов не счесть как в науке, так и в обыденной жизни (силы, действующие на летящий самолет в ветреную погоду, переход улицы при большом потоке транспорта и т.д.). Для стохастической модели выходные параметры могут быть как величинами вероятностными, так и однозначно определяемыми. Пример последнего: на перекрестке улиц можно ожидать зеленого сигнала светофора и полминуты, и две минуты (с разной вероятностью), но среднее время ожидания есть величина вполне определенная, и именно она может быть объектом моделирования.

Важнейшим этапом моделирования является разделение входных па-

раметров по степени важности влияния их изменений на выходные. Такой процесс называется ранжированием (разделением по рангам). Чаще всего невозможно (да и не нужно) учитывать все факторы, которые могут повлиять на значения интересующих нас величин yj. От того, насколько умело выделены важнейшие факторы, зависит успех моделирования, быстрота и эффективность достижения цели. Выделить более важные факторы и отсе-

28