Элементы математического моделирования в программных средах MATLAB 5 и Scilab (Андриевский Фрадков)
.pdfПри объявлении глобальных переменных следует указывать их списки оператором global как в вызывающей программе, так и в подпрограмме, причем по тексту программы это объявление должно предшествовать инициации переменных. Следует внимательно относиться к операторам инициации массивов zeros, ones, rand и т.д. Например, при выполнении операторов а=[2 3 5 7] ; b=zeros(a) в среде MATLAB 3 получим массив b размера 1x4, состоящий из четырех нулевых элементов, а в среде MATLAB 5 - массив с четырьмя измерениями размера 2x3x5x7, содержащий 210 нулевых элементов. Лля получения того же самого результата в версии 5 следует написать b=zeros(size(a)) .
Признак продолжения оператора на следующей строке в
версии |
5 имеет вид |
в то время как в версии 3 исполь- |
зуется |
конструкция |
.". |
Наиболее существенные отличия вызваны совершенно иной концепцией языка MALTAB 5, в основу которой положено объектно-ориентированное программирование [84, 61]. Как следствие, приходится иначе пользоваться тулбоксами пакета. В первую очередь это относится к тулбоксу CONTROL SYSTEMS (разные версии этого тулбокса можно сравнить по [6] и [83]).
Приложение D. Сведения об основных тул боксах системы MATLAB 5
З а м е ч а н и е . |
В настоящем Приложении приводятся сведе- |
||
ния о составе системы MATLAB 5 версии MATLAB 5.3.0.10183 |
|||
(R11) для PCWIN и следующих версий тулбоксов: |
|||
- |
MATLAB Toolbox 5.3 (Rll) 15-Jan-1999, |
||
- |
Control System Toolbox 4.2 (Rll) 15-Jul-1998, |
||
- |
System Identification Toolbox 4.0.5 (Rll) 10-Apr-1998, |
||
- |
Signal Processing Toolbox 4.2 (Rll) |
10-Jul-1998, |
|
- |
Communications Toolbox 1.4 (Rll) |
10-Jul-1998, |
|
- |
Image Processing Toolbox 2.2 (Rll) |
05-Aug-1998, |
|
- |
Statistics |
Toolbox 2.2 (Rll) 24-Jul-1998, |
|
- |
Financial |
Toolbox 2.0.1 (Rll) 14-Aug-1998, |
|
- |
Fuzzy Logic Toolbox 2.0.1 (Rll) 16-Sep-1998, |
||
- |
Neural Network Toolbox 3.0.1 (Rll) |
Ol-Jul-1998, |
D.l Системы управления
В данном параграфе приводятся сведения о тулбоксе CONTROL SYSTEMS системы MATLAB 5, предназначенного в первую очередь для решения задач автоматического управления [61, 84]. Надо заметить, что область применения этого тулбокса гораздо шире и распространяется на самые разнообразные классы динамических систем.
З а м е ч а н и е . Линейную систему с постоянными параметрами ниже называем ЛС-моделью (линейной стационарной моделью), или LTI-моделью (Linear Time Invariant). Модель ЛС-системы в виде нулей, полюсов передаточной функции и коэффициента передачи ниже называем НПК-моделью, или
ZPK-моделыо.
Создание ЛС-моделей
ss |
- |
создание модели в уравнениях состояния, преоб- |
|
|
разование ЛС-модели к уравнениям состояния; |
zpk - |
определение НПК-моделей, преобразование мо- |
|
|
|
дели к виду НПК; |
tf |
- определение передаточной функции, преобразов- |
|
|
|
ание ЛС-модели к передаточной функции; |
222
dss |
|
- |
описание модели в дескрипторной форме; |
||
filt |
|
- описание дискретных передаточных |
функций в |
||
|
|
|
форме цифровых фильтров (11Ф); |
|
|
ltiprops - свойства ЛС-системы. |
|
||||
Извлечение данных |
|
|
|||
ssdata |
|
- |
доступ к данным в форме уравнений |
состояния; |
|
zpkdata - доступ к НПК-данным; |
|
||||
tfdata |
|
- |
доступ к данным в виде передаточной функции; |
||
dssdata |
|
- |
доступ к данным в дескрипторной форме. |
||
Характеристики моделей |
|
||||
class |
|
- |
класс объекта; |
|
|
size |
|
- |
размерности вход-выход-состояние ЛС-модели; |
||
isempty |
|
- |
"истинно" для пустых матриц и/или |
ЛС-систем; |
|
isct |
|
- |
"истинно" для систем непрерывного времени; |
||
isdt |
|
- |
"истинно" для систем непрерывного времени; |
||
isproper |
|
- |
"истинно" для собственных систем; |
|
|
issiso |
|
- |
"истинно" для SISO-систем; |
|
|
isa |
|
- |
"истинно", если объект принадлежит к заданному |
||
|
|
|
классу; |
|
|
isobject |
|
- |
"истинно" для |
объектов. |
|
Преобразования |
|
|
|||
c2d |
|
- |
дискретизация |
модели; |
|
d2c |
|
- |
континуализация модели; |
|
|
d2d |
|
- |
изменение периода дискретности, задание запаз- |
||
|
|
|
дываний по входам; |
|
|
inv |
|
- обращение ЛС-системы. |
|
||
Анализ динамических свойств систем |
|
||||
pole |
- |
|
вычисление полюсов ЛС-систем; |
|
|
eig |
- |
|
собственные значения и собственные векторы; |
||
tzero |
- |
|
получение нулей ЛС-систем; |
|
|
pzmap - |
|
расположение полюсов и нулей ЛС-систем; |
223
dcgain - статический коэффициент передачи JIC-систем;
norm |
- |
нормы ЛС-систем; |
|
|
|
||||
covar |
- |
матрица ковариаций реакции ЛС-системы на бе- |
|||||||
|
|
лый шум; |
|
|
|
|
|
||
damp |
- |
собственные частоты и коэффициенты демпфиро- |
|||||||
|
|
вания для полюсов ЛС-систем; |
|
||||||
esort |
- |
сортировка |
комплексных |
собственных |
значений |
||||
|
|
непрерывных систем; |
|
|
|
||||
dsort |
- |
сортировка |
комплексных |
собственных |
значений |
||||
|
|
дискретных |
систем; |
|
|
|
|||
pade |
- |
аппроксимация |
временного |
запаздывания по |
|||||
|
|
Паде. |
|
|
|
|
|
||
Модели в уравнениях |
состояния |
|
|
||||||
rss |
|
- |
|
устойчивая непрерывная система со случайными |
|||||
|
|
|
|
параметрами; |
|
|
|
|
|
drss |
|
- |
устойчивая дискретная |
система со |
случайными |
||||
|
|
|
|
параметрами; |
|
|
|
|
|
ss2ss |
|
- |
|
преобразование базиса уравнений состояния; |
|||||
canon |
|
- |
|
канонические формы уравнений состояния; |
|||||
jordan |
|
- |
|
каноническая форма Жордана; |
|
||||
ctrb |
|
- |
|
матрица управляемости; |
|
|
|
||
ctrbf |
|
- |
|
лестничная форма управляемости; |
|
||||
obsv |
|
- |
|
матрица наблюдаемости; |
|
|
|||
obsvf |
|
- |
|
лестничная форма наблюдаемости; |
|
||||
gram |
|
- |
|
грамианы управляемости и наблюдаемости; |
|||||
ssbal |
|
- |
|
балансировка уравнений состояния модели мето- |
|||||
|
|
|
|
дом диагонализации; |
|
|
|
||
balreal |
|
- |
|
балансировка уравнений состояния модели через |
|||||
|
|
|
|
грамиан; |
|
|
|
|
|
compbal |
- |
|
балансировка уравнений состояния SIMO-систем |
||||||
|
|
|
|
в сопровождающей форме; |
|
|
|||
modred |
|
- |
|
понижение порядка модели; |
|
||||
minreal |
|
- |
минимальная |
реализация |
и сокращение нулей и |
||||
|
|
|
|
полюсов; |
|
|
|
|
|
augstate - |
добавление состояний к выходам модели в про- |
||||||||
|
|
|
|
странстве |
состояний. |
|
|
|
224
Временные характеристики
step |
- |
|
переходная функция JIC-системы; |
|
impulse - весовая функция ЛС-системы; |
||||
initial |
- |
|
реакция на начальные условия для моделей в |
|
|
|
|
уравнениях |
состояния; |
lsim |
- |
|
моделирование ЛС-системы при произвольном |
|
|
|
|
входном воздействии; |
|
ltiwiew |
- |
открытие графического пользовательского ин- |
||
|
|
|
терфейса для временных характеристик в ЛС- |
|
|
|
|
тул боксе (LTI Toolbox); |
|
gensig |
- |
|
генератор периодических сигналов для расчета |
|
|
|
|
временных характеристик по lsim; |
|
stepfun - единичная ступенчатая функция. |
||||
Частотные характеристики |
||||
bode |
- |
|
характеристики Боде (ЛАФЧХ) для ЛС-систем; |
|
sigma |
- |
|
частотная характеристика сингулярных чисел ; |
|
nyquist |
- |
|
частотная характеристика Найквиста; |
|
nichols |
- |
|
диаграмма |
Никольса; |
evalfr |
- |
|
частотные характеристики на заданной частоте; |
|
freqresp - частотные характеристики ЛС-системы; |
||||
margin |
- |
|
запасы устойчивости по усилению, по фазе и |
|
|
|
|
частоты пересечений. |
|
Соединения систем |
|
|||
append |
|
- |
группировка ЛС-систем присоединением входов |
|
|
|
|
и выходов; |
|
parallel |
|
- |
параллельное соединение двух ЛС-систем; |
|
series |
|
- |
последовательное соединение двух ЛС-систем; |
|
feedback |
- |
соединение двух систем с обратной связью; |
||
star |
|
- соединение "звездой" ЛС-систем; |
||
connect |
|
- приведение |
модели в уравнениях состояния к |
|
|
|
|
структурным соединениям. |
|
Классические методы синтеза систем управления |
||||
rlocus |
- |
|
корневой годограф; |
|
rlocfind |
- |
определение коэффициентов усиления по задан- |
||
|
|
|
ным корням характеристического многочлена; |
8 Б. Р. Андриевский и др. |
225 |
|
acker |
- |
вычисление матрицы обратной связи по формуле |
|
|
|
Аккермана |
(Аскегтапп); |
place |
- вычисление |
матрицы обратной связи по задан- |
|
|
|
ным полюсам; |
|
estim |
- вычисление |
коэффициента передачи наблюдате- |
|
|
|
ля; |
|
destim |
- |
построение дискретного фильтра Калмана; |
|
reg |
- |
формирование регулятора в виде обратной связи |
|
|
|
по состоянию и наблюдателя. |
Методы синтеза линейно-квадратичных оптимальных регуляторов
lqr |
- |
линейно-квадратичный |
регулятор для |
непрерыв- |
|
|
|
ных систем; |
|
|
|
dlqr |
- |
линейно-квадратичный |
регулятор для |
дискрет- |
|
|
|
ных систем; |
|
|
|
dreg |
- |
линейно-квадратичный гауссовский регулятор |
|||
|
|
для дискретных систем; |
|
|
|
lqry |
- |
ЛК-регулятор со взвешиванием выходов; |
|
||
dlqry |
- |
ЛК-регулятор со взвешиванием выходов для дис- |
|||
|
|
кретных систем; |
|
|
|
lqrd |
- |
дискретный ЛК-регулятора с непрерывной функ- |
|||
|
|
цией потерь; |
|
|
|
dlqe |
- |
синтез фильтра Калмана для дискретных |
систем; |
||
dlqew |
- |
синтез фильтра Калмана для дискретных |
систем |
||
|
|
с влиянием возмущения на выход; |
|
|
kalman - непрерывный или дискретный фильтр Калмана;
lqe |
- синтез фильтра Калмана для непрерывных |
|
систем; |
lqed |
- синтез дискретного фильтра Калмана по непре- |
|
рывной функции потерь; |
lqew |
- синтез фильтра Калмана для непрерывных си- |
|
стем с прямой связью по возмущению; |
lqgreg |
- синтез линейно-квадратичного гауссовского ре- |
|
гулятора. |
226
Решение матричных уравнений |
|
|
|
|||
lyap |
- |
решение |
непрерывного |
матричного |
уравнения |
|
|
|
Ляпунова; |
|
|
|
|
dlyap |
- |
решение |
дискретного |
матричного |
уравнения |
|
|
|
Ляпунова; |
|
|
|
|
саге |
- |
решение |
алгебраического |
уравнения |
Риккати |
|
|
|
для непрерывных систем; |
|
|
||
dare |
- |
решение |
алгебраического |
уравнения |
Риккати |
|
|
|
для дискретных систем; |
|
|
|
|
condcig - |
числа обусловленности для собственных значе- |
|||||
|
|
ний матрицы. |
|
|
|
D.2. Идентификация систем
В данном параграфе перечисляются программы, составляющие тулбокс SYSTEM IDENTIFICATION системы MATLAB 5, предназначенные для решения задач параметрической и непараметрической идентификации линейных динамических систем. Программы тулбокса разработаны шведским ученым Л. Льюнгом [58, 139, 140].
Моделирование и предсказание
idsim |
- |
моделирование динамической системы; |
ре |
- |
ошибки предсказания; |
poly2th |
- |
формирование "тета-матрицы" по заданным |
|
|
многочленам; |
predict |
- |
предсказание на т шагов. |
Действия с данными
dtrend |
- |
устранение трендов из наборов данных; |
idfilt |
- |
фильтрация данных фильтром Баттерворта (But- |
|
|
terworth); |
idinput |
- |
генерация входных сигналов для идентификации; |
idresamp |
- |
изменение частоты отсчета данных. |
227
Непараметрическое оценивание |
|
||
covf |
- |
оценка ковариационной функции по матрице |
|
|
|
данных; |
|
era |
- |
корреляционный анализ; |
|
etfe |
- |
оценка эмпирической передаточной функции и |
|
|
|
периодограммы; |
|
spa |
- |
спектральный анализ. |
|
Оценка параметров |
|
||
аг |
- |
оценка авторегрессионной (А11)-модели процес- |
|
|
|
са; |
|
агшах |
- |
оценка ARMAX-модели; |
|
агх |
- |
МНК-оценка ARX-модели; |
|
bj |
- |
оценка модели Бокса-Дженкинса (Вox-Jenkins); |
|
canstart |
- |
многосвязная тета-модель с оценками |
начальных |
|
|
параметров; |
|
ivar |
- |
оценка методом инструментальной |
переменной |
|
|
(ИП) авторегрессионной составляющей послед- |
|
|
|
овательности; |
|
iv4 |
- |
приближенно оптимальная ИП-оценка для ARX- |
|
|
|
модели ; |
|
n4sid |
- |
идентификация модели в уравнениях |
состояния |
|
|
методом подпространств; |
|
ое |
- |
оценка ошибки предсказания для модели выход- |
|
|
|
ной ошибки; |
|
pern |
- |
оценка ошибки предсказания для общей линейной |
|
|
|
модели. |
|
Создание моделей заданной структуры |
|
||
arx2th |
|
- тета-формат для ARX-модели; |
|
canform |
|
- структуры моделей канонического вида; |
|
mf2th |
|
- перевод структур моделей, определенных поль- |
|
|
|
зователем, в тета-формат; |
|
modstruc |
- структура модели для использования в ms2th; |
||
ms2th |
|
- перевод стандартной параметризации в уравне- |
|
|
|
ниях состояния в тета-формат; |
|
poly2th |
|
- "тета-матрица" по заданным многочленам. |
228
Действия со структурами моделей |
|
fixpar |
- закрепление значений параметров моделей в |
|
уравнениях состояния и ARX-моделях; |
sett |
- задание интервала квантования в тета-структуре; |
thinit |
- (случайные) начальные значения параметров; |
unfixpar - освобождение значений параметров в моделях |
|
|
состояния и ARX-моделях. |
Преобразования моделей |
|
|
|
|
|||
idmodred - понижение порядка модели; |
|
|
|
||||
th2arx |
- |
преобразование модели из тета-формата в ARX- |
|||||
|
|
модель; |
|
|
|
|
|
th2ff |
- |
частотная |
характеристика |
модели |
вместе со |
||
|
|
средним отклонением; |
|
|
|
||
th2par |
- |
тета-форма |
для |
параметров |
и |
ковариационной |
|
|
|
матрицы; |
|
|
|
|
|
th2poly |
- |
полиномы, связанные с данной |
моделью; |
||||
th2ss |
- |
преобразование тета-модели в уравнения состоя- |
|||||
|
|
ния; |
|
|
|
|
|
th2tf |
- |
преобразование тета-модели в передаточную фу- |
|||||
|
|
нкцию; |
|
|
|
|
|
th2zp |
- |
нули, полюсы, коэффициенты передачи и их сре- |
|||||
|
|
дние отклонения; |
|
|
|
||
thc2thd |
- преобразование |
непрерывной модели |
в дискрет- |
||||
|
|
ную; |
|
|
|
|
|
thd2thc |
- преобразование |
дискретной |
модели в |
непрерыв- |
|||
|
|
ную. |
|
|
|
|
|
Представление моделей
bodeplot - |
диаграмма Воде для передаточной функции или |
|
|
|
спектра; |
ffplot |
- |
частотные характеристики; |
idplot |
- входо-выходные последовательности; |
|
nyqplot |
- |
диаграмма Найквиста по передаточной функции; |
present |
- |
представление тета-модели на экране; |
zpplot |
- |
вывод нулей и полюсов. |
229
Извлечение информации |
|
|
|
|
|||
getmfth |
- |
получение |
имени |
m-файла, |
определяющего |
||
|
|
структуру модели; |
|
|
|
|
|
getncap |
- |
получение числа точек данных и параметров; |
|||||
getff |
- |
выбор частотной характеристики; |
|
|
|||
gett |
- получение интервала квантования модели; |
|
|||||
getzp |
- |
извлечение |
нулей и полюсов из ZEPO-формата, |
||||
|
|
созданного th2zp; |
|
|
|
|
|
th2par |
- |
преобразование тета-формата в параметры и ма- |
|||||
|
|
трицу ковариаций. |
|
|
|
|
|
Верификация моделей |
|
|
|
|
|||
compare |
- |
сравнение значений выхода, полученных моде- |
|||||
|
|
лированием/прогнозом, с измеренными; |
|
||||
idsim |
- |
моделирование системы; |
|
|
|
||
ре |
- |
вычисление ошибок |
прогнозирования; |
|
|||
predict |
- т-шаговый прогноз; |
|
|
|
|
||
resid |
- |
вычисление |
и определение характеристик |
невя- |
|||
|
|
зок модели. |
|
|
|
|
|
Оценивание (Assessing) неопределенности |
модели |
|
|||||
idsimsd |
- |
отображение неопределенности в реакции моде- |
|||||
|
|
ли; |
|
|
|
|
|
th2ff |
- |
частотная характеристика модели |
и среднеква- |
||||
|
|
дратическое |
отклонение; |
|
|
|
|
th2zp |
- |
нули, полюсы, коэффициенты передачи и их сред- |
|||||
|
|
неквадратические отклонения. |
|
|
|
||
Выбор структуры модели |
|
|
|
|
|||
arxstruc |
- |
функции потерь для семейства ARX-моделей; |
|||||
ivstruc |
- |
подбор выходной ошибки (output error fit) для се- |
|||||
|
|
мейства со скалярным выходом; |
|
|
|
||
selstruc |
- |
выбор структуры модели по различным |
|||||
|
|
критериям; |
|
|
|
|
|
struc |
- генерация |
типовых |
структурных |
матриц |
для |
||
|
|
arxstruc и ivstruc. |
|
|
|
|
230