В системе Matlab для численного интегрирования обыкновенных дифференциальных
уравнений (ОДУ) имеются встроенные функции ode23 и ode45.
Поэтому непрерывная модель представляется как система дифференциальных
уравнений 1-го порядка в явной форме Коши
где - вектор состояний, - время, - вектор-функция.
При моделировании сложных динамических систем решение ОДУ в этой форме
приводит к построению неустойчивых разностных схем. Для устранения этого
недостатка можно использовать разложение передаточной функции системы
(подсистемы) на простые дроби
где - вектор-столбец вычетов, - вектор-столбец полюсов,
- комплексная переменная. Однако разложение функции на простые дроби
плохо обусловлено. Если полином знаменателя имеет корни близкие к кратным,
то малые возмущения данных, как правило, приводят к большим погрешностям
вычисления полюсов и вычетов [Потемкин В. Г., 1997].
В данной работе предлагается метод построения дискретных моделей основанный
на представлении функции в следующем виде
| (1) |
где - вектор-столбец нулей. Осуществить представление (1) можно с
использованием функции roots(p), где p - вектор-строка коэффициентов
полинома a(s) и . При значениях система уравнений
состояния и уравнение наблюдения представляются следующим образом:
| (2) |
| (3) |
где
Ориентированный граф решения системы уравнений (2), (3) в аналоговой форме
приведен на рис. 1. При построении графа предполагается, что каждой вершине
графа, помеченной переменной состояния
соответствует операция интегрирования [Макарычев П. П., 1988].
| Рис. 1. Граф решения в аналоговой форме |
При первое уравнение системы (2) имеет решение
Следовательно, если принять шаг дискретизации то разностную
схему, для первого уравнения системы (2), можно записать в виде:
| (4) |
где - полюс дискретной передаточной
функции - сокращенная форма записи моментов времени Аналогично строятся разностные схемы для второго и третьего
уравнений состояния системы (2)
| (5) |
где - второй и третий полюса,
В соответствие с уравнениями (4), (5) разностная схема для уравнения
наблюдения имеет вид
| (6) |
Граф решения уравнений (4), (5), (6) приведен на рис. 2. При построении
графа предполагается, что каждой вершине графа, помеченной переменной
состояния соответствует операция
суммирования и операция задержки на время [Макарычев П. П., 1988]. Анализируя рис. 2
несложно убедиться, что дискретная модель динамической системы сохраняет
структурное подобие с непрерывной моделью, а полюса передаточной функции подобраны в соответствие с полюсами
передаточной функции
| Рис. 2. Граф решения в дискретной форме |
Исследование устойчивости разностных схем, построенных по предлагаемому
методу, показывает, что они обладают абсолютной устойчивостью (устойчивы при
всех ).
Для нахождения начальных значений переменных состояния дискретной модели на
основе (2), (3) можно построить следующую линейную систему алгебраических
уравнений:
| (7) |
где - начальные значения для исходного дифференциального уравнения. Решением
системы (7) являются начальные значения переменных состояния
В случае комплексно-сопряженных корней представление исходного
дифференциального уравнения системой уравнений (2), (3) приводит к
вычислениям с переменными комплексного типа. Чтобы исключить операции с
комплексными переменными следует осуществить дополнительные преобразования
дискретной модели. Пусть
Уравнения (5) в z- изображении имеют вид
| (7) |
Подставив первое уравнение системы (7) во второе, получим уравнение,
описывающее зависимость переменных состояния в следующем
виде:
или
Отсюда следует, что при исключении переменной состояния из
описания дискретной модели коэффициенты при переменной состояния
могут быть только вещественного типа:
Следовательно, при решении системы уравнений состояния дискретной модели все
вычисления будут производиться только с переменными вещественного типа, что
значительно снизит затраты времени при моделировании динамических систем
большой размерности.
На рис. 3 приведены графики решения дифференциального уравнения третьего
порядка при следующих значениях нулей и полюсов: График аналитического решения изображен непрерывной линией. График
численного решения изображен штриховой линией и искусственно смещен вверх.
График погрешности численного решения изображен штрих пунктирной линией c
увеличением по оси ординат в 100 раз. Из рисунка видно, что относительная
погрешность численного решения уравнения не превышает 1%.
| Рис. 3. Графики решения дифференциального уравнения |
Обсуждаемый метод построения дискретных моделей использовался автором при
моделировании структурированных многокомпонентных линейных и нелинейных
динамических систем с явно выделенными обратными связями. Использовался
метод и для построения моделей динамических систем при нерегулярном шаге
дискретизации.
- Потемкин В. Г. Система Matlab. Справочное пособие. - М.: ДИАЛОГ-МИФИ, 1997. - 350 с.
- Макарычев П. П. Моделирование непрерывных и дискретных динамических систем. Учебное пособие. - Пенза: Пенз. политехн. ин-т, 1988. - 78 с.
Написать комментарий
|