Инфоурок Внеурочная деятельность КонспектыУрок-конспект "Моделирование в информатике"

Урок-конспект "Моделирование в информатике"

Скачать материал

Примеры лекций и практик

 

 

 

 

Курс “Компьютерное моделирование”

доц.Богданова М.В.

 

 

Уважаемые студенты!

Вашему вниманию предлагается  курс лекций и

содержание практических занятий, после изучения

которых  Вам будет необходимо сдать зачет,  содер                                                 жащий   1 теоретический вопрос  из лекций и 1  задача

из практического курса.

            Удачи Вам  в изучении данного предмета!

 

                   

 

 

 

 

 

 

Понятие модели, виды моделей

Модель – схематическое представление того или иного предмета, с помощью выбранных средств моделирования.

Модель отражает основную структуру предмета и его свойства, существует большое количество классификаций моделей.

Модель – абстрактный образ объекта или явления и отношений между отдельными частями объекта или явления.

Любая модель это некоторая абстракция, звено в цепочке познания от опыта к абстракции, к осмыслению. Когда осмыслили снова опыту, к практике.

Процесс создания модели называется моделированием.

Существует несколько распространенных видов классификаций моделей определяющихся следующими принципами:

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

2)    с учетом моделью временного фактора (статические и динамические модели);

3)    отрасль знаний (экономика, история, биология и др.);

4)    способ представления модели (материальные и абстрактные модели).

Учебные модели используются в процессе обучения – это обучающие программы, различные тренажеры, наглядные пособия.

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

Научно-технические модели созданы для исследования процессов. К таким моделям можно отнести стенд для проверки работы схем, транзисторов и т. д..

Игровые модели – деловые, спортивные, экономические, военные и т. п. игры.

С помощью этих моделей можно разрешать конфликтные ситуации, оказывать психологическую помощь.

Имитационная модель –не просто отражает реальность с той или иной степенью точности, а имитирует ее.

Статическая модель – это единовременный срез информации по данному объекту.

Динамическая модель представляет собой картину изменения объекта во времени.

Материальные модели всегда имеют реальное воплощение и могут отражать:

1)    внешние свойства исходных объектов;

2)    внутренние устройства исходных объектов;

3)    суть процессов и явлений происходящих с объектами оригинала. (Примеры: скелет, чучело, робот).

Абстрактная модель не имеет естественного воплощения, основу этой модели составляет информация, она делится на мысленную и вербальную.

Мысленная модель возникает в процессе любой созидательной деятельности человека.

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

Информационные модели делятся на образно-знаковые и знаковые модели.

Фотографии, географические карты, диаграммы – это образно-знаковые модели, они учитывают цвет и форму. Их можно разделить на:

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

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

3)    словесные модели зафиксированные средствами языка;

4)    алгоритмическая модель(нумерованный список, блок-схема).

Знаковые модели делятся на:

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

2)    специальные модели представленные на специальных языках (химические формулы, ноты и др.);

3)    алгоритмические модели представлены в виде программы записанной на специальном языке программирования.

Имитационное моделирование – это процесс конструирования на ЭВМ сложной реальной системы функционирующей во времени и подстановки экспериментов на этой модели с целью либо понять поведение системы, либо оценить различные стратегии обеспечив функционирование данной системы.

 

 Модель детерминированная

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

Пример: Рассматривается физическая модель свободного падения тела.

Данная модель является детерминированной.

Если бы учли случайный параметр, например порыв ветра с силой p при падении тела, то S считалось бы по другой формуле: S = (g(p) · t2)/2 и модель называлась бы стохастической.

 

Модель теоретико-множественная

Если она представима с помощью некоторых множеств и отношений принадлежности им и между ними.

Пример: Пусть задано множество X = Николай, Петр, Николаев, Петров, Елена, Екатерина, Михаил, Татьяна. Заданы отношения: Николай – супруг Елены, Екатерина – супруга Петра, Татьяна – дочь Николая и Елены, Михаил – сын Петра и Екатерины. Семья Николая и Петра дружат друг с другом. Множество X и множество перечисленных отношений Y  могут служить теоретико-множественной моделью двух дружеских семей.

Изобразить с помощью графов:

 

Модель логическая

Если она представима предикатами или логическими функциями.

Пример: Совокупность двух логических функций

может служить математической моделью  одноразрядного сумматора.

 

Модель игровая

Если она описывает, реализует некоторую  игровую ситуацию.

 

Модель алгоритмическая

Если она описана некоторым алгоритмом или комплексом алгоритмов, определяющим её функции.

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

 

Модель языковая (лингвистическая)

Если она представлена некоторым лингвистическим объектом, формализованной языковой системой или структурой.

Пример: Правило дорожного движения.

Языковая структурная модель движения транспорта и пешеходов.

 

Модель визуальная

Если она позволяет визуализировать отношения и связи моделируемой системы.

 

Модель натурная

Если она материальная копия объекта моделирования.

Пример: Глобус.

 

Модель геометрическая

Если она представима геометрическими образами и объектами.

Пример: Прямая линия является моделью числовой оси.

Параллелограмм является моделью плоскости, либо моделью квадрата.

 

 Модель клеточно-автоматная

Если она представляет систему с помощью клеточного автомата.

Пример:    Классическая   клеточно-автоматная модель: игра «жизнь» Дж. Конвея.

 

Модель фронтальная

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

Пример: Множество Кантора.

Возьмем отрезок [0; 1] и разобьем его на три части.

Выбросим из донного отрезка средний отрезок и каждый из оставшихся отрезков опять разобьем на три части.

Из каждого отрезка выбросим средние части и каждый из оставшихся отрезков опять разобьем на три части.

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

В пределе получаем несчетное множество изолируемых точек.

Фронтальная модель применяется обычно тогда, когда реальный объект нельзя представить в виде классической модели. Когда имеем дело с нелинейностью (много вариантностью) путей развития, необходимостью выбора и недетерминированностью (хаотичностью и необратимостью) процесса.

Пример: Математические модели динамики эпидемии инфекционной болезни, радиоактивного распада, усвоение второго иностранного языка и др..

 

Основные свойства любой модели

1º. Конечность. Модель отражает оригинал лишь в конечном числе его отношений.

2º. Упрощенность. Модель отражает только существенные стороны объекта, и кроме того модель должна быть проста для исследования или воспроизведения.

3º. Приблизительность. Действительность отображается моделью грубо или приблизительно.

4º. Адекватность. Модель должна успешно описывать моделируемую систему.

5º. Наглядность, обозримость основных свойств и отношений.

6º. Доступность и технологичность для исследования и воспроизведения.

7º. Информативность. Модель должна содержать достаточную информацию о системе и давать возможность получить новую информацию.

8º. Сохранение информации содержащейся в оригинале.

9º. Полнота. В модели должны быть учтены все основные связи и отношения необходимые для обеспечения цели моделирования.

10º. Устойчивость. Модель должна описывать и обеспечивать устойчивость поведения системы, даже если она в начале является не устойчивой.

11º. Замкнутость. Модель учитывает и отображает замкнутую систему необходимых основных гипотез, связей и отношений.

 

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

Компьютерное моделирование – основа представления знаний в ЭВМ.

Компьютерное моделирование для рождения новой информации использует любую информацию, которую можно актуализировать с помощью ЭВМ.

Процесс моделирования связан с разработкой систем компьютерного моделирования.

Разновидностью компьютерного моделирования является вычислительный эксперимент, т. е. эксперимент осуществляемый с помощью компьютерной среды или технологии.

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

Вычислительный эксперимент позволяет находить новые закономерности, проверять гипотезы, визуализировать ход событий.

Пример: Модель повторяющейся эпидемии.

 

Моделирование физической и биологической задачи

Задача 1. Задача о пушке из которой надо попасть в крепость (физическая задача).

Горизонтальное x и вертикальное y – смешение снаряда за время t описывается формулами:

x = (Ư cosα) · t

y = (Ư sinα) · t – (g t2 / 2)

где, g – ускорение свободного падения, t – время, α – угол наклона пушки.

Изменим математическую модель, выразим из первой формулы время t и подставим ее во вторую формулу: h = S tgα – (g S2 / 2 Ư2 cos2α)

Требуется найти такое значение угла α, чтобы снаряд пролетев заданное расстояние S попал на нужную высоту h.

Объяснение: Задача сводится к решению уравнения методом половинного деления, где α берется от 0 до π/4.

Метод половинного деления имеет аналог в артиллерийском приеме (пристрел) – одно положение выше цели другое ниже цели.

 

Задача 2. Задача о лисах и кроликах (биологическая задача).

 На некотором острове живут лисы и кролики. Кролики питаются травой, а лисы охотятся на кроликов. Экологи пересчитывая кроликов и лис установили:

1)    коэффициент прироста числа кроликов зависит от колебания погоды (холодная или теплая зима и т. д.) и колеблется в пределах от 3,2 до 4,7;

2)    коэффициент прироста числа лис при избытки крольчатины колеблется от 5,2 до 5,7. При недостатки он пропорционален приросту кроликов.

Коэффициент пропорциональности ≈ 1/C, где C – масса крольчатины в среднем съедаемая одной лисой за год (примем за 50).

Требуется установить как меняется численность кроликов и лис с течением времени

Построение модели:

M(n) – масса кроликов через n лет.

L(n) – масса лис через n лет.

Взаимодействие лис и кроликов:

В этой динамической системе усматривается три контура обратной связи. Опишем их расчетными формулами.

Кролики: прирост иде6т в соответствии с моделью неограниченного роста. Их поедают лисы, поэтому изменение кроликов можно записать так:

M(n+1) – M(n) = k · M(n) – C · L(n)

M(n+1) = (1+k) · M(n) – C · L(n)

Лисы: если кроликов очень много, то численность кроликов растет по модели ограниченного роста, а численность лис тоже растет по модели неограниченного роста. Если крольчатины мало, то прирост определяется величиной,  показывающей сколько новых лис может прокормиться за счет прироста кроликов.

Для лис можно вывести формулу:

L(n+1) – L(n) = min (a, ) · L(n)

L(n+1) = (1 + min (a, )) · L(n)

где a- коэффициент неограниченного роста кроликов.

Заполнить электронную таблицу следующими данными:

a = 0.1

k = 4

C = 50

M(0) = 10000

L(0) = 100

Узнать, сколько кроликов и лис будет через 5 лет, 10 лет. Построить графики L(n) и M(n) как функция от n.

 

Основные этапы математического и инфологического моделирования

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

    1.1. Формулировка.

    1.2. Определение цели моделирования и их приоритетов.

    1.3. Сбор информации о системе, объекте моделирования.

    1.4. Описание данных (их структуры, диапазон источника и т. д.).

2. Предмодельный анализ.

    2.1. Анализ существующих аналогов и подсистем.

    2.2. Анализ технических средств моделирования (ЭВМ и др.).

    2.3. Анализ программного обеспечения (языки программирования, инструментальные среды, пакеты программ)

   2.4.  Анализ математического обеспечения (модели, методы, алгоритмы).

3. Анализ задачи (модели).

   3.1.  Разработка структур данных.

   3.2. Разработка  входных и выходных спецификаций, форм и представлений данных.

   3.3. Проектирование структуры и состава модели (подмодели).

4. Исследование модели.

   4.1. Выбор методов исследования подмодели.

   4.2. Выбор, адаптация или разработка алгоритма.

   4.3. Сборка модели в целом из подмоделей.

   4.4. Идентификация модели если в этом есть необходимость.

   4.5. Формулировка используемых критериев адекватности моделируемой системы устойчивости и чувствительности.

5. Программирование (проектирование программы).

   5.1. Выбор метода тестирования и теста (контрольные примеры).

   5.2. Кодирование на языке программирования.

   5.3 Комментирование программы.

6. Тестирование и отладка.    

   6.1. Синтаксическая отладка.

   6.2. Семантическая отладка (отладка логической структуры).

   6.3 Тестовые расчёты, анализ результатов тестирования.

   6.4. Оптимизация программы.

7. Оценка моделирования.

   7.1. Оценка средств моделирования.

   7.2. Оценка адекватности моделируемой системы.

   7.3. Оценка чувствительности модели.

   7.4. оценка устойчивости модели.

8. Документирование.

   8.1. Описание задач и цели.

   8.2. Описание метода, алгоритма.

   8.3 Описание среды реализации.

   8.4. Описание возможностей и ограничений.

   8.5. Описаний входных и выходных форматов, спецификаций.

   8.6. Описание тестирования.   

   8.7.Описание инструкции пользователя.

9. Сопровождение.

   9.1. Анализ использования, периодичность использования возможность количества пользователей, анализ отказов.

   9.2. Обслуживание модели алгоритма программы и их эксплуатация.

   9.3.  Расширение возможностей: включение новых функций или изменение режимов моделирования.

   9.4. Нахождение , исправление скрытых ошибок в программе, если они найдутся.

10. Использование модели.

 

Модели повышенной сложности.

1.     Стохастические модели.

При изучении экономических явлений часто используют модели вероятностного типа. Они отличаются от детерминических моделей. Детерминические модели не использую случайных явлений и их связи во времени.

Стохастические модели используют  взаимозависимость случайных явлений во времени. Стохастические  модели существуют со времени возникновения теории вероятностей. Примерами таких моделей можно считать схему бросания кости или выбор карты.

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

Задание: подготовить проект одной стохастической модели, которая включает в себя случайное отклонение.

В экономике стохастические модели имеют наибольшее применение, т.к. экономические отклонения на рынке распространены и они имеют случайный характер.

Кроме экономики случайные процессы моделируются в психологии и педагогике, биологии. Для модели соответствующей данному предмету приходится генерировать случайное число, либо в языках программирования, либо в прикладных сферах. Но генерация случайных чисел, это не создание модели полностью.

При вычислении площади криволинейной трапеции  используется формула учитывающая случайности (метод Монте-Карло)

Рассмотрим пример экономической задачи, в которой присутствует случайное отклонение.

Если рассмотреть экономическую модель, то она моделирует поведение групп станков поточной линии. Перед каждым станком имеется страховой задел (Si). Этот задел содержит детали необходимые для обеспечения станка необходимыми деталями. При недостатке страхового задела станки будут простаивать и это приведёт к снижению производительности линии. Задача сводится к нахождению страхового задела, который  минимизирует издержки производства. Пусть линия состоит из m станков, zi – число полуфабрикатов поступающих на  i станок после i-1 операции.

 

 

 

 

 


Будем предполагать, что поломки любого станка распределяются равномерно в течении главного периода работы (Т) линии . Исправление неисправности станка занимает небольшое время по сравнению с Т работой линии. Задача: найти оптимальный страховой задел s1,s2,s3,…,sm.

В такой постановке задача может быть решена методом динамического программирования, который основан на двух принципах:

 1. Пошаговое конструктивное решение

2. Оптимальность

Этапность решения задачи следующая: конструируется целевая функция на первом шаге для последнего станка, находится оптимальный страховой задел Sm. На втором шаге записывается целевая функция для двух последних станков и находится Sm-1 и …Sm.  И так далее пока не найдём  S1.

Обозначим через  ti – время работы i-го станка за период Т. Для задания этой величины надо задать закон распределения  ti.

Fi(t) - плотность распределения ti.

Pi – штраф i-го станка в единицу  времени.

Hi – стоимость детали после i-1 операции.

λi – производительность i-го станка в единицу времени.

τi – простой i-го станка.

Выводим  τi следующим образом:

τi =

τi – случайная величина.

По формуле из теории вероятностей определяется математическое ожидание затрат для i-го станка из-за его простоев:

 

 -  математическое ожидание затрат для i –го станка.

Обозначим через ri число неиспользованных деталей после окончания работы линии.

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

L1i= - математическое ожидание неиспользуемых деталей для i-го станка.

Составим уравнение характеризующее работу для поточной линии.

1.     Qm=Lm+L1m – математическое ожидание затрат от простоев неиспользованных деталей. Находим min значение Qm с помощью оптимизации полученной функции.

2.     Находим Qm-1=Lm-1+L1m-1 затраты для m-1 станка. Находится min оптимизационной функции

3.    

m. Q1=L1+L11

Таким образом задача сводится к системе уравнений в которых находится min целевых функций для любого станка.

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

 

Пример использования системы дифференциальных уравнений в биологии.

Примером использования системы дифференциальных уравнений в биологии является модель биоценоза с учётом введённых допущений.

N1 число жертв.

N2 число хищников.

α1 – коэффициент естественного прироста жертв.

α2 – коэффициент естественной убыли хищников.

β1 – коэффициент уничтожения хищниками своих жертв.

β2 – коэффициент защиты жертв от хищников.

Уравнение приводится к нормированному виду – это освобождение от всяких масштабных единиц, тогда система имеет вид:

где   относительное число жертв.

         относительное число хищников.

τ- нормированное время.

B=- коэффициент.

Данная система решается в среде MathCad, здесь же строятся графики зависимости х от τ и у от τ.

 

Нечеткая логика. Понятие о нечетких множествах.

На основе теории о нечетких логиках в настоящее время создаются новые модели в таких областях как педагогика и психология, банковское дело и экономика.

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

Математический аппарат нечеткой логики был раз0работан в США. Активное развитие данного метода началось в Японии. Появился новый термин: fuzzy – “нечеткий”, “размытый”.

Нечеткая логика является многозначной логикой и этро позволяет определить промежуточные значения для таких общепринятых оценок как “да” / ”нет”, “истинно” / ”ложно”, “черное” / ”белое”. Выражения подобные таким как “слегка тепло”, “довольно холодно” возможно формулировать математически и обрабатывать на компьютерах.

 Нечеткая логика появилась в 1965 году в работах Лотфи Задэ (профессор технических наук Калифорнийского университета). Задэ расширил классическое понятие множеств. Понятие “множество” давалось следующим образом: - Это набор элементов объединенных по какому то правилу. Правило называлось характеристическим свойством и если элемент удовлетворяет этому свойству, то он не принадлежит множеству. Т. е. допускается, что характеристическая функция может принимать значение 0, 1. Заде допустил, что характеристическая функция принимает значения [0; 1]. Такие множества были названы им нечеткими.

Заде определил ряд операций над нечеткими множествами и предложил обобщение известных множеств логического вывода. Было введено понятие лингвистической переменной и допущено, что в качестве ее значений (термов) выступают нечеткие множества.

Заде создал аппарат для описания процессов интеллектуальной деятельности, включая нечеткость и неопределенность выражений.

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

Самым главным понятием систем основанных на нечеткой логике является понятие нечеткого множества. Четкие множества являются подмножествами нечетких.

Пример: Рассмотрим множество молодых людей. B = {молодежь}, возраст начинается с 0. верхний предел определить на много сложней. Рассмотрим верхний предел 20. т.е. B=[0..20]. Возникает вопрос: почему на следующий день после 20-летия кто-то не является молодёжью? Очевидно это структурная проблема.

Мысль должна быть формализована, если рассуждения четкие (молодой, немолодой) то используются 0 и 1. Реально можно допустить бесконечное число значений между 0 и1 (I=[0..1]).

Для наглядности приведём характеристическую функцию  множества молодых людей.

25 летние люди молоды со степенью 50%.

 

 

 

 

 

 

 

Более строгое представление о нечётких множествах (НМ)

Пусть Е - универсальное или несущее множество, х – элемент Е, R - некоторое свойство, тогда нечёткое подмножество А несущего множества Е, элементы которого удовлетворяют свойству R, определяется как множество упорядоченных пар.

А={μA(x)/x}, где μA(x) – характеристическая функция принимающая значение 1 в том случае, если х полностью удовлетворяет свойству R и значениям от 0 до 1, если х не полностью удовлетворяет свойству R и 0, если х вообще не удовлетворяет свойству R.

Множество М   называется множеством принадлежности, если М=[0..1], то А нечёткое множество, если М={0,1}, то А чёткое множество. Функция принадлежности указывает степень (или уровень) принадлежности элемента множеству А.

Пример записи НМ.

Если Е состоит  Е={x1,x2,x3,x4,x5}М=[0,1], A – нечёткое множество для которого μA(x1)=0,3 , μA(x2)=0 , μA(x3)=1 , μA(x4)=0,6 , μA(x1)=0,9. тогда множество А можно представить в виде:

А={0,3/x1; 0/x2; 1/x3; 0,6/x4; 0,9/x5;}

Рассмотрим пример, когда универсальным множеством Е является множество машин.

Е={запорожец; жигули; мерседес; БМВ; феррари}

На основе универсального множества создаётся НМ А.

А=”машина для бедных” . Т.о. функция принадлежности для данного множества может выглядеть следующим образом:

Точно также можно построить на основе этого множества  НМ «престижные», «среднего класса», «скоростные» и т.д.

В рассмотренных примерах использованы прямые методы, когда эксперт либо просто задаёт для каждого х€Е значение μA(x), либо определяет функции совместимости. При прямых методах используются также  групповые прямые методы:

Например: Группе экспертов предъявляют конкретное лицо и каждый должен дать один из двух ответов – «человек лысый» или «не лысый». Тогда количество утвердительных ответов делённое на общее число экспертов даёт значение  μлысый данного лица.

С НМ можно выполнять те же действия, что и с числовыми множествами но они достаточно сложнее выполняются.

Например: построить характеристическую функцию для множества А- множество детей в 11а классе способных к математике. В- множество детей в 11а классе способных к музыке. Изобразить сначала отдельно две характеристические функции для множества А (5 детей), В (4), затем построить пересечение этих двух множеств.

μ(х)

 

 

 

 

 

 

 


Пусть А и В НМ на универсальном множестве Е, говорят, что  А содержится в В, если для любого х из Е μА(x)≤ μB(x) и обозначают АB.

Пример: А-множество чисел очень близких к 10, В-множество чисел близких к 10, тогда можно сказать, что АB.

Пересечением  НМ А и В называется наибольшее нечёткое подмножество содержащееся одновременно в А и в В.

μАB(x)=minА(x), μB(x))

Объединением НМ А и В называется НМ обозначаемое  А В, функция принадлежности которого определяется следующим образом:

 μAB(x)=maxА(x), μB(x)).

 

Моделирование в среде MathCAD, Maple

Для того, чтобы решить простейшее уравнение в среде MathCAD задаётся уравнение F(x)=0,затем выписываются отдельно коэффициенты этого уравнения.

тогда задаём x(1,-5.6) промежуток где лежит корень уравнения а затем вызывается функция А:=polyroots(x).

Для того, чтобы решить уравнение в среде Maple используют следующие функции:

Solve(f(x),x);

F(x) это уравнение, х – переменная,

или fsolse(f(x),x,p);

p-параметр, p=[-1,1], после каждой скобки знак ;

Замечание. Если необходимо решить уравнение в символьном виде, то для него используется функция solve(eq,var);

Eq- уравнение, var –переменная.

Для того чтобы, изобразить график в среде MathCAD, надо сначала указать диапазон изменения аргумента т.е. показать как меняется х и у.

x:=-5,-4.5..5

y:=-10,-9.5..10 нажав клавиши . . - :

Затем вызывается из меню график и задаётся на графике х и f(x).

Для задания поверхности надо указать диапазоны, указать формулу, затем в меню «графики» вызываем «поверхность».

Все графики необходимо располагать строго после описания диапазонов и функций.

Maple позволяет решать уравнения и изображать графики функций.

Для построения графика указывается значение переменной (имя)

P:=plot(<функция 1>,<функция 2>,<диапазон для аргумента>): p;

Пример:

P;=plot(x3,x-1,x:=-2..2):p; - это пример решения уравнения x3-x-1.

Для моделирования  в среде Maple можно использовать построение графиков а также построение поверхностей.

 

 

 

Моделирование в среде MathCAD задачи «Хищники и жертвы».

В 1925 г. В Италии образовался союз двух учённых: математика Вито Вольтер и зоолог Д’Анконо. Рассматривалась задача о явлении, связанном с периодическим в несколько лет возрастанием и убыванием улова промысловых рыб. Статистика привела к следующему выводу: в период 1ой мировой войны интенсивность рыбной ловли в средиземном море резко снизилась, что привело к возрастанию числа хищных рыб, питающихся промысловыми  рыбами. В результате численность промысловых рыб резко упала, что в свою очередь привело к гибели части хищных рыб, потому что их пища стала исчезать.

