
- •Теоретические сведения
- •Работа с пакетом в режиме командной строки
- •Функции отображения модели
- •Функции непараметрического оценивания
- •Функции параметрического оценивания
- •Функции итерационного параметрического оценивания
- •Функции задания структуры модели
- •Функции изменения и уточнения структуры модели
- •Функции выбора структуры модели
- •Функции преобразования модели
- •Функции извлечения информации о модели
- •Функции проверки адекватности модели
- •Прочие функции
- •Демонстрация возможностей пакета
- •Идентификация с использованием блоков Simulink
- •Сохранение результатов
Функции задания структуры модели
В эту группу входят следующие 6 функций.
Функция arx2th
Функция arx2th конструирует матрицу модели так называемого тета-формата по полиномам ARX-модели многомерного объекта:
th = arx2th(A,B,ny,nu)
th = arx2th(A,B,ny,nu,lam,T)
Исходная ARX-модель многомерного объекта имеет вид:
y(t) + A1y(t-1) + A2y(t-2) + ... +Anay(t-na) = В0 и(t) + B1 u(t -1) +...+ Bnb u(t - nb) + e(t),
где y(t) — вектор-столбец с nу элементами, u(t) — вектор-столбец с nu элементами (то есть объект имеет nu входов и nу выходов), Ак и Вк — матрицы размеров nyxny и nuxnu соответственно, e(t) — вектор шума.
Аргументы функции следующие:
А = [I А1 А2 ... Аna], где I — единичная матрица;
В = [Во В1 ... ВnЬ];
ny и nu — количество выходов и входов модели (объекта);
lam — матрица ковариаций шума e(t), no умолчанию — единичная матрица;
• Т — интервал дискретизации.
Функция canform
Функция canform конструирует каноническую форму модели для переменных состояния многомерного объекта:
ms = canform(orders,nu)
ms = canform(orders,nu,dkx)
Используется совместно с функцией mf2th (см. ниже). Аргументы аналогичны аргументам описанной выше функции canstart. Возвращаемая величина ms — матрица, отражающая информацию о структуре модели.
Функция mf2th
Функция mf2th преобразует структуру модели для переменных состояния в модель тета-формата:
th = mf2th(model,cd,parval)
th = mf2th(model ,cd,parval ,aux,lambda,T)
где:
model — имя m-файла, содержащего информацию о том, как матрицы модели зависят от свободных (оцениваемых) параметров;
cd — строковая переменная, задающая тип модели: o cd='c' — модель для непрерывного времени,
o cd='d' — модель для дискретного времени;
parval — вектор-строка, содержащий номинальные значения параметров;
Т — интервал дискретизации;
aux — матрица вспомогательных переменных, используемых для различных целей и задаваемых в файле model;
• lambda — интенсивность шума. Возвращаемая величина th — модель в тета-формате.
Функция modstruc
Функция modstruc определяет структуру модели для переменных состояния с частично незаданными коэффициентами матриц модели:
ms = modstruc(A,B,C,D,K)
ms = modstruc(A,B,C,D,K,x0)
Аргументы А, В, С, D, К, х0 — соответственно матрицы модели и вектор начальных условий (по умолчанию — нулевой). Известные коэффициенты матриц задаются числами, неизвестные (свободные), подлежащие оцениванию, — как NaN. Возвращаемая матрица ms содержит информацию о структуре модели для дальнейшего использования с помощью функции ms2th.
В следующем примере системы 2-го порядка неизвестные элементы содержатся в матрицах А и В:
» A = [NaN,0;0,NaN]; % Задание матрицы А
» B = [NaN;NaN]; % Задание матрицы В
» О = [1,1]: % Задание матрицы С
» D = 0; % Задание матрицы D
» К = [0;0]; % Задание матрицы К
» ms = modstruc(A,B,C,D,K) % Формирование матрицы структуры модели
ms =
NaN 0 NaN 1 0 0 0 1
0 NaN NaN 1 0 0 0 2
Функция ms2th
Функция ms2th преобразует матрицу структуры в модель тета-фор-мата:
th = ms2th(ms)
th = ms2th(ms,cd,parval,lambda,T)
Аргументы и возвращаемая величина соответствуют описанным для предыдущих функций данной группы. Для примера определим следующую структуру модели (для непрерывного времени):
. Г0» °1 Гез1 [о ej [e4j
у =[1 \]х + е
с начальными значениями коэффициентов θ = [-0.2 -0.3 2 4] и оценим соответствующие свободные параметры:
» load dryer2 %Загрузка данных
» z = [у2 и2];
» %Задание структур матриц модели
» A = [NaN,0;0,NaN];
» B = [NaN;NaN];
» С = [1,1];
» ms=modstruc(A,B,C,0,[0;0]);
» th=ms2th(ms,'c',[-0.2,-0.3,2,4]);
» th=pem(z,th):
» present(th) %Отображение информации о модели
This matrix was created by the command РЕМ on 1/20 2001 at 12:22
Loss fen: 0.17279 Akaike's FPE: 0.17418 Continuous time model estimated using
sampling interval 1
The state-space matrices with standard deviations given as imaginary parts are
a =
-0.2585 + 0.2844i 0
0 - 0.2816 + 0.33231 i
b =
3.5019 + 93.6630i
-3.5374 + 93.6538i
c = 1 1
d =
0
k =
0
0
x0 =
0
0
lambda =
0.1728
Функция poly2th
Функция poly2th конструирует модель тета-формата из исходной модели «вход-выход»:
th = poly2th(A,B)
th = poly2th(A,B,C,D,F,lam,T)
Исходная модель такая же, как и для рассмотренной функции реm (см. выше). Аргументы функции следующие:
А, В, С, D, F — векторы-строки, содержащие коэффициенты соответствующих полиномов;
Т — интервал дискретизации;
1am — дисперсия шума модели.
Возвращаемая величина th — модель в тета-формате.