Система уравнений

Top  Previous  Next

С каждым непрерывным классом (см. "Стереотип класса") связана система уравнений, описывающая поведение экземпляров этого класса.

 

Система уравнений может включать в себя:

уравнения;

указание искомых переменных;

указание известных переменных;

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

 

Каждое уравнение системы уравнений задаётся в свободной форме в виде:

 

<выражение 1> = <выражение 2>

где <выражение 1> и <выражение 2> – это выражения, которые могут содержать стандартные операции, видимые в классе переменные (см. раздел "Переменные"), параметры (см. раздел "Параметры"), константы (см. раздел "Константы"), функции (см. раздел "Функции и процедуры"), а также первые и вторые производные переменных по времени, при этом, если x – это переменная, то её первая производная по времени в уравнении записывается с помощью соответствующей кнопки текстового редактора как12-equats1, а вторая – как 13-equats2 (см. раздел "Текстовый редактор").

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

 

AnyDynamics не требует приведения пользователем системц уравнений к какому-то "каноническомц" виду, это автоматически делает анализатор уравнений.

На рис.1 приведен пример системы урвнений для демо-примера "Pend2". Здесь прямо записаны уравнения Лагранжа для данной механической системы.

 

УравнЛагранжа

                                         Рис.1

 

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

Искомыми  могут являться:

скалярные переменные типа double;

векторы фиксированной и переменной размерности;

компоненты записей и коннекторов типа double;

элементы массивов типа double.

 

Скалярные переменные и компоненты записей или коннекторов типа integer могут являться искомыми только в том случае, если они стоят в левой части формулы, например, k = round(y).

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

 

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

 

Искомые переменные могут быть указаны пользователм явно:

 

 unknown <имя переменной 1>, ..., <имя переменной N>

 

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

 

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

Это еще не значит, что она численно разрешима. Например, система уравнений

 x + y = 1
 x - y = 0

формально и численно разрешима (x = y = 0.5), а система уравнений

 x + y = 0

 y + x = 0

формально разрешима, но структурно вырождена.

 

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

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

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

 

Известные переменные – это переменные, которые участвуют в системе, но не являются искомыми.
Извествные переменные могут быть указаны пользователм явно:

 

 known <имя переменной 1>, ..., <имя переменной N>

 

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

 

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