Простой математический маятник

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

 

В данной работе делается попытка проиллюстрировать основные понятия моделирования сложных динамических систем на специально подобранных характерных примерах. Сначала рассматриваются модели изолированных систем и все внимание концентрируется на описании поведения. Последовательно обсуждаются модели непрерывных, дискретных и непрерывно-дискретных – гибридных - систем. Затем рассматриваются компонентные модели, состоящие из отдельных блоков. Одновременно «исподволь» развивается идея объектно-ориентированного моделирования.

 

Модели изолированных систем.

 

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

.

Модели математического маятника.

 

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

Простой математический маятник.

 

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

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

 

Рис 1

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

Динамика маятника определяется двумя дифференциальными уравнениями (1).

 

(1) , где

 

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

Однако, для анимации движения маятника потребуются дополнительные переменные – координаты и материальной точки, задаваемые двумя формулами (1a)

(1a)

 

На Рис 2б показана траектория движения маятника в координатах . Зависимости показаны на Рис 2а. Моделируемая система совершает незатухающие колебания. На Рис 2в показана фазовая траектория маятника в системе координат .

 

а)

.

б) в)

Рис 2

Совокупность переменных, определяющих состояние динамической (то есть изменяющейся во времени) системы, называют фазовым вектором, а область его изменения – фазовым пространством. Набор начальных значений определяет начальную точку, соответствующую моменту времени . При изменении конец фазовый вектор определяет последовательность точек, называемую фазовой траекторией. Фазовое пространство с дополнительной координатой – временем – называют расширенным фазовым пространством. Графики, показанные на Рис 2, являются различными двумерными проекциями траектории системы в расширенном фазовом пространстве.

 

Объектный подход.

Функционирование маятника определяется совокупностью системы уравнений (1) и определений параметров и переменных . Однако, это описание задает не один какой-то конкретный маятник, а любой, совершенно произвольный, то есть задает целый класс маятников. Любой конкретный маятник является экземпляром класса «Маятник». Ничто не мешает вам построить модель, включающую, скажем, три маятника. Описание их будет совершенно одинаковым, однако, значения переменных в какой-то момент могут быть разными в зависимости от конкретных значений параметров .

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

Различают объекты пассивные и активные. Пассивные объекты (большая часть объектов в программах) только «откликаются» на вызовы методов и сообщений извне, но сами ничего не делают, т.е. не могут изменять значения своих данных по собственной инициативе. Активные объекты (например, экземпляры класса Thread в языке Java) имеют свою собственную «нить управления» и функционируют независимо от других объектов и параллельно с ними. В UML предлагается задавать функционирование активного объекта с помощью карты состояний, в которой узлам соответствуют некоторые деятельности, протяженные во времени, а переходам — мгновенные реакции на внешние и внутренние события. Динамическая система безусловно является активным объектом, но особым объектом, поскольку они изменяют значения своих переменных непрерывно, в то время как в UML деятельность все же предполагает наличие потока управления, который выполняет некоторую последовательность действий (скорее всего циклическую) параллельно и независимо от других потоков. Будем называть такие объекты активными динамическими.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: