Файл: Элементы математического моделирования в программных средах 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