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

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

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

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

Процесс создания программного обеспечения можно разбить на следующие этапы:

-составление технического задания на разработку пакета программ программного обеспечения;

-проектирование структуры программного комплекса;

Математическая модель в программировании(часть 1)

-тестирование и отладка;

-эксплуатация и сопровождение.

Техническое задание на разработку программного обеспечения

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

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

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

3. Управление режимами работы программы – формируются основные требования к способу взаимодействия с программой (интерфейс «пользователь-компьютер»).

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

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

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

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

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

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

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

Для начертания перечисленных схем используется набор символов, определяемых ГОСТ «Единая система программной документации. Схемы алгоритмов и программ. Обозначения условные графические».

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

Подэтапы, выполняемые при алгоритмизации модели системы и её компьютерной реализации:

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

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

— описание всех блоков модели с их наименованиями;

— единую систему обозначений и нумерацию блоков;

— отражение логики модели процесса функционирования системы;

— задание математических соотношений в явном виде.

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

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

Читайте также:
Лучшие программы для win xp

— возможность решения поставленной задачи;

— точность отражения замысла в логической схеме;

— полнота логической схемы модели;

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

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

4. Выбор вычислительных средств для моделирования. Необходимо окончательно решить вопрос о том, какие вычислительные средства целесообразно использовать для реализации модели системы.

5. Составление плана выполнения работ по программированию. Такой план должен помочь при программировании модели, учитывая оценки объёма программы и трудозатраты на её составление.

План должен включать:

— выбор языка (системы) программирования модели;

— указание типа ЭВМ и необходимых для моделирования устройств;

— оценку примерного объёма необходимой памяти;

— ориентировочные затраты машинного времени на моделирование;

— предполагаемые затраты времени на программирование и отладку программы.

6. Построение схемы программы.

Схема программы должна отражать:

— разбиение модели на блоки;

— особенности программирования модели;

— проведение необходимых изменений;

— возможность тестирования программы;

— оценку затрат машинного времени;

— форму представления входных и выходных данных.

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

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

9. Проверка достоверности программы:

— обратным переводом программы в исходную схему;

— проверкой отдельных частей программы при решении различных тестовых задач;

— объединением всех частей программы и проверкой её в целом на контрольном примере моделирования варианта системы.

Необходимо также проверить оценки затрат машинного времени на моделирование.

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

— логическую схему модели и её описание;

— адекватную схему программы и принятые обозначения;

— полный текст программы;

— перечень входных и выходных величин с пояснениями;

— инструкцию по работе с программой;

— оценку затрат машинного времени на моделирование с указанием требуемых ресурсов ЭВМ.

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

Источник: studfile.net

Реализация математической модели в виде программы для ЭВМ

Тема 2. Пакеты прикладных программ

1. Реализация математической модели в виде программы для ЭВМ

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

2.

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

3.

Что же такое математическая модель?
Математическая модель — приближенное
описание объекта моделирования,
выраженное с помощью специальной
математической символики.
Далее мы рассмотрим поэтапную схему
компьютерного математического
моделирования

4.

Общая схема компьютерного математического
моделирования представлена ниже:

5.

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

6.

Инструменты для математического моделирования на ЭВМ:
• В первую очередь, инструментом служит сама ЭВМ, а
также программное обеспечение, созданное для этих
целей.
Компьютерная реализация моделей может быть
осуществлена:
• с помощью табличного процессора (как правило, MS
Excel);
• путем создания программ на традиционных языках
программирования (Паскаль, Бейсик и др.), а также на их
современных версиях (Delphi, Visual Basic for Application
и т.п.);
• с помощью специальных пакетов прикладных программ
для решения математических задач (MathCAD и т.п.).

Читайте также:
Требования к содержанию программ для обучения шестилетних детей

7.

Выбор программного обеспечения
Для расчетов подойдет любой простой инструмент из
класса электронных таблиц: Gnumeric или
OpenOffice.org Calc. Это электронные таблицы, они
созданы в первую очередь для решения элементарных
задач, с более сложными они могут не справится. В
более сложной ситуации с большим объемом работ
рекомендуется Pascal, C и его разновидности, Python и
прочие. Существует целый класс математических
пакетов, которые позволяют проводить вычисления
самой разной трудности, однако за счет встроенных
команд и библиотек и являются достаточно простыми в
освоении. Из бесплатного ПО можно выделить: Octave,
SciLab, Maxima. Причем, все они являются
кроссплатформенными, то есть существуют их версии
для разных операционных систем.

8.

