Элементы математического моделирования в программных средах MATLAB 5 и Scilab (Андриевский Фрадков)
.pdfдля так называемых жестких систем.1 Сведения о жестких ОДУ и методах их интегрирования приведены в [74, 87, 97].
2.2.4.Применение системы SIMULINK
Рассмотрим решение задачи о постановке машины в гараж (п. 1.3) в среде системы визуального моделирования SIMULINK. Программа моделирования SIMULINK, хоть и имеет текстовое представление, создается и используется исследователем в виде блок-схемы (S-моделъ), в которой содержится описание рассматриваемой системы и задаются требуемые действия
[29]. |
Основным действием является моделирование системы, |
|
т.е. |
расчет протекающих в ней процессов в зависимости от |
|
времени. |
5-модель для рассматриваемой задачи показана на |
|
рис. 2.4. |
Блок Step - источник ступенчатого входного сиг- |
Step |
Gain |
Integrator Integrator |
Soope |
Рис. 2.4. 5-модель системы (1.4).
нала. Указаны следующие значения параметров настройки:
Step time (длительность ступеньки) - t l ; Initial value (начальное значение) равно b; Final value (конечное значение) равно
-а.
Блок Gain - усилитель. Параметр Gain (коэффициент передачи) установлен равным 1/т.
Блок Integrator - интегрирующий блок. Приняты заданные по умолчанию значения параметров, в частности нулевые начальные условия (параметр Initial condition).
Блок Scope - индикатор. Служит для вывода результатов в процессе интегрирования в "электронное окно". Параметры блока могут быть настроены после моделирования с помощью выводимых на панели окна кнопок [29].
Диалоговое окно 5-модели имеет меню Simulation (моделирование), которая включает опцию Parameters (параметры).
1 Следует заметить, что для рассматриваемого примера точность в значительной степени зависит от того, насколько близко лежат точки i', К к дискретной последовательности t. При попытке использовать lsim с неравномерным шагом по времени выводится сообщение об ошибке.
51
Эта опция содержит несколько окон. При моделировании зададим в окне Solver (решатель) значение параметра Stop time (время окончания), равное Т, а в окне Workspace I/O (ввод-вывод в рабочую область) зададим значения параметров Time (время) и States (состояния) - t и х соответственно. Это дает возможность выводить массив моментов времени и состояний системы в рабочую область MATLAB для последующей обработки, а не только отображать индикатором Scope. 5-модель может быть запущена командой Start из меню Simulation. При этом должны быть заданы (содержаться в рабочей области MATLAB) численные значения всех параметров, обозначенных в модели идентификаторами. Представляется более удобным запускать SIMULINK на выполнение из MATLAB-программы. Эта программа должна содержать установку параметров модели, оператор моделирования, операторы обработки результатов. С этой целью используем приведенную выше головную программу интегрирования уравнений, заменив в ней только строчку обращения к процедуре ode45:
[t,x]=ode45('fpl _ 2',[0; T],x0);
на оператор sim запуска 5-модели. В рассматриваемом примере эта модель хранится в файле sl_2.mdl, поэтому соответствующий оператор имеет вид sim( ' s l _ 2 ' ) . В результате выполнения программы получаем относительную погрешность не более 2"13 % (т.е. близко к "машинному - е"), а время вычислений - порядка 0.06 с.1 При вычислении выполнено пх = 59 шагов; наименьший шаг имеет длину 1.5 • 10"14 с и соответствует моменту времени t\ а наибольший - длину 0.074 с. Как видно из полученных результатов, система SIMULINK является не только удобным, но и эффективным в вычислительном отношении инструментом моделирования.
1 Лля оценки времени вычислений использованы операторы tic и toe.
С чем рифмуется слово "истина" - Не узнать ни поэтам, ни гражданам!
Александр Галич
ГЛАВА 3. ВЫБОР СТРУКТУРЫ МАТЕМАТИЧЕСКОЙ М О Д Е Л И
3.1.Классификация моделей
Этап построения математической модели (ММ) системы разбивается на две части: выбор структуры и выбор параметров. Как было сказано в п. 1.2, структура сложной системы определяется типами моделей каждой ее подсистемы и характером связей (отношений) между ними. Все многообразие имеющихся типов ММ можно классифицировать по нескольким основным признакам, см. табл. 3.1.
Т а б л и ц а З . 1 . Математические модели систем
Статические |
Динамические |
y(t) = F(u(t)) |
y(t) = F({u(s) - 0 0 < 5 < < } ) |
Дискретные (U, У, Т - |
Непрерывные (U, У, Т - |
конечные (счетные) |
континуумы (прямые, отрезки, |
множества) |
тела в многомерных |
|
пространствах)) |
Летерминиров анные |
Стохастические; |
|
нечеткие |
Сосредоточенные (уравнения |
Распределенные (уравне- |
конечные,1 разностные, |
ния с запаздыванием, |
обыкновенные |
в частных производных, |
дифференциальные) |
интегральные) |
Линейные |
Нелинейные |
Стационарные (параметры |
Нестационарные (параметры |
не меняются со временем) |
изменяются со временем) |
Кроме того, структура модели определяется также набором размерностей - количеством переменных (входа, выхода, состояния) и параметров. Прежде всего следует дать краткую характеристику основным типам ММ.
1 То есть алгебраические, или трансцендентные .
53
3.1.1.Статические и динамические модели
Математическая модель системы называется статической, если значение выхода y(t) зависит от значения входа в один и тот же момент времени t. Символически это свойство записывается так:
у(0 = W 0 ) , |
(3-1) |
где F - символ некоторого преобразования (оператора). Кроме явных функциональных зависимостей (3.1) статические модели могут задаваться неявно, в виде уравнения или системы
ф ( у ( 0 , « ( 0 ) = 0 . |
(3.2) |
Так обычно записываются уравнения статических режимов радиоэлектронных схем, многих механических, энергетических систем и т.д. Уравнение (3.2) должно быть однозначно разрешимо относительно y(t).
Статическими моделями пользуются, когда в рамках поставленной задачи (с точки зрения достижения выбранной цели) инерционностью и "памятью" реальной системы можно пренебречь. Это возможно при выполнении ряда условий,
вчисло которых входят следующие:
1)система устойчива, т.е. переходные процессы после скачкообразного изменения входов затухают. Конечное время затухания с заданной точностью обозначим через *пер;
2)входы меняются медленно, т.е. Д£вх > fnep, где Д*вх - время между изменениями входных воздействий;
3)выходы изменяются редко, т.е. Д*вых > £пер, где Д£вых =
=h+i — tk ~ промежутки между измерениями входных вели-
чин.
В динамических моделях значение y(t) может зависеть от всего прошлого (предыстории) входного процесса:
у(0 = *•({«(«). *<«})• |
(3-3) |
Динамические модели позволяют учесть наличие "памяти", инерционности системы. Математическим аппаратом описания динамических систем являются дифференциальные, разностные уравнения, конечные автоматы, случайные процессы. Некоторые классы динамических моделей рассмотрены в п. 3.3.
54
3.1.2.Дискретные и непрерывные модели
Система может быть дискретной или непрерывной по входам, выходам и по времени в зависимости от того, дискретными или непрерывными являются множества С/, У, Т соответственно. Под дискретным понимается конечное или счетное 1 множество. Под непрерывным (континуальным) будем понимать множество объектов, для которого адекватной моделью является отрезок, луч или прямая линия, т.е. связное числовое множество. Если система имеет несколько входов и выходов, то это значит, что соответствующие множества {/, Т лежат в многомерных пространствах, т.е. непрерывность и дискретность понимаются покомпонентно.
Удобство числового множества как модели реальных совокупностей объектов состоит в том, что на нем естественным образом определяются несколько отношений, формализующих реально встречающиеся отношения между реальными объектами. Например, отношения близости, сходимости формализуют понятия похожести, сходства объектов и могут быть заданы посредством функции расстояния (метрики)
d(x}y) (например, d(x)y) =| |
х — у |). Числовые |
множества |
являются упорядоченными: |
отношение порядка |
следования |
(х < у) формализует предпочтение одного объекта другому. Наконец, над элементами числовых множеств определены естественные операции, 2 например линейные: х + у, х • у. Если для реальных объектов на входе и выходе также имеют смысл аналогичные операции, то естественным образом возникают требования к моделям (3.1)—(3.3) быть согласованными с этими операциями и сохранять их результаты. Так мы приходим, например, к линейным моделям: у = аи + Ь, dy/dt = ay + Ьи и т.д., являющимся простейшими моделями многих процессов.
1 Строго говоря, счетное множество представляет собой некоторую идеализацию, которую невозможно реализовать практически из-за конечности размеров технических систем и пределов человеческого восприятия. Такие идеализированные модели (например, множество натуральных чисел N = {1,2,...} ) имеет смысл вводить для множеств с конечным,
но заранее не ограниченным (или неизвестным) числом элементов.
2 Формально понятие операции является частным случаем понятия отношения между элементами множеств. Например, операция сложения двух чисел задает трехместное (тернарное) отношение R: тройка чисел (х,у, z) принадлежит отношению R (пишем (х,у, г) € R)} если z = х + у.
55
Т а б л и ц а 3.2. Детерминированные модели систем
|
Статические |
|
Динамические |
|
|
||
|
Дискретные |
Непрерывные |
Дискретные по Т |
|
Непрерывные по Т |
||
|
по Uy У |
по U, У |
Дискретные |
Непрерывные |
Дискретные |
Непрерывные |
|
|
|
|
по U, У |
по U, У |
по U, У |
по U, У |
|
Математи- |
Графы; таблицы |
Функции веще- |
Конечные |
Разностные |
Асинхронные |
Обыкновен- |
|
ческий ап- |
соответствий; бу- |
ственных пе- |
автоматы [92] |
уравнения |
автоматы; сети |
ные дифферен- |
|
парат опи- |
лева алгебра; |
ременных [118] |
|
[75] |
Петри; |
модели |
циальные |
сания |
предикаты |
|
|
|
теории |
распи- |
уравнения |
|
[88, 82] |
|
|
|
саний [77, 96] |
(ОДУ) |
|
Методы |
Методы матема- |
Методы ин- |
Теория конеч- |
Идентифика- |
Методы иден- |
Идентифика- |
|
оценки па- |
тической логики |
терполяции; |
ных автома- |
ция; теория |
тификации |
ция; численное |
|
раметров |
[82] |
аппроксима- |
тов [92] |
устойчивости |
|
|
интегрирова- |
и анализа |
|
ции [9] |
|
[95, 75] |
|
|
ние ОДУ |
|
|
|
|
|
|
|
[72, 95, 9] |
Методы |
Карты Карно; |
Методы опти- |
Методы синтеза |
Динамическое |
Динамическое |
Теория управ- |
|
синтеза |
метод Куайна; |
мизации (ли- |
микропрограммных программиропрограммиро- |
ления; методы |
|||
|
дискретное про- |
нейное и не- |
автоматов; |
вание; дис- |
вание; теория |
оптимизации |
|
|
граммирование |
линейное про- |
динамическое |
кретный прин- |
расписаний |
[72, 95] |
|
|
[48] |
граммирова- |
программиро- |
цип макси- |
|
|
|
|
|
ние [80, 22]) |
вание [88, 114] |
мума [75] |
|
|
|
Области |
Ре лейно-контакт- |
Количествен- |
Цифровые САУ; |
Импульсные |
Параллельные |
САУ; механи- |
|
примене- |
ные схемы; им- |
ные модели |
логическое |
и цифровые |
процессы |
ческие; тепло- |
|
ния |
пульсные и логи- |
исследования |
управление |
САУ |
|
|
вые; электрон- |
|
ческие схемы; |
операций |
|
|
|
|
ные и другие |
|
качественные |
|
|
|
|
|
процессы |
|
модели исследо- |
|
|
|
|
|
|
|
вания операций |
|
|
|
|
|
|
Как правило, дискретность множества U влечет за собой дискретность У. Кроме того, для статических систем исчезает разница между непрерывным и дискретным временем. Поэтому классификация детерминированных систем (табл. 3.1.2) по признакам "статические - динамические", "дискретные - непрерывные" включает шесть основных групп; для каждой группы указан математический аппарат описания систем, методы численного анализа и оценки их параметров, методы синтеза (оптимизации), а также типичные области применения.
Пример 3.1.1. Рассмотрим работу турникета на входе в метро. В первом, грубом, приближении множество значений входа этой системы имеет два элемента: человек с жетоном (ui) и человек без жетона (и2), т.е. U = {^i, i^}- После небольшого размышления становится ясно, что следует включить еще отсутствие пассажира (-гг0), т.е. U = {u0, Множество значений выхода содержит элементы "открыто" (у0) и "закрыто" (yi). Таким образом, У = {yo,2/i} и система является дискретной. В простейшем случае можно пренебречь памятью системы и описывать ее статической моделью, имеющей вид таблицы или графа:
u(t) |
У(0 |
"0 |
Уо |
"1 |
Уо |
и2 |
У1 |
При необходимости хранить ММ системы в памяти компью-
тера |
ее можно представить |
(закодировать) в виде матрицы |
||||||
F = |
" 1 1 0 " |
или более |
экономно, в |
виде списка (0,0,1), |
||||
|
0 |
0 |
1 |
|
|
|
|
|
в котором на г - м месте стоит |
если |
значению входа |
\ |
|||||
соответствует значение выхода уу |
|
|
|
П р и м е р 3.1.2. Если нас интересует более детально устройство самого турникета (т.е. системой является турникет), то придется учесть, что входными воздействиями (сигналами) для него являются опускание жетона и прохождение человека. Таким образом, система имеет два входа, каждый из которых может принимать два значения("есть" или "нет"). Пренебрегая возможностью одновременного опускания жетона и прохождения, вводим три значения входа: и0 - "нет
57
воздействия", 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