Графическое моделирование в excel

Задание: решить графически систему
уравнений:

Цель работы: научиться использовать
табличный редактор (Microsoft Excel) при решении системы
уравнений графическим методом.

Теоретические сведения: для решения данной
задачи потребуется преобразование обоих
уравнений системы к виду y = f(x) (приведенный вид) и
построение графиков получившихся функций. Точки
пересечения графиков и являются ответом задачи.
Однако следует помнить, что графическое решение
системы уравнений является приближенным,
поэтому решение задачи разбивается на два
основных этапа:

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

Уточнение решения системы уравнений с
использованием Надстройки М. Excel «Поиск
решения»

Необходимое программное и методическое
обеспечение:
ОС Windows XP, Office 2003, Microsoft Excel 2003.

Решение:

1. Запустить приложение Microsoft Excel, сохранить файл
к себе в папку, имя любое.

2. Преобразуем исходную систему уравнений в
приведенную:

3. Производим построение графиков функций.

На Лист1 создаем таблицу координат графиков
функций
:

Столбец Х заполняем значениями от -10 до 10 с
шагом 0,01 (Правка — Заполнить — Прогрессия)

Столбец Y1 заполняем по формуле [=-0,3*A2]

Столбец Y2 заполняем по формуле [=КОРЕНЬ(ABS(16-B4^2))-5]

Построение графиков (Вставка, Мастер диаграмм).

Шаг 1 из 4. Выбрать График, левый в первом
ряду.

Шаг 2 из 4. Вкладка Диапазон данных.
Установить по столбцам и диапазон — столбцы
значений Y1, Y2. Вкладка Ряд. Подписи оси
X — столбец значений Х. Имя Ряд1 — Y1, имя Ряд2
— Y2 Далее.

Шаг 3 из 4. Вкладка Заголовки. Заполнить Название
диаграммы: Графическое решение системы
уравнений, Ось Х (категорий): Х, Ось Y
(значений): Y. Далее

Шаг 4 из 4. Выбрать на отдельном листе. Готово.

Перенос оси Y(значений) в Х (категорию) = 0.

Определение категории содержащей 0. Перейти на
лист с таблицей, выделить любую ячейку в столбце
Х. Использовать меню Правка, Найти. Искать
0, ячейка целиком.

Определение категории, содержащей значение 0 в
системе координат графика: от номера найденной
строки вычесть количество строк над таблицей,
получается 1001.

Перейти на лист Диаграмма. Войти в Формат
оси категорий на вкладку Шкала, в окне
Пересечение с осью Y (значений) в категории номер:
ввести новое значение категории — 1001. Выровнять
число категорий между делениями и между
подписями по максимальному из двух чисел.

Уточнение решения системы уравнений

На листе Диаграмма определить значения Х в
точках пересечения графиков
(Приложение
1).

На Лист1 создаем таблицу координат для точек
пересечения

Уточнение решения системы уравнений
производим с помощью Надстройки М. Excel «Поиск
решения» на основании малой таблицы.

Окно Установить целевую ячейку очищаем, в
Окно Изменяя ячейки вносим, выделяя в малой
таблице (Рис.1), адреса ячеек со значениями Х, в
Окно Ограничения добавляем ограничения:
ячейки со значениями Y1 приравниваем ячейкам со
значениями Y2 (Рис.2).

Рис. 1

Рис. 2

Нажимаем ОК, затем Выполнить и Сохранить
найденное решение.
Значения Х, Y1 и Y2 в таблице
ясно показывают что решения найдены (Рис.3).

Рис. 3

5. Оформление решения системы.

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

Произведем копирование и Специальную вставку
(значения) координат точек пересечения графиков
функций.

Создадим форму для простановки координат на
лист Диаграмма.

Используем функцию СЦЕПИТЬ (категория —
текстовые) затем копирование и Специальную
вставку (значения) полученных форм и в заключении
копирование формы через Строку формул и
вставка ее на лист Диаграмма.

Оформить График в соответствии с Приложением
2.

В точках пересечения поставить маркеры.
Создать объект с записью системы (Вставка,
Объект, Microsoft Equation 3.0 — Редактор формул). Объект
создавать на Лист1 затем перенести на лист Диаграмма.

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

Чем это статья будет отличаться от предыдущих? В ней будет мало кода. В основном теория и разбор алгоритмов. Я понимаю, что алгоритм не идеальный, но мне интересно услышать какое-нибудь мнение, а еще лучше — совет. Тем более, что у меня есть пара вопросов.

Еще в процессе написания предыдущей статьи у меня возникли идеи по совершенствованию графического движка а-ля Wolfenstein 3D. Ведь одинаковые квадратные стены — это скучно.

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

Да, это фото! На телефон. В 2020 году. Но другого выхода нет из-за строгой политики безопасности.

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

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

Создание уровня

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

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

Для начала нужно нарисовать карту уровня. Со временем я планирую использовать для этого Blender, а координаты точек будут браться из. obj файла. Но сейчас я нарисую ее на бумаге. Мне кажется, так будет более наглядно.

За почерк извините=)

Перенесем координаты отрезков на отдельный лист в порядке X1, Y1, X2, Y2

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

Тогда я решил разбить все имеющиеся отрезки на сегменты в зависимости от секторов, в которых лежит отрезок. К примеру, размер одного сектора будет равен 8Х8 пунктов.

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

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

Для прохода по координатам отрезка я использовал следующую формулу:

X(Y) = X1(Y1) * (1 — STEP) + X2(Y2) * STEP,

где STEP — коэффициент, который определяет длину одного шага между координатами отрезка.

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

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

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

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

Наконец, полученные значения направляются на отдельный лист в порядке: X1, Y1, X2, Y2, Сектор по оси X, Сектор по оси Y. Рядом выводятся данные из массива с наполнением секторов. Получается следующее:

Теперь карта состоит аж из 201 отрезка, но разбиение на секторы позволит программе работать быстрее.

На этом формирование данных уровня закончено. По крайней мере сейчас, когда нет ни дверей, ни активных стен, ни предметов, ни врагов etc.

Процесс поиска столкновений

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

Для того, чтобы решить эту задачу, пришлось вспомнить, что такое вектор и какие действия с ним можно производить. В этом мне помогла следующая серия статей: Часть 1, Часть 2.

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

Для начала нужно создать два вектора от точки луча к начальным и конечным точкам каждого отрезка в секторе. Далее, посчитать скалярное и псевдоскаларное произведения этих двух векторов. Если скалярное произведение <= 0 и псевдоскалярное произведение == 0, то это значит, что точка лежит на отрезке.

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

Для поиска столкновений создал два класса. Класс Vector, который содержит два поля X, Y, а также метод, который создаёт вектор.

Option Explicit

Public X As Variant, Y As Variant

Sub createVector(X1 As Variant, Y1 As Variant, X2 As Variant, Y2 As Variant)

X = X2 — X1
Y = Y2 — Y1

End Sub

А также класс VectorActions, который считает произведения векторов:

Option Explicit

Public Vector1 As New Vector, Vector2 As New Vector

‘скалярное произведение векторов
Public Function getScalarProd() As Variant

getScalarProd = Vector1.X * Vector2.X + Vector1.Y * Vector2.Y

End Function

‘косое произведение векторов
Public Function getCrossProd() As Variant

getCrossProd = Vector1.X * Vector2.Y — Vector2.X * Vector1.Y

End Function

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

Сперва необходимо инициализировать некоторые переменные, которые понадобятся для рендеринга. Для этого я создал два класса: Config и Game. В модуле Main надо прописать такой код:

Option Explicit

Public Const ED = «EDITOR»
Public Const M = «MAP»
Public Const CONF = «CONFIG»
Public Const REND = «RENDER»

Public Config As New Game, Elf As New Player

Sub initializeVariables()

‘настройка конфигурации
Config.MapNumber = Sheets(CONF).Range(«B10»)
Config.rayLength = Sheets(CONF).Range(«B9»)
Config.RayStep = Sheets(CONF).Range(«B8»)
Config.ScreenHeight = Sheets(CONF).Range(«B1»)
Config.ScreenWidth = Sheets(CONF).Range(«B2»)
Config.SectorHeight = Sheets(CONF).Range(«B7»)

‘Настройка игрового экрана
Set Config.renderField = Sheets(REND).Range(Sheets(REND).Cells(2, 2), _
Sheets(REND).Cells(Config.ScreenHeight + 1, Config.ScreenWidth + 1))

‘настройка карты
Set Config.Map = Usefull.getRangeFromSheet(M & Config.MapNumber, 1, 1)
Set Config.Sectors = Usefull.getRangeFromSheet(M & Config.MapNumber, 1, 8)

‘настройка игрока
Elf.FOV = Sheets(CONF).Range(«B6»)
Elf.POV = Sheets(CONF).Range(«B5»)
Elf.X = Sheets(CONF).Range(«B3»)
Elf.Y = Sheets(CONF).Range(«B4»)

End Sub

Все данные берутся с отдельного листа:

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

‘ядро рейкастинга
Public Sub getRenderArray()

Dim countRays As Integer, rayPOV As Single, rayDist As Single, rayX As Single, rayY As Single, _
sectorX As Integer, sectorY As Integer, arrEmpty() As Variant, arrRender() As Variant, iSeg As Integer

On Error Resume Next

arrEmpty() = Config.Sectors.Value
ReDim arrRender(1, Config.ScreenWidth)

For countRays = 1 To Config.ScreenWidth — 1

rayPOV = (Elf.POV — Elf.FOV / 2) + (countRays * (Elf.FOV / Config.ScreenWidth))

For rayDist = Config.RayStep To Config.rayLength Step Config.RayStep

rayX = Elf.X + rayDist * Cos(rayPOV)
rayY = Elf.Y + rayDist * Sin(rayPOV)

sectorX = Fix(rayX / Config.SectorHeight) + 1
sectorY = Fix(rayY / Config.SectorHeight) + 1

‘проверка, в каком секторе находится луч
If arrEmpty(sectorY, sectorX) = True Then

‘проверка на столкновения
iSeg = getIntersect(rayX, rayY, sectorX — 1, sectorY — 1)

If iSeg > 0 Then

arrRender(0, countRays — 1) = iSeg
arrRender(1, countRays — 1) = Application.WorksheetFunction.RoundDown((Config.ScreenHeight * 24 / rayDist / Cos(Elf.POV — rayPOV)), 0)
Exit For

End If

End If

Next

Next

Render.createImage arrRender()

End Sub

Следующая процедура проверяет столкновения точки с отрезками:

‘проверка на столкновение с отрезками
Private Function getIntersect(rayX As Single, rayY As Single, sectorX As Integer, sectorY As Integer) As Long

Dim Vector1 As New Vector, Vector2 As New Vector, VectorAct As New VectorActions, arrSegs() As Variant, _
countSegs As Integer, X1 As Single, X2 As Single, Y1 As Single, Y2 As Single, scalarProd As Single, crossProd As Single

arrSegs() = Config.Map.Value

For countSegs = 1 To UBound(arrSegs(), 1)

If arrSegs(countSegs, 5) = sectorX And arrSegs(countSegs, 6) = sectorY Then

X1 = arrSegs(countSegs, 1)
Y1 = arrSegs(countSegs, 2)
X2 = arrSegs(countSegs, 3)
Y2 = arrSegs(countSegs, 4)

Vector1.createVector rayX, rayY, X1, Y1
Vector2.createVector rayX, rayY, X2, Y2

Set VectorAct.Vector1 = Vector1
Set VectorAct.Vector2 = Vector2

scalarProd = VectorAct.getScalarProd
crossProd = VectorAct.getCrossProd

If scalarProd <= 0 And (crossProd > -1 And crossProd < 1) Then

getIntersect = countSegs
Exit Function

End If

End If

Next

End Function

Функция возвращает целочисленное значение (номер отрезка в массиве), которое определяет цвет стены при рендеринге.

Пришлось перенести карту с бумаги в Doom Builder (очень странные манипуляции), чтобы показать итоги.

Разрешение: 240Х320.

Ради интереса я установил разрешение 800Х600:

Итоги

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

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

Во-вторых, луч иногда вообще не видит отрезки на их стыках. Как будто проходит сквозь них. На изображении это прекрасно заметно по дыркам в стенах. Это не частое явление, но проблема все таки имеется. Поэтому если кто-нибудь сможет мне пояснить, с чем это связано, я буду очень рад. Себе я сломал уже всю голову.

В настоящее время, когда луч встречает пустой сектор, он не пропускает его, а просто движется дальше и каждую итерацию проверяет один и тот же сектор. Для того, чтобы этого избежать, я пишу алгоритм, который будет вообще пропускать пустые сектора. Это значительно сократит количество итераций. Для этого необходимо высчитывать тангенс или котангенс угла между лучом и проекцией на ось X или Y. Когда-нибудь я напишу и об этом. Опять же, если кто-нибудь посоветует еще какие-нибудь способы сделать работу алгоритма быстрее, пишите.

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

Признаться, я это все потихоньку переписываю на C # с фреймворком MonoGame и уже начинаю выгорать. Хочется бросить и уйти копаться в Unity. Но хобби есть хобби:)

Прикладываю файл:

До скорых встреч!

Сборник заданий по разделу:

ОМПЬЮТЕРНОЕ

МОДЕЛИРОВАНИЕ В MS EXCEL

Иванов Иван

Для всех специальностей СПО

Разработала:

преподаватель

Белева Людмила Федоровна

Сыктывкар,2016 год

Пояснительная записка:

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

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

МАТЕМАТИЧЕСКИЙ АППАРАТ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ

ВЕРОЯТНОСТЬ СЛУЧАЙНОГО СОБЫТИЯ

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

Вообще, пусть определенное испытание проводится многократно в одних и тех же условиях и при этом каждый раз фиксируется, произошло или нет интересующее нас событие А. Число m называют частотой события А, а отношение m/n – относительной частотой, где n – общее число испытаний.

Задача 1.

Определить относительную частоту выпадения орла.

Для этого: введите формулы в расчетные ячейки.

Формула

Комментарий

Результаты

А1

=ЦЕЛОЕ (СЛЧИС()+0,5)

Выпадение орла или решки

0 или 1

A2

Копируем формулу

А3

до

A4

A5

500

A6

….

строки

А500

включительно

А501

=СЧЕТЕСЛИ(А1:А500;1)

Число выпадений орла

234

А502

=СЧЕТ(А1:А500)

Число бросков

500

А503

= А501/ А502*100

Относительная частота

0,49

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

Такое определение называют статистическим определением вероятности.

Задача 2. Бросание кубика

Найдите статистическую вероятность для каждого значения выпадения очков 1,2,3,4,5,6.

Для этого: введите формулы в расчетные ячейки.

A

B

C

D

1

=ЦЕЛОЕ(СЛЧИС()*6+1

1

{=ЧАСТОТА(A1:A500;B1:B6)}

=С1/500*100

2

Копируем формулу

2

3

до

3

4

500

4

5

строки

5

6

включительно

6

….

500

Дополнение: рассмотрим событие В, которое означает выпадение числа очков, кратного 3. Это событие происходит при двух исходах испытания: когда выпало 3 очка и когда выпало 6 очков. Эти исходы называют благоприятными исходами для события В. При бросании кубика из 6 равновозможных исходов испытания благоприятными для события В являются лишь два исхода. Отношение числа благоприятных исходов к числу всех равновозможных исходов равно 2/6. Это отношение называют вероятностью события В и пишут Р(В)=2/6=1/3.

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

В рассмотренном примере посмотрим назначения ячеек D3 и D6, их сумма 32,6 колеблется около 33%. Таким образом, классическое и статистическое определение вероятности совпадают с определенной степенью точности.

Задача 3.

Проверить, что вероятность выпадения оба раза решки равна 0,25.

Решение.

Для этого: введите формулы в расчетные ячейки.

A

B

C

D

E

F

1

=ЦЕЛОЕ(СЛЧИС()+0,5)

=ЦЕЛОЕ(СЛЧИС()+0,5)

=A1+B1

0

{=ЧАСТОТА

(C1:C50;D1:B3)}

=E1/50*100

2

Копируем формулу

1

3

до

2

4

50

5

строки

6

включительно

Задача 4.

Из 25 экзаменационных билетов по геометрии ученик успел приготовить 11 первых 8 последних билетов. Какова вероятность того, что на экзамене ему достанется билет, который он не подготовил?

Решение.

Общее число равновозможных исходов при выборе билетов на экзамене 25. Пусть М – событие, заключающееся в том, что ученику достанется на экзамене билет, к которому он не подготовился. Число благоприятных для М исходов (но не для ученика) равно 25-(11+8). Значит Р (М) =6/26=0,24. Проверим это. Для этого: введите формулы в расчетные ячейки.

A

B

C

D

1

=ЦЕЛОЕ (СЛЧИС()*25+1)

=ЕСЛИ(A911;1;0)

=ЕСЛИ(A1

=B1+C1

2

Копируем формулу

Копируем формулу

Копируем формулу

Копируем формулу

3

до

4

49

5

строки

включительно

49

Число неудачных билетов

=СЧЁТЕСЛИ(D1:D49;2)

50

Число всех билетов

=СЧЁТ(D1:D49)

52

Относительная

вероятность в %

=D50/D51*100

Задача 5.

Антон и Игорь бросают белый и черный игральные кубики и подсчитывают сумму выпавших очков. Они договорились, что если при очередной попытке в сумме выпадает 8 очков, то выигрывает Антон, а если в сумме выпадает 7 оков, то выигрывает Игорь. Является ли такая игра справедливой?

Решение.

При бросании кубиков на белом кубике может выпасть 1,2,3,4,5 или 6 очков.

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

(1,1)

(2,1)

(3,1)

(4,1)

(5,1)

(6,1)

(1,2)

(2,2)

(3,2)

(4,2)

(5,2)

(6,2)

(1,3)

(2,3)

(3,3)

(4,3)

(5,3)

(6,3)

(1,4)

(2,4)

(3,4)

(4,4)

(5,4)

(6,4)

(1,5)

(2,5)

(3,5)

(4,5)

(5,5)

(6,5)

(1,6)

(2,6)

(3,6)

(4,6)

(5,6)

(6,6)

В каждой паре на первом месте записано число очков, выпавших на белом кубике, на втором – число очков на черном кубике. Общее число равновозможных исходов равно 36. Пусть событие А означает, что при бросании кубиков в сумме выпало 8 очков, а событие В означает, что в сумме выпало 7 очков. Для события А благоприятными являются следующие 5 исходов:(2;6), (3,5), (4;4), (5,3), (6;2). Для события В благоприятными являются следующие 6 исходов:(1;6), (2,5), (3,4), (4;3), (5,2), (6;1). Отсюда: Р (А)=5/36 Р(В)=6/36.Поэтому делаем вывод шансов выиграть у Игоря больше, чем у Антона. Значит, такая игра не является справедливой.

Проверим это. Для этого: введите формулы в расчетные ячейки.

A

B

C

D

E

F

1

=ЦЕЛОЕ(СЛЧИС()*6+1)

=ЦЕЛОЕ(СЛЧИС()*6+1)

=A1+B1

1

{=ЧАСТОТА(C1:C100;D1:D12)}

=Е1/100*100

2

Копируем формулу

Копируем формулу

2

3

до

до

3

4

100

100

4

5

строки

строки

5

6

12

100

Задача 6.

На карточках написаны натуральные числа от 1 до 10 включительно, после чего карточки перевернули и перемешали. Затем наугад открыли одну карточку. Какова вероятность того, что на ней будет написано простое число или число, большее 7?

Решение.

Пусть событие А означает, что на каточке написано простое число, а событие В означает число, большее 7. Для события А благоприятными являются 4 исхода 10 равновозможных(появление одного из чисел 2,3,5,7), то есть вероятность события А равна 0,4.

Для события В благоприятными являются 3 исхода из 10 равновозможных(появление чисел 8,9,10), то есть вероятность события В равна 0,3.

Нас интересует событие С, когда на карточке написано простое число или число, большее 7. Событие С наступает тогда, когда наступает одно из событий А или В. Очевидно, что эти события являются несовместимыми. Значит, вероятность события С равна сумме вероятностей событий А и В, то есть: Р(С)= Р(А) + Р(В)=0,4+0,3=0,7.

Проверим это. Для этого: введите формулы в расчетные ячейки.

A

B

C

D

E

F

G

H

1

2

3

5

7

7

2

1

=ЦЕЛОЕ(СЛЧИС()*10+1)

=ЕСЛИ(B2=C$1;1;0)

=ЕСЛИ(B2=D$1;1;0)

=ЕСЛИ(B2=Е$1;1;0

=ЕСЛИ(B2= F$1;1;0)

=ЕСЛИ(B27;1;0)

=СУММ(C2:G2)

3

2

Копируем формулу

4

до

5

97

98

=СЧЁТЕСЛИ

(H2:H97;»0″)

99

=Н98/97

Задача 7.

В результате многократных наблюдений установили, что вероятность попадания в мишень одного стрелка равна 0,9, а другого – 0,8. Каждый из стрелков сделал по одному выстрелу по мишени. Какова вероятность того, что мишень будет поражена?

Решение.

Рассмотрим такие события: А – первый стрелок попал в мишень; В – второй стрелок попал в мишень; С – мишень поражена. События А и В независимые. Однако воспользоваться в этом случае умножением вероятностей нельзя, так как событие С наступает не только, тогда, когда оба стрелка попали в мишень, но и тогда, когда в мишень попал хотя бы один из них.

Поступим иначе. Рассмотрим события Ā, B, С, противоположные соответственно событиям А, В, С. События Ā, B являются независимыми, так как промах при выстреле по мишени первого стрелка ( событие Ā) не зависит от промаха второго стрелка( событие B). Событие С означает совместное появление событий Ā,B. Поэтому Р(С)= Р(Ā) • Р(B).

Из свойств вероятностей противоположных событий вытекает, что Р(Ā)=1-0,9=0,1;

Р(B)=1-0,8=0,2; Отсюда получаем Р(С)= Р(Ā) •Р(B)=0,1•0,2=0,02. Так как события С и С противоположные, то теперь несложно найти вероятность события С: Р(С)= 1-Р(С)=1-0,02=0,98. Значит, вероятность того, что мишень будет поражена, равна 0,98.

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

A

B

C

D

E

F

1

1

=СЛЧИС()

=СЛЧИС()

=ЕСЛИ(B10,1;1;0)

=ЕСЛИ(C10,2;1;0)

=C1+D1

2

2

заполнить

заполнить

заполнить

заполнить

заполнить

3

3

4

4

5

5

6

6

7

7

97

98

98

=СЧЁТЕСЛИ(F1:F97;»0″)

99

99

=F98/A97

Задания для самостоятельного выполнения:

  1. На карточках написали цифры 1,2,3, после чего карточки перевернули и перемешали. Затем последовательно открыли карточки и положили в ряд. Какова вероятность того, что получится трехзначное число, большее 300?

  2. Для экзамена подготовили билеты с номерами от 1 до 25. Какова вероятность того,

что взятый наугад учеником билет имеет:

а) однозначный номер;

б) двухзначный номер?

  1. Многократные испытания показали, что для некоторого стрелка вероятность выбить при стрельбе 10 очков равна 0,1, а вероятность выбить 9 очков равна 0,3. Чему равна для этого стрелка вероятность выбить не менее 9 очков?

МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ПРОЦЕССОВ

Случай является неотъемлемой частью нашей жизни. Если случай помог нам в чем-то, мы говорим — повезло, если оказался не в нашу пользу, мы сокрушаемся — что за судьба! Многие ученые посвятили свой талант изучению закономерностей случайных событий. Знание законов случайностей может быть полезным в разных сферах: от определения вероятности некоторого события, например выигрыша в лотерею, до использования статистических закономерностей в научных опытах. Ниже будут смоделированы ситуации, которые в теории вероятности получили название «случайных блужданий».

ЗАДАЧА. Бросание монеты

I ЭТАП. ПОСТАНОВКА ЗАДАЧИ

Описание задачи

У вас есть 10 монет. Вы хотите увеличить свой капитал в два раза, испытав заодно и свою судьбу. Суть игры проста. Играя с маклером, вы делаете ставку и бросаете монету. Если выпадет «орел», маклер выдает вам сумму вашей ставки, в противном случае — вы ему отдаете эту сумму. Ставка может быть любой: от 1 до 10 монет. Удвоение начального капитала или банкротство приводит к незамедлительному прекращению этого сеанса игры и расчету. Игра может продолжиться по вашему усмотрению. 

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

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

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

Формализация задачи

Уточняющий вопрос

Что моделируется?

Каков характер процесса?

Чем определяется выигрыш/проигрыш?

Какие объекты участвуют?

Чем характеризуется игрок?

Чем характеризуется монета?

Какую роль выполняет маклер?

Ответ

Процесс игры

Случайный

Монетой: орел/решка

Игрок, маклер и монета

Начальным капиталом Кнач

Ставкой СТ

Текущей наличностью Ктек

II ЭТАП. РАЗРАБОТКА МОДЕЛИ

Информационная модель

Здесь моделируется игра. Игра — это процесс, в котором участвуют три объекта: игрок, маклер и случай, который в данной игре представлен монетой. Маклер определяет проигрыш или выигрыш игрока, выплачивает выигрыш.

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

Имитировать результат падения монеты можно с помощью функции СЛЧИС(). Эта функция выдает случайные числа х в диапазоне 0 ≤ х ˂ 1. Поскольку вероятность выпадения той или иной стороны «половина на половину», то, если СЛЧИС() ˂ 0,5, то результат «орел» (1), в противном случае — «решка» (0).

Формула падения монеты при броске имеет следующий вид:

Бросок = ЕСЛИ(СЛЧИС() ˂ 0,5; 1; 0).

Объект

Параметры

Действия

Название

Значение

Игрок

Начальным капиталом Кнач

Ставкой СТ

Текущей наличностью Ктек

Исходные данные

Исходные данные

Расчетные данные

Выбор ставки

Вычисление наличности

Продолжение игры

Маклер

Бросок

Выигрыш

Проигрыш

Расчетные данные

Расчетные данные

Расчетные данные

Выплата проигранного

Прекращение игры по банкротству

Монета

Вероятность угадывания результата

Положение «орел/решка»

Константа

Расчетные данные

Подбрасывание монет

Определение результата падения

Формула изменения наличности игрока:

Наличность = ЕСЛИ (Бросок=1; Наличность+Ставка; Наличность-Ставка)

Формула определения выигрыша:

Выигрыш = ЕСЛИ(Наличность ˂ 2*Нач.Капитал;»-«; «банк») здесь выдается сообщение «банк» при увеличении наличности вдвое или больше, что является условием прекращения игры.

Функция определения проигрыша:

Проигрыш = ЕСЛИ (Наличность ˃ 0; «банкрот») здесь выдается сообщение «банкрот» по окончании наличности, что также является условием прекращения игры. 

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

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

В ячейку А7 вводится формулу:=ЕСЛИ(СЛЧИС()

В ячейку В7 вводится формулу:=ЕСЛИ(A7=1;$B$4+$D$4;$B$4-$D$4)

В ячейку C7 вводится формулу:=ЕСЛИ(B7B$4;”-“;”банк”)

В ячейку D7 вводится формулу:=ЕСЛИ(B70;”-“;”банкрот”)

В ячейку B8 вводится формулу:=ЕСЛИ(A8=1;B7+$D$4;B7-$D$4)

Ввести в таблицу исходные данные.

A

B

C

D

1

БРОСАНИЕ МОНЕТЫ

2

3

Исходные данные

4

Начальный капитал

10

ставка

1

5

Результаты

6

Бросок

Наличность

Выиграш

Проигрыш

7

Формула 1

Формула 2

Формула 3

Формула 4

8

Статистика по экспериментам

Ставка

№ сеанса

Количество бросков до результата

Результат

III ЭТАП. КОМПЬЮТЕРНЫЙ ЭКСПЕРИМЕНТ

План эксперимента

Тестирование

Проверить правильность ввода формул.

Эксперимент 1

Исследовать выпадение «орла» и «решки» в течение сеанса игры.

Эксперимент 2

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

Проведение исследования

Тестирование

Введите в таблицу контрольные исходные данные и расчетные формулы в первую строку. Результаты сравнить с приведенными в таблице.

IV ЭТАП. АНАЛИЗ РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ

На основе области «Статистика» сделать выводы по поводу ставки в одну монету; других ставок. Выбрать и обосновать собственную тактику игры (ставку). 

Задания для самостоятельного выполнения:

Задача 1. Игра в рулетку

Казино процветает из-за того, что у владельца всегда есть некоторое преимущество перед игроком. Например, в одном из вариантов рулетки колесо имеет 38 лунок: 36 пронумерованы и разбиты на черный и красный цвет, а две оставшиеся имеют № 0 и 00 и выкрашены зеленым. Игрок, ставя на красное или черное, имеет на выигрыш 18 шансов из 38, а на то, что он проиграет, — 20 шансов из 38. Пусть у вас имеется некоторый начальный капитал, который вы хотите удвоить. Постройте компьютерную модель ситуации.

Задача 2. Игра в кости

Два игрока бросают по две игровые кости. Сумма очков, выпавших на двух игровых костях, накапливается. Игра прекращается, когда один из игроков достигает суммы 101.

Игра повторяется до трех побед. 

Задача 3. Лотерея «Спортлото»

Смоделируйте серию игр в 5 из 36. Изберите следующую тактику игры:

  • зачеркивать в билетах одну и ту же комбинацию из «счастливых билетов»

  • бросать кубик и из количества точек на верхней грани составлять набор чисел.

Задача 4. Очередь

За два часа обеденного перерыва 40 человек встали в очередь за билетами.

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

  • Хватит ли на обслуживание всех клиентов 2 часов?

  • Если не хватит, то, сколько будет обслужено?

  • Как влияет время расспросов на время обслуживания очереди?

ИГРАЛЬНАЯ КОСТЬ. ИМИТАЦИЯ БРОСАНИЯ ИГРАЛЬНОЙ КОСТИ (VBA)

Microsoft Excel имеет встроенный язык программирования — Visual Basic for Аpplications (VBA). Этот язык позволяет создавать приложения, выполняемые в среде Microsoft Office. Редактор Visual Basic for Application позволяет существенно расширить возможности Excel.

С помощью VBA можно легко и быстро создавать различные приложения, даже не являясь специалистом в области программирования. Редактор Visual Basic for Application имеет графическую инструментальную среду, позволяющую создавать экранные формы и управляющие элементы. С его помощью можно создавать свои собственные функции для Excel, вызываемые мастером функций, разрабатывать макросы, создавать собственные меню и многое другое.

ЗАДАЧА. Снова бросаем игральный кубик

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

Игральную кость можно рассматривать как генератор случайных чисел в целочисленном интервале [1..N] с одинаковой вероятностью выпадения всех чисел интервала.

Создание интерфейса

Перед началом работы над программой в VBA, вам нужно воспользоваться графическим редактором Paint или другим, чтобы создать изображения игральной кости. Вам понадобятся шесть отдельных bmp-файлов, каждый из которых будет картинкой одной из граней кубика (кости).

Запустите VBA, начните новый проект и разместите на форме элемент управления Image, 18 надписей и четыре кнопки.

Н

Рисунок 1.

азначение каждого элемента управления: (см. рисунок 1)

  • элемент управления Image — для графического представления игральной кости (одной ее грани);

  • надписи — для показа количества выпадений того или иного числа и для подписей к ним;

  • кнопки:

Выход — для завершения программы по щелчку на ней;

Начать — чтобы начать бросание по щелчку на кнопке;

Остановить — чтобы остановить бросание по щелчку на ней;

Сброс — чтобы обнулить счет по щелчку на кнопке.

В этой программе присутствует повторяющийся процесс (бросание кости и вывод результата) через регулярные интервалы времени функция — timer.

Код:

Private Sub atimer()

Dim Kost, a, d, stavka As Integer

stavka = CDbl(TextBox2.Text)

PauseTime = 1

Start = timer

Do While timer

DoEvents

Randomize

kost = Int(Rnd * 6) + 1

Select Case kost

Case 1

Image1.Picture = LoadPicture(«C:UsersDesktopkosti1.bmp»)

Label1.Caption = Label1.Caption + 1

Case 2

Image1.Picture = LoadPicture(«C:UsersDesktopkosti2.bmp»)

Label2.Caption = Label2.Caption + 1

Case 3

Image1.Picture = LoadPicture(«C:UsersDesktopkosti3.bmp»)

Label3.Caption = Label3.Caption + 1

Label3.Caption = Label3.Caption + 1

Case 4

Image1.Picture = LoadPicture(«C:UsersDesktopkosti4.bmp»)

Label4.Caption = Label4.Caption + 1

Case 5

Image1.Picture = LoadPicture(«C:UsersDesktopkosti5.bmp»)

Label5.Caption = Label2.Caption + 1

C

Рисунок 2.

ase 6

Image1.Picture = LoadPicture(«C:UsersDesktopkosti6.bmp»)

Label6.Caption = Label6.Caption + 1

End Select

Loop

If stavka = kost Then

Label15.Caption = Label15.Caption + 3

Else

Label15.Caption = Label15.Caption — 2

End If

End Sub

Private Sub CommandButton1_Click()

stavka = CDbl(TextBox2.Text)

Label18.Visible = False

If stavka 0 Then

atimer

Else

Label18.Visible = True

Label18.Caption = «Вы не сделали ставку !!!»

End If

End Sub

Private Sub CommandButton2_Click()

PauseTime = 0

End Sub

Private Sub CommandButton3_Click()

Label1.Caption = «0»

Label2.Caption = «0»

Label3.Caption = «0»

Label4.Caption = «0»

Label5.Caption = «0»

Label6.Caption = «0»

Label15.Caption = «0»

TextBox2.Text = » «

End Sub

Private Sub CommandButton4_Click()

UserForm1.Hide

End Sub

Заключение:

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

Задания для самостоятельного выполнения:

Задача 1. Эксперимент состоит в подсчете числа бросаний двух костей до выпадения двух шестерок. Требуется найти среднее число бросаний, необходимых для получения двух шестерок. (Проводится N экспериментов).

КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ В ЭКОНОМИКЕ

Задача 1. Пусть известно, что в штате больницы состоит 6 санитарок, 8 медсестер, 10 врачей, 3 заведующих отделениями, главный врач, заведующий аптекой, заведующий хозяйством и заведующий больницей. Общий месячный фонд зарплаты составляет 10 000 у. е. Необходимо определить, какими должны быть оклады сотрудников больницы.

Построим модель решения этой задачи. За основу возьмем оклад санитарки, а остальные оклады будем вычислять, исходя из него: во сколько-то раз или на сколько-то больше. Говоря математическим языком, каждый оклад является линейной функцией от оклада санитарки: , где С – оклад санитарки; Аi и Bi – коэффициенты, которые для каждой должности определяются следующим образом:

– медсестра получает в 1,5 раза больше санитарки (; );

– врач – в 3 раза больше санитарки (;);

– заведующий отделением – на 30 у. е. больше, чем врач (; );

– заведующий аптекой – в 2 раза больше санитарки (; );

– заведующий хозяйством – на 40 у.е. больше медсестры (; );

– главный врач – в 4 раза больше санитарки (; );

– заведующий больницей – на 20 у.е. больше главного врача (; ).

Зная количество человек на каждой должности, нашу модель можно записать как уравнение:

где N1 – число санитарок, N2 – число медсестер и т. д.

В этом уравнении нам известны А1…А8, В1…В8 и N1…N8, а С неизвестно.

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

– Заполните таблицу в соответствии с образцом:

A

B

C

D

E

F

G

1

Должность

Коэф.

А

Коэф.

В

Зарплата

сотрудника

Кол-во

сотрудников

Суммарная

зарплата

Зарплата

санитарки

2

Санитарка

1

0

=B2*$G$2+C2

6

=D2*E2

150

3

Медсестра

1,5

0

8

4

Врач

3

0

10

5

Зав.отделением

3

30

3

6

Зав. аптекой

2

0

1

7

Завхоз

1,5

40

1

8

Главврач

4

0

1

9

Зав. больницей

4

20

1

10

Итого

=СУММ(F2:F9)

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

A

B

C

D

E

F

G

1

Должность

Коэф.

А

Коэф.

В

Зарплата

сотрудника

Кол-во

сотрудников

Суммарная

зарплата

Зарплата санитарки

2

Санитарка

1

0

150

6

900

150

3

Медсестра

1,5

0

225

8

1800

4

Врач

3

0

450

10

4500

5

Зав.отделением

3

30

480

3

1440

6

Зав. аптекой

2

0

300

1

300

7

Завхоз

1,5

40

265

1

265

8

Главврач

4

0

600

1

600

9

Зав. больницей

4

20

620

1

620

10

10425

Как видите, взяв оклад санитарки за 150, мы превысили месячный фонд зарплаты.

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

Для этого:

– активизируйте команду Подбор параметра;

– в поле «Установить в ячейке» появившегося окна введите ссылку на ячейку F10, содержащую формулу;

– в поле «Значение» наберите искомый результат 10000.

– В поле «Изменяя значение ячейки» введите ссылку на изменяемую ячейку G2 и щелкните кнопкой ОК. Таблица будет выглядеть следующим образом:

A

B

C

D

E

F

G

1

Должность

Коэф.

А

Коэф.

В

Зарплата

сотрудника

Кол-во

сотрудников

Суммарная

зарплата

Зарплата санитарки

2

Санитарка

1

0

143,80

6

862,77

143,79

3

Медсестра

1,5

0

215,69

8

1 725,55

4

Врач

3

0

431,39

10

4 313,87

5

Зав. отделением

3

30

461,39

3

1 384,16

6

Зав. аптекой

2

0

287,59

1

287,59

7

Завхоз

1,5

40

255,69

1

255,69

Главврач

4

0

575,18

1

575,18

Зав. больницей

4

20

595,18

1

595,18



Итого

10 000,00

Задача об использовании сырья

Что такое линейное программирование

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

Модели линейного программирования в экономике и управлении используются как инструмент оптимизации при планировании производства, составление планов перевозов и т.д.

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

Предприятие выпускает курс n видов продукции, которые обозначим: P1, P2,…, Pn. Для этого используется m вида сырья: S1, S2, … , Sm, запасы которого равны соответственно b1, b2, … , bm. Известно, что расход i-го вида сырья для производства единицы j-го вида продукции Pj равен aij. От реализации единицы j-го вида продукции Pj предприятие получает доход, равный Cj. Требуется составить такой план производства каждого вида продукции, чтобы при имеющихся запасах сырья обеспечить предприятию максимальный суммарный доход.

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

Построение математической модели осуществляется в три этапа:

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

  2. Формирование целевой функции.

  3. Формирование системы ограничений.

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

Материалы(Si)

Запасы материалов (bi), м

Расход материалов на продукцию Pj, м

Палатка (модель 1)

Палатка (модель 2)

Водооттал. ткань

105

7

4

Утеплитель

68

3

5

Москитная сетка

66

1

6

Удельный доход от реализации (Сj)

5

6

Ячейки, выделенные фоном, содержат значения расхода каждого вида сырья (материалов) на производство единицы каждого вида продукции. Это и есть матрица aij. Такой расход сырья называется удельным. Обозначим план пошива палаток модели 1 через X (шт.), а план пошива палат моделей палаток модели 2 через Y (шт.). При таком плане расход материалов, например водоотталкивающей ткани, составит 7 X + 4 Y метров. Поскольку расход материала не может превышать имеющиеся запасы, получаем ограничения по расходу водоотталкивающей ткани 7 X + 4 Y  105. Аналогические рассуждения приводят к ограничениям и по другим видам материалов. Кроме того, значения X и Y не могут быть отрицательными. Сформулированные условия запишем в виде системы неравенств, которым должны удовлетворять неизвестные X и Y:

Доход от реализации одной палатки модели 1 равен 5 единицам стоимости (например, 5 тыс. руб.), а доход от реализации палатки модели 2 — 6 единицам стоимости тогда суммарный доход предприятия от реализации всей произведенной продукции определится формулой: Z =5 X + 6 Y. Следовательно, Z есть функция от X и Y. Z(X, Y) является целевой функцией, поскольку целью производства является получение максимального дохода.

Таким образом, математическая формулировка задачи звучит так: требуется найти такое решение системы линейных неравенств (1)-(5),при котором целевая функция Z(X, Y) принимает максимальное значение.

Решение с помощью электронных таблиц

П

Таблица 1.

одготовим данные, как это показано в таб.1. В ячейках В2 и В3 будет получено решение, т.е. найдены объемы производства каждого вида продукции, при которых суммарных доход, вычисляемый в ячейках В17, принимает максимальное значение. Диапазон ячеек В13:В15 содержит формулы, с помощью которых задаются левые части неравенств (1)-(2), ограничивающих расход сырья. Диапазон ячеек D13:D15 содержит запасы материалов.

A

B

C

D

1

Объем производства

2

Палатки (модель 1)

3

Палатки (модель 2)

4

5

6

Материалы

Запасы материалов

Палатки (модель 1)

Палатки (модель 2)

7

Водооттал. ткань

105

7

4

8

Утеплитель

68

3

5

9

Москитная сетка

66

1

6

10

Удельный доход от реализации

5

6

11

12

Ограничения

13

=C7*$B$2+D7*$B$3

105

14

=C8*$B$2+D8*$B$3

68

15

=C9*$B$2+D9*$B$3

66

16

17

Суммарный доход

=C10*B2+D10*B3

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

Д

Рисунок 1.

ля этого выполняются следующие действия:

В поле Установить целевую ячейку вводится адрес ячейки В17.

  • Для поля Равной выбирается параметр максимальному значению.

  • В поле Изменяя ячейки вводится диапазон ячеек с неизвестными В2:В3.

  • Щелчком на кнопке Добавить вызывается окно Добавить ограничение.

  • Для ввода первого ограничения в поле Ссылка на ячейку указывается адрес ячейки В13, а в поле Ограничение – адрес ячейки D13. Между ними выбирается знак отношения  и нажимается кнопка Добавить. Аналогично добавляются два оставшихся ограничения.

  • Щелчком на кнопке параметры вызывается окно Параметры поиска решения (рис. 2), в котором необходимо отметить, что ищутся неотрицательные значения X и Y и используется линейная модель. Это означает то, что целевая функция линейно зависит от переменных X и Y.

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

Рисунок 2.

После того как все установки сделаны, следует нажать кнопку Выполнить.

В результате в ячейках В2 и В3 будет получено решение – объем производства палаток первой и второй моделей (таб.2), а в ячейке В17 – максимальный доход, полученный от реализации такого объема продукции. Как исследовало ожидать, полученные значения совпадают с результатами графического метода решения задачи: X = 11, Y = 7, Z = 97.

Таблица 2. Результаты решение задачи

A

B

C

D

1

Объем производства

2

Палатки (модель 1)

11

3

Палатки (модель 2)

7

4

5

6

Материалы

Запасы материалов

Палатки (модель 1)

Палатки (модель 2)

7

Водооттал. ткань

105

7

4

8

Утеплитель

68

3

5

9

Москитная сетка

66

1

6

10

Удельный доход от реализации

5

6

11

12

Ограничения

13

105

105

14

68

68

15

53

66

16

17

Суммарный доход

97

Задания для самостоятельного выполнения:

Задача 1.

Предположим, что мы решили производить несколько видов конфет. Назовем их условно «А», «В», «С». Известно, что реализация 10 килограммов конфет «А» дает прибыль 9 у. е., «В» – 10 у. е., «С» – 16 у. е.

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

Нормы расхода сырья на производство 10 кг конфет каждого вида приведены ниже.

Сырье

Нормы расхода сырья

Запас сырья

А

В

С

Какао

18

15

12

360

Сахар

6

4

8

192

Наполнитель

5

3

3

180

Прибыль

9

10

16

Задача 2.

Ваше предприятие выпускает изделия 1, изделия 2, изделия 3, используя общий склад комплектующих. Каждое изделие состоит из деталей, имеющихся на складе. В связи с ограниченностью запаса необходимо найти оптимальное соотношение объемов выпуска изделий. Прибыль, получаемая от каждого изделия, равна соответственно 47,32; 31,55; 22,08. Число деталей, идущих на каждое изделие, указано в таблице.

Наличие на складе

Изделие 1

Изделие 2

Изделие 3

Деталь 1

450

1

1

0

Деталь 2

250

1

0

0

Деталь 3

800

2

2

1

Деталь 4

450

1

1

0

Деталь 5

600

2

1

1

Задача 3.

В ресторане готовятся фирменные блюда трех видов (блюдо А, блюдо В и блюдо С) с использованием при приготовлении ингредиентов трех видов (ин­гредиент 1, ингредиент 2 и ингредиент 3). Расход ингредиентов в граммах на блю­до задается следующей таблицей:

Вид ингредиента

Блюдо А

Блюдо В

Блюдо C

Ингредиент 1

20

50

10

Ингредиент 2

20

0

40

Ингредиент 3

20

10

10

Стоимость приготовления блюд одинакова (100 руб.).

Ежедневно в ресторан поступает 5 кг ингредиента 1 и по 4 кг ингредиентов видов 2 и 3. Каково оптимальное соотношение дневного производства блюд различного вида, если производственные мощности ресторана позволяют использовать весь запас поступивших продуктов?

Задача 4.

Пошивочная мастерская планирует выпуск двух видов костюмов: мужских и женских. На женский костюм требуется 1 м шерсти, 2 м лавсана и 1 человеко-день трудозатрат. На мужской костюм — 3,5 м шерсти, 0,5 м лавсана и 1 челове­ко-день трудозатрат. Всего имеется 350 м шерсти и 240 м лавсана, 150 человеко-дней трудозатрат. Предусматривается выпуск не менее 110 костюмов, причем, необходимо обеспечить прибыль не менее 1400 руб. Определите оптимальное количество костюмов каждого вида, если прибыль от реализации женского костюма составляет 10 руб., а мужского — 20 руб.

ПОСТРОЕНИЕ И ИССЛЕДОВАНИЕ ОПТИМИЗАЦИОННОЙ МОДЕЛИ НА VBA

Задача 1.

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

Тип заготовки Способы раскроя
1-й

2-й

3-й

А

10

3

8

В

3

6

4

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

Формальная модель:

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

X1— количество листов, раскроенное способом 1;

X2— количество листов, раскроенное способом 2;

X3— количество листов, раскроенное способом 3.

Ограничения:

Определяются значениями требуемых количеств заготовок типа А и В:

10X1+3X2+8X3=500 и 3X1+6X2+4X3=300

Кроме того, количества листов не могут быть отрицательными: X10, X20, X30 и дробными X1, X2, X3 – целые.

Создание интерфейса:

Запустите V BA, начните новый проект и разместите на форме 8 надписей; одну кнопку.

P

Рисунок 1.

rivate Sub CommandButton1_Click()

Dim x1, x2, x3, F As Integer

F = 300

For x1 = 0 To 100

For x2 = 0 To 100

For x3 = 0 To 100

If (10 * x1 + 3 * x2 + 8 * x3 = 500) And (3 * x1 + 6 * x2 + 4 * x3 = 300) Then

If x1 + x2 + x3

F = x1 + x2 + x3

Label1.Caption = x1

Label2.Caption = x2

Label3.Caption = x3

Label4.Caption = F

End If

End If

Next x3

Next x2

Next x1

End Sub

Задания для самостоятельного выполнения:

Задача 1.

Фабрика производит два вида красок: первый – для наружных, а второй – для внутренних работ. Для производства красок используется два ингредиента: А и В. Максимально возможные суточные запасы этих ингредиентов составляют 6 и 8 т соответственно. Известные расходы А и В на 1 т красок:

Ингредиенты

Расход ингредиентов, т.ингр./т.краски

Запас, т.ингр./сут

Краска 1-го вида

Краска 2-го вида

А

1

2

6

В

2

1

8

Изучение рынка сбыта показало, что суточный спрос на краску 2-го вида никогда не превышает спроса на краску 1-го вида более, чем на 1 т. Кроме того, спрос на краску 2-го вида не превышает 2 т /сут. Оптовые цены 1 т красок равны: 3 т. руб. для краски 1-го вида и 2 т. руб. для краски 2-го вида. Найти какое количество краски каждого вида необходимо производить, чтобы доход от реализации продукции был максимальным.

Задача 2.

Фабрика производит два вида красок: первый – для наружных, а второй – для внутренних работ. Для производства красок используется два ингредиента: А и В. Максимально возможные суточные запасы этих ингредиентов составляют 6 и 8 т соответственно. Известные расходы А и В на 1 т красок:

Ингредиенты

Расход ингредиентов, т.ингр./т.краски

Запас, т.ингр./сут

Краска 1-го вида

Краска 2-го вида

А

1

2

6

В

2

1

8

Изучение рынка сбыта показало, что суточный спрос на краску 2-го вида никогда не превышает спроса на краску 1-го вида более чем на 1 т. Кроме того, спрос на краску 2-го вида не превышает 2 т /сут. Оптовые цены 1 т красок равны: 3 т. руб. для краски 1-го вида и 2 т. руб. для краски 2-го вида. Найти какое количество краски каждого вида необходимо производить, чтобы доход от реализации продукции был максимальным.

Транспортная задача

Рассмотрим еще одну типовую задачу линейного программирования.

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

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

  • Полное удовлетворение спроса потребителей;

  • Вывоз всей продукции от поставщика;

  • Минимизация транспортных затрат.

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

Рассмотрим простейший вариант транспортной задачи. В т пунктах отправления (складах) А1, А2, …, Ат находится однородный груз в количестве а1, а2, …, ат единиц соответственно. Потребность в этом грузе в п пунктах назначения (магазинах) В1, В2, …, Вп составляет b1, b2, …, bn соответственно. Будем считать, что сумма запасов на складах равна суммарным потребностям в магазинах, т.е. = . Такая модель называется замкнутой.

Обозначим через Сij удельные затраты, т.е. затраты на перевозку единицы груза из iго пункта в j-й пункт назначения, а через Xij – неизвестный объем груза, который надор перевезти из j— го пункта отправления в j-й пункт назначения.

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

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

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

Задача. Известно, что на складах имеется запас муки в количестве 45, 100, 20, 75 мешков. А магазины имеют потребность в этом товаре в количестве 30, 80, 95, 35 мешков.

Магазин № 1

Магазин №2

Магазин №3

Магазин №4

b1 = 30

b2 = 80

b3 = 95

b4 = 35

Склад № 1

a1 = 45

6

3

7

10

Склад № 2

a2 = 100

10

4

12

10

Склад № 3

a3 = 20

5

9

8

11

Склад № 4

a4 = 75

4

2

4

8

Ячейки, выделенные фоном, содержат удельные стоимости перевозок Cij. Например, стоимость перевозки единицы груза (мешка) со склада № 3 в магазин № 4 составляет 11 денежных единиц. Проверим замкнутость модели. Для этого просуммируем все запасы муки на складах: 45 + 100 + 20 + 75 = 240. Найдем суммарные потребности магазинов в муке: 30 + 80 + 95 + 35 = 240. Таким образом, модель является замкнутой, т. е. потребность магазинов в муке равна запасу на складах.

Весь груз со складов должен быть вывезен. Этот факт для i-го склада можно отразить следующим образом: Xi1 + Xi2 + Xi3 + Xi4 = ai. Весь груз в магазины должен быть ввезен. Для j-го магазина будет справедливо следующее: X1j + X2j + X3j + X4j = bj.

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

Вывоз всего груза со складов достигается при выполнении системы уравнений:

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

Z = C11 X11 + … + C14X14 + C21 · X 21 + … + С24 · X24 + C31 · X31 +…+ C34 · X34 +C41 · X41 +…+ C44 · X44.

Решение с помощью электронных таблиц

Р

Таблица 1.

ассмотрим решение задачи на примере табличного процессора Microsoft Excel.

Представим данные в виде, показанном в таблице 1.

A

B

C

D

E

F

G

1

Матрица перевозок

2

Магазин 1

Магазин 2

Магазин 3

Магазин 4

3

Склад № 1

=сумм

4

Склад № 2

=сумм

5

Склад № 3

=сумм

6

Склад № 4

=сумм

7

=сумм

=сумм

=сумм

=сумм

8

9

10

11

bj

30

80

95

35

12

ai

Магазин 1

Магазин 2

Магазин 3

Магазин 4

13

45

Склад № 1

6

3

7

10

14

100

Склад № 2

10

4

12

10

15

20

Склад № 3

5

9

8

11

16

75

Склад № 4

4

2

4

8

17

18

19

Сумм. затраты:

=СУММПРОИЗВЕД(С3:F16;C13:F16)

Исходными данными являются удельные затраты на перевозки (диапазон ячеек C13:F16), запасы муки на складах (диапазон ячеек A13:A16), потребности магазинов в муке ( диапазон ячеек С11:F11).

Диапазон ячеек C3:F6 предназначен для получения искомого решения-объемов перевозок груза. Суммируя объемы перевозок в каждой строке, задаем левые части уравнений-ограничений, обеспечивающий вывоз всего груза с каждого склада. Суммированием объемов перевозок по столбцам задаются левые части уравнений-огранечений, удовлетворяющих спрос каждого магазина в муке. Формула =СУММПРОИЗВ (С3:F6; C13:F16), вычисляющая целевую функцию(суммарные затраты) Z, размещена в ячейке С19. Встроенная функция СУММПРОИЗВ суммирует произведения, полученные построчным перемножением содерживого ячеек из диапозонов С3:F6; C13:F16.

Например, СУММПРОИЗВ (А1:В2;А3:B4) =A1*A3+B1*B3+A2*A4+B2*B4.

Рисунок 1.

Установите курсор в ячейку С19, в которой должно быть выполнено значение целевой функции.

Выполним команду Поиск решения.

В открышевшемся окне необходимо провести установки, показанные на рис.1.

В

Таблица 2.

результате будет найдено решение, представленное в таблице 2.

A

B

C

D

E

F

G

1

Матрица перевозок

2

Магазин 1

Магазин 2

Магазин 3

Магазин 4

3

Склад № 1

0

10

35

0

45

4

Склад № 2

30

70

0

0

100

5

Склад № 3

0

0

20

0

20

6

Склад № 4

0

0

40

35

75

7

30

80

95

35

8

9

10

11

bj

30

80

95

35

12

ai

Магазин 1

Магазин 2

Магазин 3

Магазин 4

13

45

Склад № 1

6

3

7

10

14

100

Склад № 2

10

4

12

10

15

20

Склад № 3

5

9

8

11

16

75

Склад № 4

4

2

4

8

17

18

19

Сумм.затраты:

1455

Искомые объемы перевозок представлены в ячейках C3:F6. Со склада №1 мука будет отправлена в магазины №2 и 3 в объемах 10 и 35 мешков соответсвенно, со склада №2 – в магазины №1 и 2 в объемах 30 и 70 мешков, со склада №3 — в магазин №3 в объеме 20 мешков, со склада №4 в магазины №3 и 4 в объемах 40 и 35 мешков. Минимальные затраты на перевозки составляют 1455 денежных единиц.

Задания для самостоятельного выполнения:

Задача 1. Найти оптимальный объем перевозок товаров с 3 заводов на 5 региональных складов. То есть минимизировать затраты на перевозку грузов от заводов-производителей на торговые склады.

Производительность каждого завода и затраты на перевозку от завода на каждый склад приведены в таблице:

Заводы

Поставки

Затраты

склад 1

склад 2

склад 3

склад 4

склад 5

Завод 1

310

10

8

6

5

4

Завод 2

260

6

5

4

3

6

Завод 3

280

3

4

5

5

9

Технология работы:

– Заполните таблицу в соответствии с образцом:

A

B

C

D

E

F

G

1

Заводы

Всего

склад 1

склад 2

склад 3

склад 4

склад 5

2

Завод 1

=СУММ (С2:G2)

1

1

1

1

1

3

Завод 2

Заполнить вниз

1

1

1

1

1

4

Завод 3

1

1

1

1

1

5

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

6

Итого

=СУММ (С2;С4)

7

8

Потреб. складов

180

80

200

160

220

9

Заводы

Поставки

Затраты

10

Завод 1

310

10

8

6

5

4

11

Завод 2

260

6

5

4

3

6

12

Завод 3

280

3

4

5

5

9

13

14

Перевозка

=СУММ (С14:G14)

=С2*С10+С3*С11+С4*С12

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

Задача 2.

Авиакомпания по заказу армии должна перевезти на некотором участке 700 человек. В распоряжении компании имеется два типа самолетов, которые можно использовать для перевозки. Самолет первого типа перевозит 30 пассажиров и имеет экипаж 3 человека, второго типа – 65 и 5 соответственно.

Эксплуатация 1 самолета первого типа обойдется 5000$, а второго 9000$. Сколько надо использовать самолетов каждого типа, если для формирования экипажей имеется не более 60 человек.

МОДЕЛИРОВАНИЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ

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

Координаты населенных пунктов приведены в табл. 1.

Таблица 1

Номера населенных пунктов

Координаты населенных пунктов

Х

У

1

2,0

8,0

2

10,0

9,0

3

1,0

2,0

4

4,0

9,0

5

9,0

5,0

Решение.

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

Для решения задачи введем обозначения (табл. 2).

Таблица 2

Объект

Координата Х

Координата У

Населенный пункт №1

Х1

У1

Населенный пункт №2

Х2

У2

Населенный пункт №3

Х3

У3

Населенный пункт №4

Х4

У4

Населенный пункт №5

Х5

У5

Аэродром

ХА

УА

Железнодорожная станция

ХС

УС

Минимальное расстояние от железнодорожной станции до i-го населенного пункта (i = 1, …, 5) через аэропорт можно определить следующим образом:

Решение с помощью электронных таблиц

В соответствующие ячейки Табл. 3 введите расчетные формулы.

Таблица 3

Адрес ячейки

Содержимое ячейки (формула)

1

Е5

=КОРЕНЬ(($B$12-B5)^2+($C$12-C5)^2)

2

E6—E9

Скопировать формулу из Е5 в E6—E9

3

В16

=КОРЕНЬ((B14-B12)^2+(C14-C12)^2)+СУММ(Е5:Е9)

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

A

B

C

D

E

1

Моделирование расположения аэродрома и железнодорожной станции

2

Расположение населенных пунктов

3

Объект, населенный пункт

Координата

Расстояние между

Аэродромом и населенными пунктами

x

y

4

5

Населенный пункт №1

2,0

8,0

6

Населенный пункт №2

10,0

9,0

7

Населенный пункт №3

1,0

2,0

8

Населенный пункт №4

4,0

9,0

9

Населенный пункт №5

9,0

5,0

10

11

Оптимальные координаты объектов (аэродрома и железнодорожных станций)

12

Аэродром

13

Железнодорожная станция

14

15

16

Оптимальное суммарное расстояние от аэродрома до станции и всех населенных пунктов

Эксперимент № 1

  • Применяя надстройку Excel «Поиск решения» ( Поиск решения), назначьте в качестве целевой ячейки В16 и установите переключатель Равной: равным минимальному значению.

  • Укажите в качестве изменяемых ячеек ячейки $B$12:$C$12; $B$14:$C$14 (координаты аэродрома и станции). Ограничения не вводите.

Щелкните по кнопке Выполнить. Фрагмент рабочего листа

A

B

C

D

E

1

Моделирование расположения аэродрома и железнодорожной станции

2

Расположение населенных пунктов

3

Объект, населенный пункт

Координата

Расстояние между

Аэродромом и населенными пунктами

x

y

4

5

Населенный пункт №1

2,0

8,0

2,5

6

Населенный пункт №2

10,0

9,0

5,7

7

Населенный пункт №3

1,0

2,0

6,6

8

Населенный пункт №4

4,0

9,0

1,5

9

Населенный пункт №5

9,0

5,0

5,2

10

11

Оптимальные координаты объектов (аэродрома и железнодорожных станций)

12

Аэродром

4,5

7,6

13

14

Железнодорожная станция

4,5

7,6

15

16

Оптимальное суммарное расстояние от аэродрома до станции и всех населенных пунктов

21,5

  • Постройте диаграмму, выберите тип Точечная.

  • Проанализируйте результат.

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

Эксперимент № 2

Усложним задачу. Введем ограничения. Предположим, что в указанном районе есть озеро и проходит железная дорога. Координаты ограничивающие местоположение аэродрома и станции, приведены в табл. 4

Таблица 4

Объект

Координата Х

Координата У

Озеро

≥ 0 и ≤4

≥ 3 и ≤ 6

Железная дорога

≥ 6

=1

Рисунок 1.

  • Установите курсор в ячейку В16.

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

  • Произведите поиск решения.

Фрагмент рабочего листа (после ввода ограничений)

A

B

C

D

E

1

Моделирование расположения аэродрома и железнодорожной станции

2

Расположение населенных пунктов

3

Объект, населенный пункт

Координата

Расстояние между

Аэродромом и населенными пунктами

x

y

4

5

Населенный пункт №1

2,0

8,0

3,8

6

Населенный пункт №2

10,0

9,0

5,8

7

Населенный пункт №3

1,0

2,0

5,9

8

Населенный пункт №4

4,0

9,0

3,2

9

Населенный пункт №5

9,0

5,0

3,9

10

11

Оптимальные координаты объектов (аэродрома и железнодорожных станций)

12

Аэродром

5,2

6,1

13

14

Железнодорожная станция

6,0

1,0

15

16

Оптимальное суммарное расстояние от аэродрома до станции и всех населенных пунктов

27,5

ЗАДАЧИ ТЕОРИИ РАСПИСАНИЙ

Постановка задач теории расписаний

В задачах теории расписаний рассматриваются комплексы работ, связанных общим объектом или общим исполнителем, направленные на достижение определенной цели. Модели теории расписаний позволяют найти наиболее дешевый или наиболее быстрый порядок выполнения работ.

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

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

Задача о шлюзе

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

Через шлюз последовательно должны пройти N судов. Известно время (в часах) шлюзования каждого судна – ti и ущерб от 1 часа простоя судна — Ui денежных единиц. Здесь индекс обозначает порядковый номер судна в очереди. Например, t1 это время шлюзования 1-го судна, t2 – время шлюзования 2-го судна, u2 – стоимость 1 часа простоя в ожидании своей очереди 2-го судна и т.д. Время простоя в очереди, например, 4-го судна, если оно ждет, пока через шлюз пройдут первые три, равно: t1 + t2 + t3 , а материальный ущерб от простоя 4-го судна равен: u4(t1 + t2 + t3).

Показатель экономической эффективности работы шлюза связан с суммарным ущербом от простоя судов в ожидании своей очереди на шлюзовании. Например, если к шлюзу подошли одновременно 4 судна и они пропускаются через шлюз в порядке их номеров, то суммарный ущерб от простоя (S) вычисляется так: S = u2t1 + u3(t1 + t2) + u4(t1 + t2 + t3).

В общем случае, если в очереди находятся N судов, то суммарный ущерб от простоя выражается формулой: S = .

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

Математический анализ этой задачи приводит к следующему ответу: минимум величины S достигается в том случае, если суда пропускаются в порядке убывания величины . Этот принцип можно пояснить на следующем примере. Пусть к шлюзу подошли одновременно два судна, время шлюзования которых одинаково (t1 = t2 ), но стоимость простоя разная. Тогда в первую очередь надо пропустить то судно, у которого простой стоит дороже. Если же у двух судов в очереди одинаковая стоимость простоя ( u1 = u2 ), то вперед надо пропустить то судно, у которого меньше время шлюзования.

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

Решение в электронных таблицах

Рассмотрим пример для пяти судов, выстроившихся в очередь к шлюзу в порядке из прибытия. Данные приведены в таблице 1.

№ судна

1

2

3

4

5

Время шлюзования

45

36

28

24

72

Ущерб от простоя

5

12

7

4

3

Вычислим общий ущерб от простоя по формуле:

S= u2 • t1 + u3 •(t1 + t2) + u4 •(t1 + t2 + t3) + u5 •(t1 + t2 + t3 + t4).

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

S=12•45+7•(45+36)+4•(45+36+28)+3•(45+36+28+24) =1942.

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

Чтобы найти ущерб от простоя, в ячейках С6:F6 вычислим суммы вида : , а в ячейку B7 поместим формулу = СУММПРОИЗВ(C3:F3;C6:F6).

В соответствии с этой формулой вычисляется сумма произведений: C3*C6+D3*D6+E3*E6+F3*F6 Таблица 2.

A

B

C

D

E

F

1

№ судна

1

2

3

4

5

2

Время простоя

45

36

28

24

72

3

Ущерб от простоя

5

12

7

4

3

4

5

6

=B2

=C6+C2

=D6+D2

=E6+E2

7

=СУММПРОИЗВ(C3:F3;C6:F6)

В 4-ю строку таблицы впишем формулы, по которым для каждого судна сосчитается величина k= . Затем отсортируем столбцы диапазона ячеек B1:F4 в порядке возрастания значений k в 4-й строке. Указание на то, что производится сортировка столбцов, задается с помощью диалогового окна Параметры сортировки: столбцы диапозона; cортировать по – строка 4, по возрастанию.

После проведения сортировки в диапазоне ячеек B1:F1 будет содержаться порядок прохождения судов через шлюз со следующими номерами: № 2, 3, 4, 1, 5. При такой очередности общий ущерб от простоя будет минимальным и составит 1347 денежных единиц, в то время как при шлюзовании судов в порядке их прибытия общий ущерб составлял 1942 денежных единицы. Таблица 3.

A

B

C

D

E

F

1

№ судна

2

3

4

1

5

2

Время простоя

36

28

24

45

72

3

Ущерб от простоя

12

7

4

5

3

4

k

3

4

6

9

24

5

6

36

64

88

133

7

Общий ущерб

1347

ИССЛЕДОВАНИЕ МЕТОДОВ ВЫЧИСЛЕНИЯ ОПРЕДЕЛЁННЫХ ИНТЕГРАЛОВ

Задача 1. Вычислить по формуле прямоугольников   с шагом . Заметим, что этот интеграл легко может быть вычислен аналитически:  

Чтобы найти приближённое значение интеграла  , нужно:

  • разделить отрезок [ab] на n равных частей точками х0= а, х1, х2,…, х n -1, х n = b;

  • вычислить значения подынтегральной функции   в точках деления, т.е. нати  у 0 = f (x0)у 1 =f (x1)у 2 = f (x2)у n -1 = f (xn-1)у n = f (xn) ;

  • воспользоваться одной из приближённых формул.

Метод прямоугольников:

Простейшим приближённым методом является метод прямоугольников.

Геометрически идея способа вычисления определённого интеграла по формуле прямоугольников состоит в том, что площадь криволинейной трапеции АВСD  заменяется суммой площадей прямоугольников, одна сторона которых равна, а другая —

Для нахождения определённого интеграла методом прямоугольников необходимо ввести значения подынтегральной функции f(x) в рабочую таблицу Excel в диапазоне х  [0;3 ] с заданным шагом х = 0,1.

A

B

1

Аргумент

Функция

2

0

=A2^2

3

0,1

4

0,2

5

6

7

8

9

32

33

= 0,1* Сумм (В3:В32)

В ячейке В33 появляется приближённое значение искомого интеграла (9,455) .

Сравнивая полученное приближённое значение с истинным значением интеграла (9), можно видеть, что ошибка приближения метода прямоугольников в данном случае равна= 0,455

Метод трапеций:

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

Для нахождения определенного интеграла методом трапеций, как и в случае использования метода прмоугольников, значения подынтегральной функции f(x) должны быть введены рабочую таблицу Excel в диапазоне х  [0;3] с заданным шагом х = 0,1.

A

B

1

Аргумент

Функция

2

0

=A2^2

3

0,1

4

0,2

5

6

7

8

9

32

33

=0,1*((B2+B32)/2+СУММ(B2:B31))

В ячейке В34 появляется приближённое значение искомого интеграла (9,005) .

Сравнивая полученное приближённое значение с истинным значением интеграла (9), можно видеть, что ошибка приближения метода трапеций в данном случае равна= 0,005

Метод трапеций обычно даёт более точное значение интеграла, чем метод прямоугольников

Задача 2.  Вычислить по формуле прямоугольников   с шагом .

Решение с помощью VBA

С

Рисунок 1.

оздание интерфейса:

Код программы:

Private Sub CommandButton3_Click()

End

End Sub

Рисунок 1.

Private Sub UserForm_Initialize()

With Me.ComboBox1

.AddItem «Метод_Трапеции»

.AddItem «Метод_Прямоугольников»

End With

End Sub

Private Sub CommandButton2_Click()

Dim n As Single, a As Single, x As Single

Dim b As Single, s As Single, s1 As Single

Dim s2 As Single, z As Single, i As String

i = ComboBox1.Value

a = TextBox1.Text

b = TextBox2.Text

n = TextBox3.Text

Select Case i

Case Is = «Метод_Трапеции»

h = (b — a) / n: s = 0

x = a + h

Do While x

s = s + fun(x)

x = x + h

Loop

s = (h / 2) * (fun(a) + 2 * s + fun(b))

T

Рисунок 2.

extBox4.Text = s

Case Is = «Метод_Прямоугольников»

h = (b — a) / n: s1 = 0

x = a + h

Do While x

s1 = s1 + fun(x)

x = x + h

Loop

s1 = h * s1

TextBox5.Text = s1

End Select

End Sub

Function fun(x As Single) As Single

fun = x ^ 2

End Function

Задания для самостоятельного выполнения:

Задача 1. Методом прямоугольников и методом трапеций найти следующие интегралы:

  1. при x=0,1;

  2. при x=0,1.

Задание 2. Построить график и вычислить площадь криволинейной трапеции, ограниченной линиями y=x2sin x, y=0, x=a, x=b (ai = a+(b-a) СЛЧИС()).

Литература:

  1. Информатика и ИКТ. Профильный уровень: учебник для 11 класса. / И.Г. Семакин, Е.К. Хеннер, Л.В.Шестакова.— М.: БИНОМ, Лаборатория знаний, 2012. — 330 с.

  2. Информатика. Сборник элективных курсов. А.А.Чернов. Волгоград: Учитель, 2007г

  3. http://иванов-м.рф/informatika_11/informatika_materialy_zanytii_11_20.html

  4. Куклина И. Д. Применение электронных таблиц при изучении приближенных методов вычисления интеграла // Информатика и образование. — М. — 2010. — № 9. — С. 94 —96.

  5. Попова О. Н. Моделирование задачи оптимального управления// Информатика и образование. — М. — 2002. — № 10. — С. 78 —82.

  1. Гельман В.Я. Решение математических задач средствами Excel: Практикум. – СПб.: Питер, 2003. – 240 с.

  2. Тимофеева Н.М. Как решать задачи? / “В мир информатики” № 67 (“Информатика” № 2/2006).

2

Автор статьи

Дмитрий Михайлович Беляев

Эксперт по предмету «Информатика»

Задать вопрос автору статьи

Определение 1

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

Введение

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

  1. Стратегические решения.
  2. Тактические решения.
  3. Оперативные решения.

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

Логотип iqutor

Сделаем домашку
с вашим ребенком за 380 ₽

Уделите время себе, а мы сделаем всю домашку с вашим ребенком в режиме online

Бесплатное пробное занятие

*количество мест ограничено

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

Такие возможности предоставляют имитационные модели, которые обладают следующим набором качеств:

  1. Возможность регулировать уровень сложности модели.
  2. Присутствие случайных факторов.
  3. Возможность описать процесс, развивающийся по времени.
  4. Обязательное использование электронной вычислительной машины.

Имитационные модели предназначаются для того, чтобы оценить варианты намечаемых коррекций, обладать игровой формой для обучения работников, визуально отобразить работу исследуемого объекта во времени и так далее. Реализовать модели можно при помощи универсальных языков программирования, к примеру,Pascal, Basic, пакетов прикладных программ, таких как,Excel, MathCAD, и так далее. Выбор конкретного метода моделирования определяется сложностью задачи, наличием необходимых ресурсов и так далее.

«Моделирование в Excel» 👇

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

Электронные таблицы Excel как инструмент формирования имитационных моделей

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

  1. Базовые понятия.
  2. Введение в теорию вероятности и статистику.
  3. Процесс имитационного моделирования в ручном режиме.
  4. Имитационное моделирование при помощи электронных таблиц.
  5. Генерирование случайных чисел.
  6. Осуществление анализа исходных данных.
  7. Осуществление анализа итогов моделирования.

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

  1. Подход, который ориентирован на события.
  2. Подход, имеющий ориентацию на процессы.
  3. Подход, направленный на сканирование активностей.

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

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

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

Использование программного пакета MSExcelобладает следующими преимуществами:

  1. В составе пакета Excelесть значительное число встроенных функций из области математики, статистики и других областей, включая возможность генерации случайных значений.
  2. Excelдаёт возможность сохранять информацию и иметь к ней доступ.
  3. Программный пакетExcelпозволяет строить графики и диаграммы.
  4. Программный пакет Excel обладает встроенным языкомVBA (VisualBasicforApplication).
  5. Программный пакет Excelшироко распространён среди специалистов, то есть имеется на компьютере практически у всех.
  6. Наличие возможности экспорта информационных данных в иные программные приложения.

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

Находи статьи и создавай свой список литературы по ГОСТу

Поиск по теме

  • 3D-график в Excel

Excel 3D Plot (Содержание)

  • 3D-график в Excel
  • Как построить 3D-графики в Excel?

3D-график в Excel

3D-график в Excel используется для построения графика для тех наборов данных, которые могут не обеспечивать особой видимости, возможности сравнения с другими наборами данных и для построения графика области, когда у нас есть большие наборы точек данных. 3D Plot в Excel — это творческий способ превратить простой 2D-график в 3D.

Как построить 3D-графики в Excel?

Построение 3D-графиков в Excel очень просто и полезно, когда мы хотим преобразовать данные, круговые диаграммы, графики в 3D-формат. Давайте разберемся, как строить 3D-графики в Excel на нескольких примерах.

Вы можете скачать этот 3D-шаблон Excel Plot здесь — 3D-шаблон Excel Plot

Доступ к 3D-графику можно получить из меню « Вставка» в разделе «Графики ».

3D-график в Excel — Пример № 1

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

Теперь создаем 3D-график для вышеуказанного набора данных, сначала выберите данные.

Затем перейдите на вкладку меню Вставка и под диаграммой выберите столбчатую диаграмму. Как только мы нажмем на него, мы получим раскрывающееся меню. Оттуда выберите 3D-столбец, как показано ниже.

После выбора опции 3D Column мы получим трехмерный график с колонкой, как показано ниже. Здесь мы можем добавить метки данных, заголовки осей, заголовок и даже изменить дизайн 3D-столбцов.

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

Давайте снова отобразим эти данные на другом трехмерном графике. Теперь мы будем строить 3D-график. Для этого сначала выберите данные, а затем перейдите на вкладку меню « Вставка », в разделе «Диаграммы» выберите « Водопад», «Фондовая», «Поверхность» или «Радар», как показано ниже. (И для других версий Excel выберите опцию Other Charts )

Как только мы это сделаем, мы получим выпадающее меню диаграммы Stok, Surface и Radar, как показано ниже. Оттуда выберите 3D Surface .

Как только мы это сделаем, мы получим 3D-график поверхности, как показано ниже.

Приведенные выше данные показывают расстояние, пройденное атлетами по гребню и впадине, а область разного цвета представляет диапазон расстояний. Таким образом, мы можем попробовать еще несколько 3D-графиков, доступных в Excel, в соответствии с нашим использованием.

3D-график в Excel — Пример № 2

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

Теперь для построения трехмерного графика для приведенного выше примера сначала выберите полные данные. Затем перейдите в меню «Вставка» и в разделе «Графики» выберите столбчатую диаграмму, как показано ниже. Как только мы нажмем на него, мы получим раскрывающееся меню. Оттуда выберите 3D-столбец, как показано ниже.

После выбора опции 3D Column мы получим трехмерный график с колонкой, как показано ниже.

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

Давайте построим еще один 3D-график на тех же данных. Для этого выберите данные и перейдите в меню «Вставка», в разделе «Диаграммы» выберите « Линия» или « Диаграмма площади», как показано ниже.

После этого мы получим выпадающий список линейных графиков, как показано ниже. Оттуда выберите 3D Line chart.

После нажатия на него мы получим график графика 3D Line, как показано ниже.

Это самый выполнимый, простой 3D-сюжет. И это очень легко понять. Поскольку данные в этом сюжете достаточно разделены друг с другом. И изменения в данных также хорошо видны. Использование графика 3D Line хорошо, когда у нас есть данные, где мы можем легко увидеть разделение.

Выше приведен пример некоторых из категории 3D-графики. Мы можем создать трехмерный график для круговой диаграммы, диаграммы площади, линейчатой ​​диаграммы и комбинированной диаграммы, если имеющиеся у нас данные позволяют нам по-разному представлять требуемые виды.

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

Плюсы 3D-сюжета в Excel

  • Даже данные являются презентабельными, но при использовании трехмерного графика видимость становится шире, когда данные имеют размеры.
  • Модификация, выполненная в бэкэнде, может быть легко обновлена ​​с помощью этих трехмерных графиков или простых графиков.
  • Когда у нас есть данные о высоте поверхности, мы также можем построить контурные графики.

То, что нужно запомнить

  • Не всегда необходимо строить трехмерный график в Excel, когда у нас простая структура данных.
  • При вставке графика в разные файлы всегда вставляйте изображение, чтобы избежать каких-либо изменений в конечном графике.
  • Данные должны быть в правильном формате, чтобы любые изменения, которые необходимо внести в график, можно было легко сделать.
  • Не добавляйте метки данных в 3D-графики, потому что график много раз перегружен. Используйте метки данных, когда они действительно видны.

Рекомендуемые статьи

Это было руководство по 3D Plot в Excel. Здесь мы обсудили, как построить 3D-графики в Excel вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —

  1. Комбинированные диаграммы в Excel
  2. Руководство по функциям Excel — диаграммы и графики
  3. Как создать круговую диаграмму в Excel?
  4. Кластерная гистограмма в Excel

Содержание

  1. Моделирование физических процессов средствами MS Excel
  2. Презентация к уроку
  3. Ход урока
  4. I. Организационный момент.
  5. II. Актуализация знаний.
  6. III. Изучение нового материала.
  7. IV. Практическая работа учащихся.
  8. V. Подведение итогов.
  9. VI. Задание на дом.
  10. Глава I. Моделирование физических явлений в системе Excel
  11. 1.1. Моделирование движения небесного тела под действием сил тяготения
  12. Моделирование физических процессов в среде «Microsoft Excel»
  13. Просмотр содержимого документа «Моделирование физических процессов в среде «Microsoft Excel»»

Моделирование физических процессов средствами MS Excel

Презентация к уроку

Цель урока:

  1. Образовательная: научить учащихся применять знания по использованию средств MS Excel для моделирования физических процессов.
  2. Развивающая: обеспечить развитие у учащихся навыков, способствующих применению имеющихся знаний и умений.
  3. Воспитательная: формирование информационной культуры, внимания, аккуратности, бережного отношения к оборудованию.

Тип урока: урок совершенствования ЗУН

Методы работы: Объяснительно-иллюстративный, репродуктивный, частично-поисковый.

Формы учебной работы: Фронтальный опрос, индивидуальная практическая работа.

Оборудование: компьютеры с установленной программой MS Excel, презентация, проектор.

План урока:

  1. Организационный момент.
  2. Актуализация знаний.
  3. Изучение нового материала.
  4. Практическая работа учащихся.
  5. Подведение итогов.
  6. Задание на дом.

Ход урока

I. Организационный момент.

Приветствие, проверка присутствующих, объяснение хода урока.

II. Актуализация знаний.

Учитель: Для чего используется моделирование?

Ученики: Высказывают свое мнение по заданному вопросу.

Учитель: Обобщает ответы учеников и формулирует одно из предназначений моделирования. «Моделирование используется для того, чтобы представить визуально те процессы, которые нельзя увидеть» (Слайд 2).

Какие модели бывают?

Ученики: Натурные и информационные (Слайд 3).

Учитель: Т.к. мы изучаем информатику, нас интересуют информационные модели. Какие информационные модели вам известны?

Ученики: Вербальные, математические, графические, табличные (Слайды 4, 14–17).

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

III. Изучение нового материала.

Учитель: Из курса физики вам известно, что, если в цепи переменного тока находиться конденсатор, то сила тока изменяется по закону I(t) =Imcosωt, а напряжение – U(t) =Umsinωt (Слайд 5). Данные формулы являются математическими моделями процессов, протекающих в цепи переменного тока. Наша задача создать графическую модель данного процесса. Для этого воспользуемся возможностями табличного процессора MS Excel.

Протабулируем данные функции на интервале [0; 3] с шагом 0,2 (Слайд 7). Используя возможности MS Excel, построим графики зависимости I(t) и U(t). Графики и будут являться графической моделью процессов, протекающих в цепи переменного тока (Слайд 8). Проанализировав результат, можно сделать выводы: 1) Изменение силы тока и напряжения происходит так: когда сила тока равна нулю, напряжение принимает максимальное значение и наоборот. 2) Колебания силы тока опережают по фазе колебания напряжения на (Слайд 9).

IV. Практическая работа учащихся.

(Слайды 10–11)

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

Математические формулы, описывающие данный процесс: I(t)= Imsinωt, U(t) =Umcosωt.

V. Подведение итогов.

(Слайд 12)

Мы вспомнили основные возможности табличного процессора. Узнали, что, используя эти возможности, можно создавать графические модели физических процессов. (Оценивание работ учеников).

VI. Задание на дом.

(Слайд 13)

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

Источник

Глава I. Моделирование физических явлений в системе Excel

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

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

Технология решения (моделирования) физических объектов с помощью пакета Excel изложена также в работах [1, 2, 3].

1.1. Моделирование движения небесного тела под действием сил тяготения

Рассмотрим технологию моделирования в системе Excel на примере движения материального тела (планета) массой m под действием притягивающего неподвижного центра (Солнца). Например, любое материальное тело движущееся под действием силы притяжения небесного тела (в частности, поля тяготения Солнца).

Задание на моделирование. Построить орбиту малой планеты по ее координатам, рассчитанным с интервалом в 5 суток, если в перигелии она находится на расстоянии 0,5 а.е. от Солнца и имеет скорость 0,026 а.е./сут. Считать, что планета движется под действием притяжения только со стороны Солнца. Влияние других планет не учитывать.

Дифференциальные уравнения движения могут быть получены из закона Ньютона:

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

(1.1)

с общими для всех случаев начальными условиями

,

предполагающими, что материальное тело в начальный момент времени лежит на оси Ох в точке х0, не имеет соответствующей скорости вдоль оси Ох и имеет начальную скорость лишь вдоль оси Оу, которая равна у0.

Решение. Решение данной задачи средствами программирования приведены в [2, 3]. Рассмотрим формулы, позволяющие производить вычисления по решению уравнений (1.1) методом Эйлера

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

Введем свою систему единиц. Время измеряется в сутках, расстояние в а.е. (астрономических единицах), за единицу массы принята масса Солнца. При таком выборе единиц числовые значения исходных данных таковы:

Заполняем электронную таблицу.

Первоначальный вид электронной таблицы приведен на рис. 4.1.

Пояснения к заполнению электронной таблицы

В ячейку А3 внесено 1.

В ячейку А4 введена формула =А3+1.

В ячейку В3 внесено 0.

В ячейку В4 введена формула =В3+1.

В ячейку С3 введена формула = (-1/(58^2))*G3/(I3^3, которая скопирована в ячейку С1.

В ячейку D3 введена формула =(-1/(58^2))*H3/(I3^3), которая скопирована в ячейку D1.

В ячейку Е3 внесено значение начальной скорости по х равная 0.

В ячейку Е4 введена формула =Е3+С3*1.

В ячейку F3 внесено значение начальной скорости по y равная 0,026.

В ячейку F4 введена формула =F3+D3*5 .

В ячейку G3 внесено начальная координата по х равная 0,1.

В ячейку G4 введена формула =G3+E4*1.

В ячейку H3 внесено начальная координата по у равная 0.

В ячейку H4 введена формула =H3+F4*1.

В ячейку I3 введена формула =КОРЕНЬ(G3^2+H3^2), которая скопирована в ячейку I1.

В ячейку J3 введена формула =КОРЕНЬ(C3^2+D3^2), которая скопирована в ячейку J1.

Таким образом, мы заполнили две строки. В третьей строке введены начальные значения, в строке №4 формулы расчета. Выделяя строку №4 и растягивая мышью по вертикали, получаем расчетные значения на каждый момент времени.

Результаты вычислений приведены в таблице 2.

Источник

Моделирование физических процессов в среде «Microsoft Excel»

Несмотря на экономическую направленность, Excel является весьма мощной программой, включающей в себя более 400 функций. Интуитивно-понятный «дружественный» интерфейс, подробная справка на русском языке и широкая интеграция с другими программами от Microsoft делают освоение и использование Excel легким, удобным и приятным. Благодаря этому в Excel можно заниматься физикой.

Просмотр содержимого документа
«Моделирование физических процессов в среде «Microsoft Excel»»

Индивидуальный проект по теме: «Моделирование в Excel»

Презентация Протасова Юрия, ученика 11”Б” класса, МАОУ лицея №14

  • Современный этап развития науки характеризуется широчайшим использованием информационных технологий.
  • Актуальность проекта заключается в том, что на сегодняшний день невозможно представить себе ни одно серьезное физическое исследование без предварительного моделирования процессов на компьютере. Поэтому обучение компьютерному моделированию физических процессов является необходимой и неотъемлемой составляющей обучения физике.
  • Microsoft Excel (входит в пакет Microsoft Office) – программа, предназначенная, прежде всего, для экономических расчетов. Выбор этой программы для обучения компьютерному моделированию обусловлен следующими причинами:
  • Несмотря на экономическую направленность, Excel является весьма мощной программой, включающей в себя более 400 функций.
  • Интуитивно-понятный «дружественный» интерфейс, подробная справка на русском языке и широкая интеграция с другими программами от Microsoft делают освоение и использование Excel легким, удобным и приятным. Благодаря этому в Excel можно заниматься физикой на компьютере. В отличие от сложных профессиональных математических и физических пакетов, требующих длительного изучения, Excel осваивается за одно занятие и позволяет в дальнейшем заниматься исключительно физикой, не отвлекаясь на изучение самой программы.

  • Цель данного проекта заключается в том, чтобы продемонстрировать моделирование физических процессов в Microsoft Excel.

  • Изучить процесс моделирования в Excel.
  • Смоделировать несколько физических процессов.

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

  • Если на тело не влияют другие тела или действие сил скомпенсировано, тело сохраняет состояние покоя или равномерного прямолинейного движения, т.е. если F =0, значит a =0, следовательно, V =const, следовательно
  • x = x0 + V0t
  • и график x(t) представляет собой прямую.
  • Если тело массой m движется под действием постоянной силы F, то а = F/m= const, скорость V=V0+at, координата
  • x = x0 + V0t+at2/2,
  • т.е. представляет собой параболу.
  • Для начала в отдельных ячейках зададим промежуток времени dt, силу F, влияющую на тело, массу m тела, X о , Начальную скорость V и ускорение a(F/m).
  • В расчётных полях:
  • Задаём время t i =t i-1 + dt.
  • Задаём скорость V i =V i-1 +(F/m)*dt.
  • Задаём координату x i =x i-1 +V i *dt.
  • Строим график x(t).

Падение тела в вязкой среде

  • При падении тела в вязкой среде на него действуют 3 силы: постоянная равнодействующая силы тяжести и силы Архимеда Fр=mg-FA и сила сопротивления, при небольших скоростях пропорциональная скорости Fc=kV .
  • В начале движения V= 0 , следовательно, Fc= 0 .
  • По мере роста скорости растет и сила сопротивления, а результирующая сила F=Fр-Fc уменьшается. И наступает момент, когда Fp=Fc , в результате чего движение становится равномерным.
  • Задаём промежуток времени dt, коэффициент вязкости k, массу тела m, объем тела, плотность тела, g, силу Архимеда (Вычисляется по формуле pgh ),Y o и Равнодействующую силы (Fр= mg-FA).
  • В расчётных полях:
  • Задаём время t i =t i-1 + dt.
  • Задаём ускорение ai=(Fр— k*Vi-1)/m .
  • Задаём скорость Vi=Vi-1+ai*dt .
  • Задаём координату yi=yi-1+Vi*dt.
  • Строим графики y,V,a (t).

  • При бросании тела под углом α к горизонту по оси OX оно движется по инерции равномерно с начальной скоростью Vox=V0cos α , а по оси OY под действием силы тяжести с ускорением –g и начальной скоростью Voy= V0sin α. уравнение траектории y(x) соответствует перевернутой параболе.
  • В отдельных ячейках задаём угол бросания в градусах, начальную скорость, X o , Y o , g, Коэффициент сопротивления k, Масса тела m, Промежуток времени dt, V ox и V oy .
  • В расчётных полях:
  • Задаём время t i =t i-1 + dt.
  • Задаём ускорение по OX: .
  • Задаём ускорение по OY: .
  • Задаём скорость по OX: Vxi=Vi-1+ai*dt. Начальное значение скорости по OX равно V0cos α .
  • Задаём скорость по OY: Vyi=Vi-1+ai*dt. Начальное значение скорости по OX равно V0sin α .
  • Задаём координату xi=xi-1+Vxdt.
  • Задаём координату yi=yi-1+Vydt.
  • Строим график y(x).

Движение в ограниченном пространстве. Удар

  • Тело падает под действием силы тяжести, но, ударившись об пол, отскакивает обратно, потеряв часть энергии. Быстрые процессы в момент удара нас в этой работе не будут интересовать, но известно, что, если удар не абсолютно упругий, то при отскоке скорость уменьшается таким образом, что скорость после удара равна скорости до удара, умноженной на коэффициент восстановления относительной скорости w . При этом, вследствие потери энергии, высота подскока будет уменьшаться.
  • Задаём промежуток времени dt, начальную скорость тела, g, Y o , коэффициент восстановления скорости w (0w
  • В расчётных полях:
  • Задаём время t i =t i-1 + dt.
  • Задаём скорость. Так как в момент отскока, т.е. когда высота меньше или равна 0 и скорость еще направлена вниз (реально в данной задаче высота не может быть отрицательной, но у нас расчет для дискретных моментов времени, поэтому мы должны учесть, что при очередном шаге у тела окажется отрицательная высота) — скорость уменьшается домножением на w и меняет знак. Т.е «=ЕСЛИ(И( yi-1=0; Vi-1 w *( Vi-1-g*dt );( Vi-1g*dt ))».
  • Задаём координату yi=yi-1+Vi*dt.
  • Строим график y(t).

Движение тела переменной массы

  • Ракета получает импульс вперед за счет того, что часть массы отбрасывает назад со скоростью u . Поэтому реактивное движение характерно тем, что при таком способе движения масса ракеты уменьшается. Скорость уменьшения массы ракеты (расход горючего и окислителя) равен .
  • Задаём промежуток времени dt, скорость течения газов u, начальную скорость тела V o , начальную массу ракеты m o , промежуток массы dm, X o , расход горючего и окислителя (dm/dt).
  • В расчётных полях:
  • Задаём время t i =t i-1 + dt.
  • Задаём начальную массу .
  • Задаём ускорение .
  • Задаём скорость Vi=Vi-1+ai*dt.
  • Задаём координату xi=xi-1+Vi*dt.
  • Строим график x (t).

  • На столе стоит карандаш длиной l и массой m. Вначале он отклонен на небольшой угол φ0 от вертикали. Допустим, проскальзывание его острия по столу исключено, т.е. при падении карандаш будет вращаться относительно горизонтальной оси, проходящей через точку касания карандаша и стола.
  • В отдельных ячейках задать массу карандаша m, длина карандаша l, ускорение свободного падения g, промежуток времени dt, начальный угол отклонения (0;90) и момент инерции карандаша J (m*l 2 /3).
  • В расчётных полях:
  • Задаём время t i =t i-1 + dt.
  • Задаём момент сил
  • Задаём угловое ускорение ..
  • Находим угловую скорость ωii-1i*dt.
  • Находим угол φi= φi-1i*dt
  • Строим график

  • В профессиональных математических и физических пакетах, чтобы что-либо сделать необходимо знать какую команду ввести или какую кнопку нажать, но нет необходимости понимать, как именно программа моделирует данный процесс. В Excel не заданы физические модели – их надо задавать самим, поэтому для моделирования физических процессов требуется глубокое понимание физического и математического смысла формул и используемых моделей. Верно и обратное: освоение компьютерного моделирования физических процессов в Excel ведет к более глубокому пониманию этих процессов, а так же физического и математического смысла используемых формул и моделей. Поэтому, если школьники научаться моделировать физические процессы в Excel, они будут лучше усваивать пройдённый материал.

Источник

Муниципальное бюджетное общеобразовательное учреждение средняя              общеобразовательная школа № 15 имени Пяти Героев Советского Союза

Иследовательская работа

Тема:

«Создание и исследование моделей

в электронной таблице Excel»

Секция информатики

Выполнила: Сотникова Полина Андреевна,

ученица 10 «А» класса

Руководитель: Титаренко Алексей Анатольевич,

учитель информатики

г. Хабаровск

2016

Содержание

Актуальность темы…………………………………………………………………………………………………………………3

Введение………………………………………………………………………………………………………………………………..4

Создание информационных моделей…………………………………………………………………………………..5

Формулы в Excel…………………………………………………………………………………………………………………….7

Этапы разработки и исследования моделей………………………………………………………………………..10

Исследование физических моделей в электронных таблицах…………………………………………..11

Исследование биологической модели развития популяций………………………………………………14

Оптимизационное моделирование в экономике…………………………………………………………………17

Заключение…………………………………………………………………………………………………………………………….20

Список использованной литературы…………………………………………………………………………………….21

2

Актуальность темы

Часто для исследования предметов, процессов и явлений человек создает модели окружающего мира.

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

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

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

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

3

Введение

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

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

4

Создание информационных моделей:

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

Табличные информационные модели:

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

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

С помощью электронной таблицы Excelпостроим таблицу стоимости продуктов. В первом столбце таблицы будет содержаться перечень продуктов, а во втором – интересующее нас свойство (цена).

С помощью специальных инструментов, встроенных в программу Excelможно визуализировать таблицу, представив ее в виде графика или круговой диаграммы. Для этого нужно выделить таблицу, зайти во вкладку «Вставка» и выбрать нужный формат визуализации.

5

Визуализация круговой диаграммой

Визуализация столбчатой диаграммой

6

Формулы в Excel

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

Порядок ввода формулы

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

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

Выделим произвольную ячейку, например D1. В строке формул введем =2+3 и нажмем Enter. В ячейке появится результат (5). А в строке формул сверху останется сама формула.

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

  1. В первую очередь выполняются выражения внутри скобок.
  2. Умножение и деление имеют более высокий приоритет чем сложение и вычитание.
  3. Операторы с одинаковым приоритетом выполняются слева направо.

                         7

Так, в примере выше, сначала выполняется действие в скобках (5-4=1), потом первое умножение (100*1=100), затем второе умножение (38*2=76), сложение (100+26=126), и в конце вычитание (126-76=50).

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

Так, в ячейку D3 была введена формула D1+D2. В результате сложились числа,стоящие в ячейках D1(4) и D2(6) и полученный результат – 10 был записан в ячейку D3.

Для складывания нескольких ячеек используется функция СУММ. Для суммирования трех чисел формула запишется следующим образом

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

Истинное значение функции СУММ раскрывается, когда необходимо сложить большое количество ячеек в Excel. В примере ниже требуется просуммировать 12 значений. Функция СУММ позволяет сделать это несколькими щелчками мышью, если же использовать оператор сложения, то провозиться придется долго.

8

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

9

Этапы разработки и исследования моделей

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

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

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

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

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

1) построение алгоритма решения задачи и его кодирование на одном из языков программирования;

2) построение компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД и пр.).

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

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

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

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

10

Исследование физических моделей в электронных таблицах:

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

Задача: В процессе тренировке теннисистов используются автоматы по бросания мячика в определенное место площадки. Необходимо задать автомату необходимую скорость и угол бросания мячика для попадания в мишень определенного размера, находящуюся на известном расстоянии.

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

  • Мячик мал по сравнению с Землей, поэтому его можно считать материальной точкой;
  • Изменение высоты мячика мало, поэтому ускорение свободного падения можно считать постоянной величиной g= 9,8 мс и движение по оси ОУ можно считать равноускоренным;
  • Скорость бросания тела мала, поэтому сопротивлением воздуха можно пренебречь и движение по оси ОХ можно считать равномерным

Формальная модель: Для формализации модели используем известные из курса физики формулы равномерного и равноускоренного движения. При заданных начальной скорости v0 и угле бросания aзначения координат дальности полета х и высоты у от времени можно записать следующими формулами:

X=v0*cos*t;

Y=v0*sinα*t – g*t²/2

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

t = s/(v0*cos2α)

Представляем это значение для tв формулу для у. Получаем l – высоту мячика над землей на расстоянии s:

l = s*tgα – g*s²/(2*v0²*cosα²)

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

0≤l ≤ h

Если l<0, то это означает «недолет», а если l>h, то это означает «перелет».