Реализация математической модели на компьютере
Процесс создания программного обеспечения
(программы) тоже можно разбить на ряд этапов:
• разработка технического задания на создание
программного обеспечения;
• проектирование структуры программного комплекса;
• кодирование алгоритма;
• тестирование и отладка;
• сопровождение и эксплуатация.

9.

10.

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

11.

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

12.

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

13.

Таким образом, работа с имитационной системой представляет собой эксперимент,
осуществляемый на ЭВМ. В чем же заключаются преимущества?
Большая близость к реальной системе, чем у математических моделей;
Блочный принцип дает возможность верифицировать каждый блок до его
включения в общую систему;
Использование зависимостей более сложного характера, не описываемых
простыми математическими соотношениями.
Перечисленные достоинства определяют недостатки:
Построить имитационную модель дольше, труднее и дороже;
Для работы с имитационной системой необходимо наличие подходящей по классу
ЭВМ;
Взаимодействие пользователя и имитационной модели (интерфейс) должно быть
не слишком сложным, удобным и хорошо известным;
Построение имитационной модели требует более глубокого изучения реального
процесса, нежели математическое моделирование.

Источник: ppt-online.org

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

Для того чтобы исследовать модель с помощью компьютера, нужно записать её на каком-то формальном языке. Условия многих задач точнее всего записываются с помощью языка математики — в виде формул. Такие модели называются математическими.

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

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

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

• заданы все связи между исходными данными и результатом;
• известны все исходные данные;
• решение существует;
• решение единственно.

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

Читайте также:
На какой диск ставить программы ssd или hdd

• найти любое решение, если оно существует;
• найти все решения в некоторой области (например, все решения уравнения на отрезке [0,1]);
• найти всё множество решений (например, для уравнения sin х = 1).

Приведём примеры плохо поставленных (некорректных) задач.

Задача 1. Уроки в школе начинаются в 8-30. В 10-00 к школе подъехал красный автомобиль. Определите, когда Шурик выйдет играть в футбол.

Задача 2. Мальчик Вася в синей кепке бросает белый мяч со скоростью 12 м/с. Через какое время мяч впервые ударится о земную поверхность?

Задача 3. Решите уравнение sinx = 4.

Задача 4. Найдите функцию, график которой проходит через точки (0, 0) и (1, 1).

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

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

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

Она плохо поставлена, потому что неизвестно, из какой точки и под каким углом брошен мяч. Дополним условие, чтобы сделать задачу корректной, например, так: Вася бросает мяч вертикально вверх. В момент броска мяч находится на высоте 1,5 м.

Всегда ли существует решение задачи 2? Да, всегда. По закону всемирного тяготения мяч притягивается к земной поверхности и когда-нибудь упадёт на поверхность.

Единственно ли решение? Да, в этой задаче решение единственно.

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

На этапе разработки математической модели нужно:

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

Какие данные в формулировке задачи 2, на ваш взгляд, существенные, а какие — нет?

Введём некоторые допущения:

• мяч — материальная точка (его размеры малы в сравнении с высотой полета);
• сопротивление воздуха не учитывается.

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

Рис. 3.1За начало координат удобно принять точку, отсуда вылетает мяч. Обозначим через и v0 начальную скорость мяча, через h0 — начальную высоту мяча h0 = 1,5 м) — это исходные данные. Нужный результат — это время полёта мяча tn (рис. 3.2).

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

Рис. 3.2

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

Координата y при движении тела, брошенного вертикально вверх, вычисляется по формуле:

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

где g ? 9,81 м/с 2 — ускорение свободного падения. Эта формула и представляет собой математическую модель задачи. В ней нет упоминания о Васе, мяче, и т. п., есть только условные обозначения. Мы выполнили формализацию — построили формальную модель на языке математических формул.

По условию задачи нужно найти время tn, при котором мяч упадёт на земную поверхность. Запишите условие «мяч упадёт на землю» в виде формулы и затем запишите уравнение, которое нужно решить.

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

После построения модели её обязательно нужно протестировать (проверить).

Тестирование — это проверка модели на наборе исходных данных с известным результатом.

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

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

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

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

Используя эту модель, определите:

а) чему равна координата у мяча при t = О?
б) станет ли в какой-то момент координата у равной нулю? Почему?
в) что произойдёт при нулевой начальной скорости?

Все результаты не противоречат теории, поэтому можно считать, что тестирование успешно.

Можно ли считать, что мы доказали правильность модели? Почему?

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

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

Выполните тестирование модели по тем же критериям, сделайте выводы.

У Марии для той же задачи получилась ещё одна модель:

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

Выполните тестирование модели по тем же критериям, сделайте выводы.

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

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru