Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
идентификация в MATLAB.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
304.13 Кб
Скачать

Функции задания структуры модели

В эту группу входят следующие 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 — модель в тета-формате.