Коррекция точек стыковки

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

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

 

Р £ 0,

 

где Р - это критерий переключения;

Пусть на к - ом шаге интегрирования Рк > 0, а на к +1 - ом шаге Рк < 0. В этом случае очевидно, что точный момент переключения находится между рассматриваемыми моментами времени tк и tк+1:

 

tк = k × h (3.1.)

tк+1 = (k + 1) × h (3.2.)

 

где h - это шаг интегрирования.

Предположим, что параметр Р изменяется линейно (рис.3.1), из подобия треугольников находим:

 

t* = tк + mh (3.3.)

где (3.4.)

 

m - коэффициент деления шага интегрирования.

Аналогично должны быть уменьшены приращения, полученные всеми переменными состояния на к+1 - ом шаге интегрирования:


График определения момента переключения.

 

     
 
Рис. 3.1.



 (3.5.)


 - значение i - ой переменной состояния в момент времени tк;

DXi - приращение i - ой переменной состояния на k+1 - ом шаге интегрирования;

 - точное значение i - ой переменной состояния в момент переключения.

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

 








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



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