Обсуждая данное явление они пришли к выводу, что помимо внешних факторов (смена времён года, климата) существует причины особого характера, влияющие на популяции животных.

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

1.пища (жертва) неограниченна средой обитания.

2.хищники питаются только жертвами.

3. прирост жертв пропорционален их численности.

4.убыль жертв пропорциональна произведению числа жертв и хищников.

5.прирост хищников пропорционален произведению числа хищников и жертв.

6.убыль хищников пропорциональны их числу.

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

   (1)

N1-жертвы (их число).

t-время

N2-число хищников.

 (2)

 - коэффициент естественного прироста жертв.

 - коэффициент естественного прироста хищников.

-коэффициент уничтожения хищниками жертв.

-коэффициент защиты жертв от хищников.

Приведём уравнения 1 и 2 к нормированному виду:

где   относительное число жертв.

         относительное число хищников.

τ- нормированное время.

B=- коэффициент.

Составим по данной математической модели программу на языке MathCAD (см практику).

 

 

 

Статистические вычисления в среде MathCAD

Данные вычисления проводятся по следующим направлениям:

1.расчёт статистических параметров массива случайной последовательности чисел: среднее значение дисперсии, коэффициент корреляции и т.д.

2. расчёт различных  законов плотности с теории вероятности (нормальная, равномерная, биномиальная и т.д.)

3.пасчёт функции распределения вероятности Лапласа, Пуассона, Стьюдента и т.д.

4.генерирование случайной последовательности чисел с равномерными законами распределения вероятности.

Категория «случайные числа» находится в подменю «встроенные функции f(x)».

Краткое описание некоторых функций MathCAD.

rnorm(M,μ,σ) – генерирует случайную последовательность чисел, подчиняющихся нормальному  закону распределения.

Runf(M,a,b) - генерирует случайную последовательность чисел имеющих равномерное распределение внутри интервала (a,b)

Rnd(x) - генерирует случайную последовательность чисел имеющих равномерное распределение внутри интервала (0,x).

Категория «статистика» в подменю помогает вычислять среднее значения массива чисел путём обращения к функциям mean (M1,M2…) где M1,M2 – матрицы в которые собраны массивы обрабатываемых чисел.

Чтобы найти дисперсию массива чисел необходимо обратиться к функции var (M1,M2,…) 

Коэффициент корреляции двух массивов M1,M2 вычисляется с помощью функции corr(M1,M2).

При нормальном законе распределения вероятности функцию распределения вероятности считают как определённый интеграл от плотности вероятности. Этот интеграл вычисляется с помощью функции pnorm(x,μ,σ).

Графы.

Рассмотрим основное средство создания информационных моделей. К ним можно отнести словесное описание объекта (художественное вещества, статья о нём в словаре). Самым распространённым методом в создании информационной модели является метод описания.. Другим распространённым методом построения и визуализации информационных моделей является графы.

Граф-это отражение некоторого отношения установленного между фиксированными множествами. Из двух множеств в составляющих графа -одно это множество элементов (вершины) а другое множество связей между ними (линии произвольной конфигурации). Граф состоит из множества вершин x и связей между ними U, обозначается G(x,U).

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

 

Если порядок соединения не важен, а важно то как они соединены, то такое соединение называют ребром графа А-В. Если важен порядок соединения вершин то такое соединение называют дугой графа и обозначают →.

Граф у которого вершины соединены дугами называют ориентированным. Граф у которого вершины соединены рёбрами называют неориентированным. Граф, вершины которого соединены и дугами и рёбрами называют смешанным.

Две вершины графа называют смежными, если они определяют дугу или ребро. Если вершина являются началом или концом дуги, то говорят, что вершина инцидентна дуге или ребру. Вершины не инцидентные никакому ребру или дуге называют изолированными.

Вершина инцидентная только одному ребру или дуге называется висячей.

Ребро или дуга, граничными вершинами которой является одна и та же вершина называется петлёй.

Виды графов.

Граф без петель и кратных рёбер (дуг) называется обыкновенным (простым, скелетным, графом Берже).

Граф без петель, но с кратными рёбрами (дугами называют мультиграфом).

Граф, соединённый только изолированными вершинами называется пустым или ноль графом.

Обыкновенный граф, в котором любые две вершины соединены ребром называются сльносвязанным или полным графом.

Части графов.

Подграфом С графа G называют граф, образованный из графа G опусканием некоторых вершин и инцидентных им рёбер. Исходный  граф по отношению к подграфу является надграфом.

2. подграф графа 1

 

1. надграф графа 2

 

 

                    1)                                       2)

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

Данный граф является субграфом графа 1, а исходный граф 1 является сверхграфом.

 

 

 

 

           3)

Маршруты

Маршрут определяется как некоторая последовательность ребер, в котором граничные вершины двух соседних ребер совпадают, например, последовательность ребер 1, 4, 8, 6 – маршрут.

Маршрут, все ребра которого разложены, называется цепью, например, 5, 6, 4, 2.

