Файл: Элементы математического моделирования в программных средах MATLAB 5 и Scilab (Андриевский Фрадков).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.04.2024
Просмотров: 412
Скачиваний: 1
воздействия", u\ - "опускание жетона", и2 - "прохождение". Множество У можно задать так же, как и в примере 3.1.1.
Однако теперь значение выхода y(t) |
не определяется только |
|||
значением |
входа u(t), а зависит еще и от того, |
был |
ли опу- |
|
щен жетон |
раньше, т.е. от значений |
при s |
< t. |
Система |
имеет "память". Простейший тип ММ для описания дискретных систем с памятью - это конечный автомат [92]. Для его построения вводится конечное множество внутренних состояний системы Х} определяющее "память". В данном случае в X достаточно включить два элемента: xQ - "жетон не был брошен", хх - "жетон был брошен". Значения состояния системы в следующий момент времени и выхода в текущий момент зависят от текущих значений состояния и входа, т.е.
х(к + 1) = F(*(fc), tt(*))f у(к) = G(x(k), и(к)), (3.4)
где к - номер момента времени такта. Отметим, что, выделив "текущий" и "следующий" моменты времени, мы незаметно ввели предположение о дискретности времени, которое при более детальном исследовании может оказаться неправомерным (см. ниже п. 3.3.3). Функцию переходов F(x)u) и функцию выходов С(х,гг) можно задать таблично:
|
|
"о |
«1 Щ |
|
"о |
щ |
«2 |
F(x,u). |
*0 |
*0 |
|
, G(x,n): *0 |
Уо |
Уо |
У\ |
|
|
|
*0 |
|
Уо |
Уо |
Уо |
Можно также построить графы переходов и выходов:
Пример 3.1.3. Рассмотрим простейшую электрическую систему - ЛС-цепь (рис. 3.1), входом которой является напряжение источника u(£) = £"о(0> а выходом - напряжение на
58
конденсаторе y(t) = E\(t). Закон Кирхгофа дает ММ системы в виде дифференциального уравнения первого порядка
ту = и-у) |
(3.5) |
где г = RC - постоянная времени цепи. Модель (3.5) полностью непрерывна: U = Y = Т = R1. Если исследователя
R
|
о |
|
• х |
ЕЛО |
|
"Г |
||
|
Рис. 3.1. Электрическая схема ЯС-цепи.
интересует поведение системы в статических режимах, т.е. при E0{t) = const, то нужно положить в (3.5) у = 0 и получить статическую модель
у(0 = «(0- (з-б)
Моделью (3.6) можно пользоваться как приближенной в случае, когда вход Eo(t) изменяется достаточно редко или медленно (по сравнению с г).
Пример 3.1.4. Рассмотрим экологическую систему, состоящую из двух взаимодействующих популяций [95, 74, 52, 90], существующих на некоторой территории. Предположим, что система автономна, т.е. внешними воздействиями (входами) можно пренебречь; за выходы системы примем численности популяций (видов) y\{t),y2{t). Пусть второй вид является пищей для первого, т.е. система относится к классу "хищник - жертва" (например, ух - численность лис в лесу, у2 - численность зайцев; или у\ - число бактерий возбудителей заболевания в городе, у2 - число заболевших и т.д.). В данном случае у\, у2 - целые числа, и на первый взгляд в ММ системы множество У должно быть дискретным. Однако для построения ММ удобнее считать, что ух, у2 могут принимать произвольные вещественные значения, т.е. можно перейти к непрерывной модели (при достаточно больших ух, у2 этот переход не внесет существенной погрешности). При этом мы сможем пользоваться такими понятиями, как скорости изменения выходных переменных = у\, ^jff- = у2. Простейшая
59
модель динамики популяции получается, если предположить, что:
-при отсутствии хищников численность "жертв" растет экспоненциально;
-при отсутствии "жертв" численность хищников убывает экспоненциально;
-численность "съеденных" жертв пропорциональна числу
хищников и числу жертв, т.е. величине у\у2.
При этих предположениях динамика системы, как нетрудно видеть, описывается так называемой моделью Лотки-Во- льтёрра:
У\ = ау\ - Ьугу2) у2 = сухУг - dy2, |
(3.7) |
где а, 6, с, d - положительные параметры. Если есть возможность изменять параметры, то они превращаются во входные переменные, например когда изменяются коэффициенты рождаемости и смертности видов, коэффициенты размножения бактерий (при введении лекарств) и т.д.
3.2.Примеры исследования моделей
3.2.1.Исследование четырехполюсника
Рассмотрим электрическую цепь, изображенную на рис. 3.2. Эта цепь является пассивным двухступенчатым режектор-
F-11-nU
Рис. 3.2. Режекторный аналоговый фильтр.
ным (заграждающим) фильтром, применяемым в системах управления для устранения влияния упругости механических
60
объектов (манипуляционных роботов, летательных аппаратов и т.д.). Обозначим входное напряжение через u(t)y выходное - через 2/(f), токи в ветвях - через г ' г г г ( 0 » г з ( 0 - этой цепи составим в символической форме уравнения Кирхгофа, используя оператор дифференцирования р = -jjj. Получим
у = Л1Ч + Lipii + щл г, < - ^ - L p i 3 + y = u!
1ргъ + Riz + |
= О, |
г2 = i\ +г3. |
|
Начнем с исследования системы (3.8) в общем виде. Используя очевидные обозначения для переменных, составим следующую MATLAB-программу для получения из (3.8) операторного уравнения относительно выходного сигнала y(t):
S = s o l v e ( , y = R l * i l + L l * p * i l + l / C l / p * i l ' ,:
'-R*i3-L*p*i3+y=u',...
'L*p*i3+R*i3+l/C/p*i2=0',:
'i 2 = i l + i 3 1 , ' у ' , ' i l ' , ' i 2 ' , ^ З 1 ) y=simple(S.y);
y=collect(y,'p')
latex(y)
WyssimpleCy/'u');
[n,d]=numden(Wy);
n=collect(n);
n=simple(n)
d=collect(d);
Wy=n/d
Оператор collect служит для упрощения выражения приведением подобных членов относительно указанного вторым параметром символьного аргумента. Остальные операторы рассмотрены в п. 2.2. В результате выполнения программы, в формате M g X получается выражение 1
ujl + Ljp'Cj + Rt |
С,р){Ьр7С+ ДСр + 1) |
3.9 |
|
Л(р) |
|
|
|
1 Знаменатель этой дроби выделен в многочлен А(р) "вручную", чтобы выражение уместилось по ширине страницы.
61
где А(р) = L, р4С, LC+ |
(Л, С, 1С + Lt |
С, RC) pz + (Я, Ct RC+ |
+ Ct L + L, Ct + LC)p2 |
+ (С, Л + ЯС + |
C i ) p + 1. Последую- |
щие операторы служат для получения выражения для передаточной функции W(p) от входного сигнала и к выходу у. В программе эта передаточная функция обозначается идентификатором Wy. Фактически требуемое выражение получается после выполнения оператора Wy=simple(y/'и'). Последующие операторы оказываются полезными для упрощения выражения, приведения его к стандартному виду рациональной функции с упорядоченными по степеням р многочленами в числителе и знаменателе. Лля этого из найденной дроби с помощью оператора numden выделяются числитель п и знаменатель d,B которых затем производится приведение подобных членов оператором collect. Кроме того, для данной задачи удается получить аналитически разложение числителя
на множители с помощью оператора simple. 1 |
В результате |
||||||||||||
для числителя получаем выражение |
|
|
|
|
|
|
|||||||
|
n= (l+Ll*p~2+Rl*Cl*p)* (L*p~2*C+R*Op+l). |
|
|
|
|
|
|||||||
|
Окончательно |
оператором Wy=n/d находится |
выражение |
||||||||||
для передаточной функции в стандартной форме. |
Таким |
||||||||||||
образом, фильтр (3.8) описывается |
передаточной |
функцией |
|
||||||||||
|
|
|
|
|
а0р* + ахр3 + а2р2 + а3р + 1 |
|
|
|
v |
; |
|||
где |
постоянные |
времени Т}ТХ определяются |
выражениями |
||||||||||
Т |
= |
у/LC, |
Тх |
= |
\/LxCx\ относительные коэффициенты |
демп- |
|||||||
фирования |
|
- выражениями f |
= |
|
|
= |
|
|
|
||||
а коэффициенты знаменателя - выражениями |
а0 = LLXCCX, |
||||||||||||
ах |
= |
(LRXC1 |
+ LXRCX)C> а2 = RRXCCX |
+ LCX |
+ LXCX + LC, |
||||||||
а3 |
= RCX + RC + RXCX. Найденные выражения используем для |
||||||||||||
расчета временных и частотных характеристик |
|
фильтра. |
|
||||||||||
|
Расчет статического режима для данной системы выпол- |
||||||||||||
няется просто: |
как известно, для |
определения |
|
статическо- |
|||||||||
го |
коэффициента |
передачи |
достаточно |
в операторной |
фор- |
||||||||
ме |
записи |
положить р = |
0. Поэтому |
используем |
оператор |
1 При выполнении символьных вычислений целесообразно применять различные способы упрощения интерактивно, в режиме диалога с системой, а затем вводить их в окончательный текст программы.
62
yO=simple(subs(y, 'p' ,0)). Как и следовало ожидать, получаем у0 =и. Следовательно, статический коэффициент.передачи фильтра равен единице.
Перейдем к численному исследованию динамики фильтра.
Примем следующие значения |
параметров [10]: |
Я = 1 2 кОм, |
||||
Rx = 22 кОм, L = 103 |
Гн, ЬХ = Ю3 |
Гн, С = 0.172 мФ, Сх =0.078 мФ. |
||||
Получим частотные |
характеристики |
фильтра, |
которые вы- |
|||
ведем в виде диаграмм Воде |
(логарифмическая |
амплитудно- |
||||
частотная и фазочастотная |
характеристики, ЛАХ и ЛФЧХ) |
|||||
[3, 6, |
75]. |
|
|
|
|
|
Продолжим программу. Подставим в полученное выражение для передаточной функции (3.10) числовые значения па-
раметров. Затем выполним переход к частотной |
передаточ- |
ной функции, произведя замену аргумента р на ju. |
Послед- |
нюю подстановку выполним для различных значений частоты и, которые зададим в виде массива. Вычисляя модуль и аргумент найденного массива комплексных чисел, получим требуемые частотные характеристики. Указанные действия выполняются следующими операторами MATLAB, указанными в следующей программе.
63
Рис. 3.4. S-модель фильтра (3.10).
Программа расчета частотных характеристик фильтра
R=12e3; Rl=22e3;
L=le3; Ll=le3; C=0.172e-6; Cl=0.078e-6; W=subs(Wy);
Wj =subs(W,'p',1 (j*omega)'); omegaslogspace(0,3,500); Wi=subs(Wj,'omega1,omega); A=abs(Wi);
La=20*logl0(A);
phi=angle(Wi);
subplot(211),semilogx(omega,La),grid
set(gca,'FontSize',12)
ylabel('L(\omega), |
дБ') |
xlabelC1\omega, |
1 / c ' ) |
subplot(212),semilogx(omega,phi*57.3),grid |
|
set(gca,'FontSize',12) |
|
ylabeK'XphKXomega) , град') ,xlabel('\omega, 1 / c O |
В первых трех строчках вводятся значения параметров фильтра. Оператор W=subs(Wy) служит для подстановки численных значений в выражение для передаточной функции. Затем подстановкой р = ju получается частотная передаточная функция Wj. Оператором logspace вводится вектор из 500 значений частоты элементы которого образуют геометрическую прогрессию и лежат в пределах от 101 до 103. Следующий оператор подставляет значения ш в выражение для
частотной передаточной функции, в результате |
чего находит- |
|
ся массив значений частотной характеристики |
W(ju). |
Най- |
дя модуль и аргумент этой характеристики функциями |
abs |
64