
- •Алгоритмы и программные средства для решения задач моделирования и идентификации динамических систем на пэвм
- •Математическое моделирование динамических систем в среде windows на алгоритмическом языке turbo-basiс
- •Программа fbndiv.Bas. Решение дифференциальных уравнений в форме Коши методом Рунге-Кутта (язык turbo-basic)
- •Моделирование дс методом понижения порядка производной в среде проблемно ориентированных пакетов прикладных программ.
- •Программная система мik
- •Общие сведения о программном комплексе «мвту»
- •1.6 Программная система matlab
- •Расширения ппп matlab для идентификации динамических объектов и систем
- •Расширения ппп matlab для исследования электротехнических объектов и систем
- •Основные особенности
Моделирование дс методом понижения порядка производной в среде проблемно ориентированных пакетов прикладных программ.
Основу метода структурного представления ДС составляют вычислительные системы, реализующие аппаратно или программно элементарные математические функции. Предположим, что у нас есть система, имеющая функциональные блоки, выполняющие математические операции, например:
интегрирующий блок - "I":
Y(t) = X(t) dt, (1.9)
блок суммирования - "+":
Y(t) = X1(t) + X2(t) + X3(t) ..., (1.10)
блок масштабирования - "G":
Y(t) = k X1(t), (1.11)
блок инвертирования - "-":
Y(t) = -X(t), (1.12)
блок введения постоянного входного воздействия - "K":
Y(t) =
,
(1.13)
блок умножения - "X":
Y(t) = X1(t) * X2(t), (1.14)
блок деления - "/":
Y(t) = X1(t)/X2(t). (1.15)
Рассмотрим метод решения линейных дифференциальных уравнений с помощью вычислительной системы, позволяющей реализовывать функции (1.9)-(1.15).
ДС описывается дифференциальным уравнением
(1.16)
y(0) = y'(0) = y''(0), f(t) = 1(t)K1. (1.17)
Решение дифференциального уравнения (1.16) методом понижения порядка производной заключается в выполнении следующих действий.
1. Уравнение (1.16) приводится к нормальному виду
(1.18)
2. Предполагаем, что можно получить сумму, равную правой части уравнения (1.18) — (d3y(t)/dt3). Тогда, интегрируя ее n раз (в данном случае n=3), мы получим искомую координату y(t), а также ее производные y'(t), y''(t).
Сумму, равную (d3y(t)/dt3), получают как линейную комбинацию y''(t), y'(t), y(t) и входного сигнала f(t). С учетом обозначений функциональных блоков (1.9)-(1.15) схема вычисления y(t) примет вид, изображенный на рисунке 1.1.
Рассмотренная методика нашла применение при исследовании ДС как на АВМ, так и на ЭВМ в проблемно ориентированных пакетах прикладных программ типа MACC, MIK , MATLAB.
Обозначения функциональных блоков в (1.9)-(1.15) соответствуют принятым в ППП MACC, а схема решения задачи моделирования дифференциального уравнения методом понижения порядка производной приведена на рисунке 1.1.
p1=b1/A0
(B1/A)f(t) f(t) p1=k1
=d3y(t)/dt3 d2y/dt2 dy/dt y(t)
-A2/A0)d2y/dt2 p 1=A1/A0
-(A2/A0)dy/dt p1=A2/A0
-(A3/A0)y(t) p1=A3/A0
Рисунок 1.1 — Схема решения дифференциального уравнения
методом понижения порядка производной
Программная система мik
Программный комплекс МIК-система автоматизированного синтеза программ для имитационного моделирования электроприводов предназначен для решения следующих задач:
автоматизированного построения прямых вычислительных моделей непрерывно-дискретных динамических систем, в том числе и с микропроцессорным управлением;
автоматизированного проведения вычислительных экспериментов на указанных выше моделях;
анализа и отладки алгоритмов цифрового управления с адекватным учетом эффектов квантования по времени и уровню, логики управляющего алгоритма, величины разрядной сетки УВМ и запаздывания в выдаче управляющих воздействий.
Взаимодействие пользователя с ЭВМ осуществляется с помощью проблемно ориентированных языков описания блочных и структурных моделей динамических систем, а также непроцедурного языка кодирования алгоритмов цифрового и микропроцессорного управления. При описании объекта на языке блочных схем осуществляется автоматическое формирование структурной модели.
Входной язык системы МIК представляет собой проблемно ориентированный язык описания структурных моделей динамических систем. Язык предназначен для специалистов в области автоматического управления, не являющихся профессиональными программистами, и состоит из следующих компонент: директив управления; операторов описания структуры и параметров модели; операторов описания параметров вычислительного эксперимента; операторов описания форм выходных документов; комментариев. Описываемая в пособии версия ППП MIK работает в среде MS DOS.
Рисунок 1.2 — Программный аналог математической модели (10.18) в среде ППП МИК
Полное описание МIK приводится в учебном пособии2. Далее приводятся пример программы и комментарии применительно к задаче решения уравнения (1.19).
(1.19)
где A0=1, A1=2, A2=4, B0=1,
U1(t) = AOU∙(1 - е-t/Tu), AOU = 1, Tu = 10.0.
Структурная схема для решения уравнения (1.19) на средствах MIK методом понижения порядка производной изображена на рисунке 1.2.
Для рассматриваемого примера коэффициенты передачи блоков:
N1,2: W=1/p,
N3: W= A2/Ao=C2 = -4,
N4: W= A1/Ao=C1 = -2,
N5,6: W=1,
N7: W= -(Bo/Ao)•AOU = -1,
N8: V=1,
N9: V= (Bo/Ao)•AOU = 1,
N12: W= alfa =1/TU = 0.1.
Таблица 1.1 — Программа моделирования ДС на средствах языка МIK
Программа |
Комментарии |
$Ввод |
1. Директивный оператор, объявляющий вход в MIK |
1l W=1/p вх=6 3u W=-1.0 вх=2 2l W=1/p вх=1 4u W=-2.0 вх=1 5u W=1 вх=9+7 6u W=1 вх=3+5+4 7u W=-1 вх=10 8v V=1 9v V=1 10n ДЕЛ вх=8+11 11n EXP вх=12 12u W=10.0 вх=13 13c ВРЕМЯ *** |
2.Приводится описание структуры и параметров схемы (см. рисунок 10.2.). Последовательность записи блоков может быть произвольной. MIK оператор содержит информацию и о структуре, и о параметрах функциональных блоков задачи, а также информацию о типе блока (l-линейный, u-усилительный, v-входной и т.п.) |
Вывод 1,2,5,6 Выходы 1=DYDt,2=Y,5=U1,6=D2YDt2 инт RKT4C шаг инт=0.01 шаг выв=0.1 кон вр=7.0 $кон $стоп |
3. Приводится описание задания на интегрирование уравнений в соответствии со схемой на рисунке 10.2 |
Блоки 10, 11, 13 параметров не имеют. На выходе отдельных блоков формируются следующие сигналы, каждый из которых можно вывести на печать, например:
N1: dY(t)/dt,
N2: Y(t),
N5 U1(t) = (Bo/Ao)•AOU•(1 - EXP(-t/Tu)),
N6 SUM = d2Y(t)/dt2 .