Замкнутая цепь – это цепь возвращающаяся в ту же вершину, из которой начиналась и она называется циклом, например, 5, 7, 3.

Граф, любая пара вершин которого может быть соединена маршрутом, называется связным, например, 1-3 – связные.

Несвязный граф представляет собой совокупность отдельных частей (подграфов) называемых компонентами связности, например:

                 4)                                              5)

Связный граф не создающий циклов, называется деревом, например:

Дерево имеет n вершин, соединенных n-1 ребром.

Несвязный граф, компоненты которого являются деревьями, называется лесом, например:

 

Способы задания графа

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

Матрица связности имеет вид квадратной таблицы, в которой представлены отношения между вершинами, где элемент матрицы – это количество связей (ребер или дуг) для других двух вершин. Если вершины смежные, то ячейка таблицы примет значение 1, если вершины соединены краевыми ребрами, то ячейка таблицы примет значение 2. Так для графа, представленного на рис.1 матрица связности будет иметь вид таблицы.

 

A

B

C

D

E

A

0

1

1

0

1

B

1

0

0

1

1

C

1

0

0

1

1

D

0

1

1

0

1

E

1

1

1

1

0

Из таблицы видно, что наибольшая лок. степень у вершины E: P(E)=4,  у всех остальных вершин лок. степень равна 3.

Для того чтобы включенную в структуру модель представить в виде графа не структурную (количественную или текстовую) информацию довольно часто любому ребру (или любой вершине) рассматриваемого графа приписывают некоторый вес.

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

Пример: Составить взвешенный граф предложения: “С этого времени Цезарь один управлял всем в государстве по своей воле”.

В этом графе вершинами будут члены предложения, дуги синтетической связи между ними, причем вес приписан и вершинам и дугам, чтобы указать направление дуги в матрице используется знак “+” и “-“ (“+” - главное слово, “-“ -зависимое) связи, которую нужно отразить.

у – управление

с – согласные

к – координация

 

 

 

 

 

 

 

 

 

 

 

ПРАКТИЧЕСКАЯ ЧАСТЬ.

Моделирование физической и биологической задачи.

 

Задача о пушке, которой надо попасть в крепость.

 

Известна высота башни h и расстояние S до неё. Найти угол , при котором  снаряд из пушки попадёт в башню на высоте h.

Решение.

(см в лекциях)

Горизонтальное и вертикальное смещение снаряда  за время t описывается формулами:

где  - ускорение свободного падения = 9.8 и - начальная скорость вылета снаряда.

Выразим t из первой формулы и подставим во вторую:

Задача сводится к решению  методом половинного деления где  . Метод половинного деления или аналог в артиллерийском приёме (пристреле) – одно положение выше цели, второй выстрел ниже цели.

Алгоритм метода половинного деления смотри в численных методах.

Текст программы на Pascal:

 

program n1;

uses crt;

 var v,h,s:integer;

     a1,a2,a,h1,h2,hh:real;

begin

 clrscr;               

writeln('Введите начальную скорость'); 

 readln (v);                                             { Ввод с клавиатуры скорости  }

 writeln('Введите расстояние до цели');

 readln(s);                                              { Ввод с клавиатуры расстояния }

 writeln('Введите высоту цели');       

readln(h);                                                { Ввод с клавиатуры высоты  }

 a1:=0;                             {начальный угол}

 a2:=89;                            {конечный угол}

 a:=(a1+a2)/2;                    {искомый угол т.е  промежуточный угол}

 hh:=s*(sin(pi/180*a)/cos(pi/180*a))-(9.8*s*s)/(2*v*v*cos(pi/180*a)*cos(pi/180*a));

                                                                                               {высота полёта при искомом угле}

 while abs(hh-h)>0.01 do

 {пока разность между искомым и полученным углом  больше 0.001 то выполнять цикл}

 begin

  if hh>h then a2:=a  ;

{если полученная высота больше искомой, то а2 = промежуточному углу}

  if hh<h then a1:=a;

{если полученная высота меньше искомой, то а1 = промежуточному углу}

   a:=(a1+a2)/2;                (искомый т.е. промежуточный угол =  середине между а1 и а2)

  hh:=s*(sin(pi/180*a)/cos(pi/180*a))-(9.8*s*s)/(2*v*v*cos(pi/180*a)*cos(pi/180*a));

{расчёт новой высоты при новом промежуточном угле}

 end;

 write('Угол =',a);  {вывод полученного угла}

 readkey;

 end.

Например, угол, при котором пушка попадёт на высоту 5, на расстоянии 10 при начальной скорости 20 равен 34 градуса.

Задания:

Найти необходимый угол выстрела, при скорости вылета снаряда 20, на расстояние 5, чтобы снаряд попал в цель на высоте 5.

Найти необходимый угол выстрела, при скорости вылета снаряда 15, на расстояние 5, чтобы снаряд попал в цель на высоте 5.

Найти необходимый угол выстрела, при скорости вылета снаряда 20, на расстояние 10, чтобы снаряд попал в цель на высоте 15.

Сделайте вывод о зависимости между необходимым углом и скоростью вылета снаряда;

Сделайте вывод о зависимости между необходимым углом и расстоянием до цели;

Сделайте вывод о зависимости между необходимым углом и высотой цели;

Сделайте вывод о зависимости между всеми параметрами модели.

 

 

 

Задача о кроликах и лисах.

На некотором острове живут лисы и кролики. Кролики питаются травой, а лисы кроликами. Экологи пересчитывают кроликов и лис и сделали вывод:

1.     Коэффициент прироста числа кроликов зависит от колебания погоды (холодная или тёплая) и колеблется от 3.2 до 4.7

2.     Коэффициент прироста числа лис при избытке крольчатины колеблется от 5.2 до 5.7. При недостатке прирост пропорционален приросту кроликов.

3.     Коэффициент пропорциональности =50

Требуется установить, как меняется численность кроликов, и лис с течением времени.

 

 

 

Построение модели и схему взаимодействия лис и кроликов смотри  в лекциях.

Текст задачи на Pascal:

 

program n2;

uses crt;

var i,n:integer;

  m,m1,l1,l,

    k,a:real;

begin

clrscr;

write('vvedite kolichestvo let');

readln(n);

write('vvedite nachalnoe kolichestvo krolikov');

readln(m);

write('vvedite nachalnoe kolichestvo lis');

readln(l);

write('vvedite koefficient prirista krolikov');

readln(k);

write('vvedite koefficient prirista lis');

readln(a);

for i:=1 to n do

begin

m1:=(1+k)*m-50*l;

if a<(m1-m)/50 then  l1:=(1+a)*l else l1:=(1+(m1-m)/50)*l;

l:=l1;

m:=m1;

end;

writeln('kolichestvo lis = ',l);

writeln('kolichestvo krol = ',m);

readkey;

end.

 

 

Решение в Excel:

 

На рисунке видно, что в ячейки B1-B4 вводим исходные данные. В ячейку E8 вводим формулу =(1+МИН($B$3;(F8-F7)/50))*E7 затем растягиваем ячейки вниз на необходимое количество лет (в данном примере 21 год; от 0 до 20). В ячейку =(1+$B$4)*F7-E7*50 и аналогично растягиваем. В результате в ячейках E7-E27 получим количество лис в соответствующих справа годах. В F7-F27 – количество кроликов. Например, видно, что при начальном количестве кроликов = 10000, при количестве лис = 100, и коэффициентах роста для кроликов = 4 и лис =0,1 количество кроликов через 10 лет будет 85136221274 а лис 259.

 

Задания:

Исследуйте по модели количество кроликов и лис при начальном количестве 1000 кроликов. Что произошло?  В чём погрешность модели?

 Исследуйте по модели количество кроликов и лис при начальном количестве 10000 кроликов и различных коэффициентах роста кроликов и лис. Сделайте выводы.

Сделайте выводы о взаимосвязи между различными параметрами.

 

Моделирование в среде MathCAD задачи «Хищники и жертвы».

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

Выбираем стандартную функцию ORIGIN

ORIGIN:=1

B:=4                         {из данных}

                   {столбец неизвестных}

F(t,y):=

ORIGIN:=0

z:=Rkadapt(y,0,50,1001,F)

t:=z(0)

x:=z(1)

y:=z(2)

Строится график:

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Урок-конспект "Моделирование в информатике""

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Руководитель образовательной организации

Получите профессию

Интернет-маркетолог

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 662 865 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 02.12.2020 904
    • DOCX 377.5 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Измайлова Анастасия Михайлова. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Измайлова Анастасия Михайлова
    Измайлова Анастасия Михайлова
    • На сайте: 6 лет и 4 месяца
    • Подписчики: 2
    • Всего просмотров: 10023
    • Всего материалов: 12

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Фитнес-тренер

Фитнес-тренер

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Робототехника в учреждениях дополнительного образования детей

72 ч.

2200 руб. 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 244 человека из 56 регионов
  • Этот курс уже прошли 435 человек

Курс профессиональной переподготовки

Тьюторское сопровождение в образовательных организациях

Тьютор

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 769 человек из 71 региона
  • Этот курс уже прошли 2 842 человека

Курс повышения квалификации

Особенности организации учебной деятельности в учреждениях дополнительного образования детей технической направленности

72/108/144 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 30 человек из 20 регионов
  • Этот курс уже прошли 47 человек

Мини-курс

Коррекционно-развивающая работа и оценивание в образовании для детей с ОВЗ

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 57 человек из 32 регионов
  • Этот курс уже прошли 37 человек

Мини-курс

Стратегии B2C маркетинга: от анализа до взаимодействия с клиентом

8 ч.

1180 руб. 590 руб.
Подать заявку О курсе

Мини-курс

Особенности психологической помощи детям

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 589 человек из 75 регионов
  • Этот курс уже прошли 223 человека