Смекни!
smekni.com

Исследование методов автоматизированного проектирования динамических систем (стр. 5 из 25)

.(2.1).

Формула (7) описывает метод Эйлера. Этот метод имеет 1-й порядок точности.

Исправленный метод Эйлера.

Возьмём значение правой части в схеме (2.1) равным среднему арифметическому между

и
, то есть

.

будем считать по формуле (2.1):

.

Подставляя это значение в формулу для

получим:

(2.2)

Метод имеет 2 – й порядок точности.

Метод Рунге – Кутта.

Метод описывается системой пяти соотношений:

где


Метод имеет 4-й порядок точности.

Вышеописанные методы являются методами с постоянным шагом, кроме этих методов существует ряд методов с переменным шагом: методы с автоматическим шагом и методы прогноза и коррекции [36]. К первым относятся: выбор шага на основе оценки ошибки и выбор шага на основе сохранения точности и устойчивости. К методам прогноза и коррекции относится метод трапеций, метод Адамса, метод Милна.

Выбор шага на основе оценки погрешности.

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

соответственно точное решение уравнения и приближенные решения вычисленные в точке xi с шагом h и h/2. Тогда для ошибки метода интегрирования р – го порядка справедлива оценка:

(2.3)

Выбор шага на основе сохранения точности и устойчивости.

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

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

(2.4)

где

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

При этом допустима ошибка аппроксимации

на один шаг интегрирования обычно полагается равною не больше 1% максимально возможного абсолютного значения ymax в ходе расчёта, то есть
.

2.2 Разработка логической структуры ПМК

Наш программный комплекс будет проектироваться как комплекс двух программ. Задача первого – обеспечить ввод от пользователя информации о моделируемой системе в виде графа, записи её на диск. Задача второго считать информацию с диска построить по этим данным систему и промоделировать её работу. По результатам моделирования необходимо построить графики, выдать отчёты и т. д. Разработку логической структуры будем производить с помощью языка UML (Unified Modeling Language).

UML – Унифицированный язык моделирования, язык визуального моделирования для решения задач общего характера, который используется при определении, визуализации, конструировании и документировании артефактов программной системы. UML состоит из четырёх частей, описывающих различные аспекты системы: статические, динамические, организационные и относящиеся к окружению [37].

Разработку логической структуры начнём с представления использования, диаграмма, иллюстрирующая это представление – диаграмма использования. Представление использования описывает поведение системы с точки зрения пользователя. Деятельность разбивается на транзакции, которые называются вариантами использования (use cases). Вариант использования описывает взаимодействие системы с одним или несколькими действующими лицами (actors), в виде последовательности сообщений [38]. В понятие действующее лицо входят люди, компьютерные системы и процессы. Актёр – это идеализированная внешняя сущность, вступающая во взаимодействие с системой, подсистемой, или классом. Каждый актёр вступает во взаимодействие с одним или несколькими вариантами использования. Вариантом использования называется блок внешне наблюдаемой деятельности системы. Вариант использования описывает некоторую часть поведения системы, не вдаваясь при этом в особенности её внутренней структуры. В нашей модели выделим одного актёра – «Пользователь». Актёр взаимодействует с двумя системами: «Графический редактор» и «Расчёт колебательной системы». Разработанная диаграмма использования представлена на рисунке 2.4.



Рисунок 2.4 – диаграмма использования


Описание взаимодействий пользователя с системой «графический редактор»:

«Открыть проект» - загрузка с диска ранее сохранённого проекта

«Редактирование проекта» - редактирование проекта, включает следующие взаимодействия: «Добавить массу» - создаёт в проекте ещё одну массу, «добавить связь» - создание связи, «Удалить элементы» - удаляет элементы из проекта, «Копирование» - копирует и добавляет в систему элементы.

«Сохранение» - сохранение проекта.

«Справка» - справочной информации по системе.

Описание взаимодействий пользователя с системой «расчёт колебательных систем»:

«Загрузить модель» - загружает модель с диска.

«Редактировать модель» - редактирование модели.

«Визуализация» - расчёт модели, визуализация работы модели, вывод графиков.

«Установить параметры моделирования» - Установить параметры моделирования.

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

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

Статическое представление – основа языка UML [37]. Статическое представление модели отражает структуру объектов. В статическое представление входит всё, что касается традиционных структур данных, а так же операции с этими данными. И операции и данные разбиваются на классы. Статическое представление описывает сущности обладающие поведением, в виде отдельных элементов модели, но при этом не представляет информацию о динамическом поведении этих сущностей. Статическое представление описывается диаграммами классов и объектов.

Разработка диаграммы классов для графического редактора.

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


ShowWindow() SetParam() GetParam()
ShowWindow()
“Usage”

Рисунок 2.5 – диаграмма классов для графического редактора