Создание модели:

  1. Для ввода начальной скорости будем использовать ячейку В1, а для ввода угла – ячейку В2
  2. Введем в ячейки А5:А18 значения времени с интервалом в 0,2 с.
  3. В ячейки В5 и С5 введем формулы:

11

=$B$1*cos(Радианы($B$2))*А5

=$B$1*sin(РАДИАНЫ($B$2))*A5-4,9*A5*A5

  1. Скопируем формулы в ячейки В6:В18 и С6:С18 соответственно.

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

  1. Построить диаграмму типа График, в которой используется в качестве категории диапазон ячеек В5:В18, а в качестве значений – диапазон ячеек С5:С18.

Исследование модели: Исследуем модель и определим с заданной точностью 0,1 диапазон изменений угла, который обеспечивает попадание в мишень, находящуюся на расстоянии 30 м и имеющую высоту 1 м, при заданной начальной скорости 18 м/с. Воспользуемся для этого методом Подбор параметра.

  1. Установить для ячеек точность один знак после запятой

12

  1. Ввести в ячейки B21, B22 и В23 значения расстояния до мишени S = 30 м, начальной скорости Vо = 18 м/с и угла α= 35⁰, а в ячейку В25 – формулу для вычисления высоты мячика над поверхностью для заданных условий:

=B21*TAN(РАДИАНЫ(B23))-(9,81*B21^2)/(2*B22^2*COS(РАДИАНЫ(B23))^2)

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

  1. Выделить ячейку В25 и ввести команду [Сервис-Подбор параметра…]. На появившейся диалоговой панели ввести в поле Значение: наименьшую высоту попадания в мишень ( то есть 0). В поле Изменяя значение ячейки: ввести адрес ячейки, содержащей значение угла (в данном случае $B$23).

  1. В ячейке В23 появится значение 32,6. Повторить процедуру подбора параметра для максимальной высоты попадания в мишень – в ячейке В23 получим значение 36,1.

Таким образом, исследование компьютерной модели в электронных таблицах показало, что существует диапазон значений для угла бросания от 32,6 до 36,1⁰, который обеспечивает попадание в мишень высотой 1 м, находящуюся на расстоянии 30 м, мячиком брошенным со скоростью 18 м/с.

13

Исследование биологической модели развития популяций

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

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

X(n+1) = a * x(n)

Например, если ежегодный прирост численности популяции составляет 5%, то а = 1,05. В модели ограниченного роста учитывается эффект перенаселенности, связанный с нехваткой питания, болезнями и так далее, который замедляет рост популяции с увеличением ее численности. Введем коэффициент перенаселенности b, значение которого обычно существенно меньше а (b<<а). Тогда коэффициент ежегодного увеличения численности равен (а — b*х(n)) и формула принимает вид:

X(n+1) = (a – b * x(n)) * x(n)

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

X(n+1) = (a – b * x(n)) * x(n) — c

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

X(n+1) = (a – b * x(n)) * x(n) – c – f* x(n) * y(n)

Численность популяции хищников в отсутствие жертв (в связи с отсутствием пищи) уменьшается, что можно описать рекуррентной формулой

Y(n+1) = d* y(n)

где значение коэффициента d < 1 характеризует скорость уменьшения численности популяции хищников. Увеличение популяции хищников можно считать пропорциональной произведению собственно количеств жертв и хищников, а коэффициент е характеризует величину роста численности хищников за счет жертв. Тогда для численности хищников можно использовать

14

формулу:

y(n+1) = d*y(n) + e*x(n)*y(n)

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

  1. В ячейки В1 и В6 внести начальные значения численности популяций жертв и хищников.

В ячейки В2:В5 внести значения коэффициентов a, b, cи f, влияющих на изменение численности жертв.

В ячейки В7 и В8 внести значения коэффициентов dи е, влияющих на изменение численности хищников

В столбце Dбудем вычислять численность популяции в соответствии с моделью неограниченного роста, в столбце Е – ограниченного роста, в столбце F–ограниченного роста с отловом, в столбцах Gи H–«хищник-жертва».

  1. В ячейки D1, E1, F1 и G1 внести значения начальной численности популяций жертв, в ячейку Н1 – хищников.

В ячейку D2 внести рекуррентную формулу неограниченного роста =$B$2*D1

В ячейку Е2 внести рекуррентную формулу неограниченного роста =($B$2-$B$3*E1)*E1

В ячейку F2 внести рекуррентную формулу ограниченного роста с отловом =($B$2-$B$3*F1)*F1-$B$4

В ячейку G2 внести рекуррентную формулу изменения количества жертв =($B$2-$B$3*G1)*G1-$B$4-$B$5*G1*H1

В ячейку Н2 внести рекуррентную формулу изменения количества хищников =$B$7*H1+$B$8*G1*H1

  1. Скопировать внесенные формулы в ячейки столбцов командой [Правка-Заполнить-Вниз].

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

15

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

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

16

Оптимизационное моделирование в экономике

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

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

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

К = F(X1,X2,…,Xn),

где К — значение целевого параметра; X1,X2,…,Xn — параметры, влияющие на развитие системы.

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

 Однако часто целевая функция линейна и, соответственно, экстремумов не имеет. Задача поиска оптимального режима при линейной зависимости приобретает смысл только при наличии определенных ограничений на параметры. Если ограничения на параметры (система неравенств) также имеют линейный характер, то такие задачи являются задачами линейного программирования. (Термин «линейное программирование» в имитационном моделировании понимается как поиск экстремумов линейной функции, на которую наложены ограничения.) Рассмотрим в качестве примера экономического моделирования поиск вариантов оптимального раскроя листов материала на заготовки определенного размера.

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

Тип Заготовки

1 способ раскроя

2 способ раскроя

3 способ раскроя

А

10

3

8

Б

3

6

4

Необходимо выбрать оптимальное сочетание способов раскроя, для того чтобы получить 500 заготовок первого типа и 300 заготовок второго типа при расходовании наименьшего количества листов материала.

Формальная модель. Параметрами, значения которых требуется определить, являются количества листов материала, которые будут раскроены различными способами:

Х1 — количество листов, раскроенное способом 1;

Х2 — количество листов, раскроенное способом 2;

Х3 — количество листов, раскроенное способом 3.

Тогда целевая функция, значением которой является количество листов материала, примет вид:

17

F = Х1+ Х2 + Х3.

Ограничения определяются значениями требуемых количеств заготовок типа А и Б, тогда с учетом количеств заготовок, получаемых различными способами, должны выполняться два равенства: 10Х1+ ЗХ2 + 8Х3 = 500;

ЗХ1 + 6Х2 + 4Х3 = 300.

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

X1>= 0; Х2>= 0; Х3 >= 0.

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

Оптимизационное моделирование

  1. Ячейки В2, С2 и D2 выделить для значений параметров Х1, Х2 и Х3.

В ячейку В4 ввести формулу для вычисления целевой функции:

=В2+С2+D2

В ячейку В7 ввести формулу вычисления количества заготовок типа А:

=10*B2+3*C2+8*D2.

В ячейку В8 ввести формулу вычислений количества заготовок типа Б:

=3*B2+6*C2+4*D2

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

  1. На вкладке Данные нажмите кнопку Поиск решения.
  2. На появившейся диалоговой панели Поиск решения установить:
  • Адрес целевой ячейки
  • Вариант оптимизации значения целевой ячейки (максимизация, минимизация или подбор значения)
  • Адреса ячеек, значения которых изменяются в процессе поиска решения ( в которых хранятся значения параметров)

18

  • Ограничения (типа «=» для ячеек, хранящих количество деталей, и типа «≥» для параметров).

  • Щелкнуть по кнопке Выполнить. В ячейке целевой функции появится значение 69,4, а в ячейках параметров значения 0,11,58.

Таким образом, для изготовления 500 деталей А и 300 деталей Б требуется 71 лист материала, при этом 12 листов нужно раскроить по второму, а 59 по третьему способу.

19

Заключение

Моделирование глубоко проникает в теоретическое мышление. Более того, развитие любой науки в целом можно трактовать — в весьма общем, но вполне разумном смысле, — как «теоретическое моделирование». Важная познавательная функция моделирования состоит в том, чтобы служить импульсом, источником новых теорий. Нередко бывает так, что теория первоначально возникает в виде модели, дающей приближённое, упрощённое объяснение явления, и выступает как первичная рабочая гипотеза, которая может перерасти в «предтеорию» — предшественницу развитой теории. При этом в процессе моделирования возникают новые идеи и формы эксперимента, происходит открытие ранее неизвестных фактов. Такое «переплетение» теоретического и экспериментального моделирования особенно характерно для развития физических теорий.

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

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

20

Список использованной литературы

  1. Н. Угринович «Информатика и информационные технологии»
  2. Н. Угринович «Информатика и ИКТ»
  3. http://on-line-teaching.com/excel/lsn003.html
  4. http://www.excel-office.ru/formulivexcel/formulivexcel

21

Понравилась статья? Поделить с друзьями:
  • Графическое меню в word
  • Графическое изображение отпусков в excel
  • Графическими редакторами являются следующие программы excel supercalc coreldraw pascal
  • Графический шрифт для word
  • Графический тест по excel