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

Функции параметрического оценивания

Группа образована следующими 11 функциями.

Функция ar

Функция аг оценивает параметры модели авторегрессии (AR), то есть коэффициенты полинома А(z), при моделировании скалярных вре­менных последовательностей:

th - ar(y,n)

[th.refl] = ar(y,n,approach,win,maxsize,T)

Аргументы:

  • у — вектор-столбец данных, содержащий N элементов;

  • n — порядок модели (число оцениваемых коэффициентов);

  • аргумент approach (строковая переменная) определяет метод оце­нивания:

o 'fb'— прямой-обратный метод (разновидность метода наимень­ших квадратов). Используется по умолчанию;

о 'ls' — метод наименьших квадратов (МНК);

о 'yw' — метод Юла-Уокера;

o 'burg' — метод Бэрга (комбинация МНК с минимизацией гар­монического среднего);

о 'gl' — метод с использованием геометрического среднего.

Если любое из данных значений заканчивается нулем (напри­мер, 'burg0'), то вычисление сопровождается оцениванием корре­ляционных функций;

• Аргумент win (строковая переменная) используется в случае отсутствия части данных:

o win = 'now' — используются только имеющиеся данные (исполь­зуется по умоляанию — за исключением случая approach = 'yw');

o window = 'prw' — отсутствующие начальные данные заменяются нулями, так что суммирование начинается с нулевого момента времени;

o window = 'pow* — последующие отсутствующие данные заменя­ются нулями, так что суммирование расширяется до момента времени N+n;

o window = 'ppw' — и начальные, и последующие отсутствующие данные заменяются нулями. Используется в алгоритме Юла— Уокера;

  • Аргумент maxsize определяет максимальную размерность задачи;

  • Т — интервал дискретизации.

Иозвращаемые величины:

  • th — информация о модели в так называемом тета-формате (внут­реннем матричном формате представления параметрических моделей пакета System Identification);

  • refl — информация о коэффициентах и функции потерь.

Пример использования функции аг для оценивания модели авторег­рессии 4-го порядка приведен ниже.

» load dryer2; %3aгрузка данных

» у = [у2( 1:300)];

» th = ar(y,4); %Оценивание AR-модели

» present(th) %Вывод информации о модели

This matrix was created by the command AR on 1/19 2001 at 9:8

Loss fcn: 0.010782 Akaike's FPE: 0.011074 Sampling interval 1

The polynomial coefficients and their standard deviations are

A =

1.0000 -2.1716 1.5697 -0.3183 -0.0790 0

0 0.0579 0.1379 0.1384 0.0583

Матрица А содержит коэффициенты полинома A(z) (первая строка) и их стандартные отклонения (вторая строка). Текст сообщает о ве­личине функции потерь и о значении интервала дискретизации. В дан­ном случае он (по умолчанию) равен 1.

Функция armax

Функция armax оценивает параметры ARMAX-модели:

th = armax(z,nn)

th = armax(z,nn,'trace')

[th, iter_info] = armax(z,nn,maxiter,tol,lim,maxsize,T, 'trace')

Аргументы функции:

  • z = [у u] — матрица экспериментальных данных; в случае многомерного входа и представляет собой матрицу с числом столбцов, равным числу входов;

  • nn = [na nb nc nk] — задаваемые параметры ARMAX-модели (сте­пени полиномов и величина задержки);

  • 'trace' — наличие этого аргумента задает выдачу информации о ходе итерационного процесса вычислений (трассировка);

  • maxiter — определяет максимальное число итераций при решении оптимизационной задачи, по умолчанию maxiter =10;

  • tol — определяет заданную погрешность вычислений при поиске минимума, по умолчанию tol = 0.01;

  • lim — так называемый критерий робастности, по умолчанию lim = 1.6. При lim = 0 используется обычный МНК;

  • maxsize — определяет максимальную размерность задачи, по умол­ чанию

• Т — интервал дискретизации, но умолчанию равен 1. Возвращаемые величины:

  • th — информация о модели в тета-формате;

  • iterinfo = [номер последней итерации, значение функции потерь на данной итерации] — информация о выполнении итерационно­го процесса оценивания модели.

Использование функции агтах иллюстрируется следующим приме­ром:

» load dryer2 %3aгрузка данных

» y =[у2 u2];

» t = armax(z,[2 2 2 1]); %Оценивание ARMAX-иодели

» present(th) %Вывод информации о модели

This matrix was created by the command ARMAX on 1/19 2001 at 9:56

Loss fen: 0.0071844 Akaike's FPE: 0.0072712 Sampling interval 1

The polynomial coefficients and their standard deviations are

В =

0 0.0073 0.0451

0 0.0021 0.0025

A =

1.00 -1.6490 0.7026

0 0.0097 0.0088

C =

1.00 -0.2741 -0.4759

0. 0.0289 0.0285

В данном случае задана структура модели, все полиномы которой имеют 2-й порядок. Для выводимой информации, по-видимому, осо­бых разъяснений не требуется.

Функция агх

Функция агх оценивает параметры моделей AR и ARX:

th = arx(z,nn)

th = arx(z,nn,maxsize,T)

Аргументы и возвращаемая величина идентичны используемым в пре­дыдущей функции за тем исключением, что аргумент пп содержит только три параметра:

nn - [nа nb nк]

Функция может использоваться для оценивания параметров много-входовой модели вида

A{z)y{t) = B{(z)u{(t-nkx) +

при этом

• в представлении z = [y u] экспериментальных данных u = [ul, u2, ... , unu] есть матрица, столбцы которой соответствуют входам;

• nb и nk — векторы-столбцы, определяющие порядки полиномов Bj ( z) и задержки nkj для входов объекта.

Функция bj

Функция bj оценивает параметры модели Бокса—Дженкинса:

th = bj(z,nn)

th = bj(z,nn,'trace')

[th, iter_info] = bj(z,nn,maxiter,tol.,lim,maxsize,T,'trace')

Аргументы и возвращаемые величины идентичны приведенным для функции аrmах за тем исключением, что в данном случае аргумент nn содержит пять параметров: nn = [nb nc nd nf nk], то есть степени че­тырех полиномов и величину задержки.

Функция canstart

Функция canstart оценивает коэффициенты канонической формы модели для переменных состояния:

th = canstart(z,orders,nu)

th = canstart(z,orders,nu,dkx)

Аргументы функции следующие:

  • z — матрица данных;

  • orders — скаляр, задающий порядок п модели;

  • nu— число входов;

  • dkx = [d, k, x] — трехэлементный вектор, в котором:,

o k = l означает, что матрица К в модели полностью параметризо­вана (то есть подлежит оцениванию); к=0 означает, что К = 0;

o d имеет тот же смысл, но по отношению к матрице модели D;

o х=1 означает, что параметризован вектор начальных значений переменных состояния; при х = 0 данные значения полагаются нулевыми.

По умолчанию dkx = [0, 1, 1].

Возвращаемая величина th — модель в тета-формате.

Приведем пример использования рассматриваемой функции с целью восстановления модели для переменных состояния второго порядка по имеющимся экспериментальным данным (один вход, один выход). Соответствующий фрагмент программы и результаты вычислений приведены ниже:

» load dryer2 % 3агрузка данных

» z=[y2 u2];

» th = canstart(z,2,1); %Оценивание mодели

» present(th) %Вывод информации о модели

This matrix was created by the command CANSTART on 1/19 2001 at 12:50

Loss fen: 1 Akaike's FPE: 1 Discrete time model with sampling interval 1

The state-space matrices with standard deviations given as imaginary parts are

a =

0 1.0000

-0.6817 + 0.000i 1.6191 + 0.0000i

b =

-0.0316 + 0.000i

0.0415 + 0.000i

c =

1 0

d =

0

k =

0.4907 + 0.000i

0.4772 + 0.000i

x0 =

4.7505 + 0.000i

4.9671 + 0.000i

lambda =

1

Анализируя представленную в результате вычислений информацию, отметим, что в данном случае матрица системы А и матрицы (векто­ры) В и К, а также вектор начальных условий х0 не содержат ком­плексные элементы (мнимые части элементов равны нулю). Через lambda обозначена интенсивность шума e(t).

Функция ivar

Функция ivar оценивает параметры скалярной AR-модели

A(z)y(t) = v(t)

где шум v(t) предполагается коррелированным случайным процес­сом типа процесса скользящего среднего, то есть имеющим представ­ление v(t) = H(z)e(t) (здесь e(t) — белый шум), с использованием квазиоптимального метода инструментальной переменной (так на­зываемого IV-метода). Функция записывается в виде:

th = ivar(y,na)

th = ivar(y,na,nc,maxsize,T)

где

  • у — вектор данных;

  • na — порядок модели авторегрессии (степень полинома A(z));

  • nc - порядок полинома H(z), по умолчанию na=nc;

maxsize и Т имеют тот же смысл, что и для функций аrmах и bj.

Возвращаемая величина th — модель в тета-формате.

Функция ivx

Функция ivx оценивает параметры ARX-модели методом инструмен­тальной переменной:

th = ivx(z.nn.x)

th = ivx(z,nn,x.maxsize,T)

Функция аналогична функции агх и является ее альтернативой для случая, когда шум наблюдений является коррелированным. Аргумент х — матрица задаваемых инструментальных переменных. Остальные аргументы и возвращаемая величина аналогичны рассмотренным для функции arx .АМЕЧАНИЕ : Вместо функции агх рекомендуется использовать функцию iv4.

Функция iv4 оценивает параметры ARX-модели с использованием четырехступенчатого метода инструментальной переменной. Может применяться для идентификации многомерных объектов:

th = iv4(z,nn)

th = iv4(z,nn,maxsize,T)

Функция аналогична функции агх и является ее альтернативой для случая, когда шум наблюдений является коррелированным.

Ниже приведен пример использования данной функции для иденти­фикации объекта с одним выходом и двумя входами при различных задержках по входам (0 и 2), но при одинаковых степенях полино­мов для данных входов (2):

» z = [у u1 u2]:

» nb = [2 2]; % Задание степеней полиномов Bi(z)

» nk = [0 2]; %Задание задержек по входам

» %Оценивание модели

» th = iv4(z,[2 nb nk]);

Функция n4sid

Функция n4sid используется для оценивания параметров моделей для переменных состояния в канонической форме при произвольном чис­ле входов и выходов:

h = n4sid(z)

[th,A0] = n4sid(z,rder,ny,auxord,dkx,maxsize,T,'trace')

где:

  • z — матрица экспериментальных данных;

  • аргумент order задает порядок модели. Если данный аргумент вводится как вектор-строка, например, order = [1:10], то предва­рительные расчеты выполняются по моделям всех заданных порядков (по умолчанию — от 1-го по 10-й) с выводом графика, позволяющсго выбрать оптимальный порядок. Если order = 'best' (по умолчанию), выбирается модель «наилучшего» порядка (пу­тем выбора наилучшей среди моделей 1-го— 10-го порядков);

  • nу — количество выходов, по умолчанию nу = 1;

  • auxord - так называемый дополнительный порядок, используемый алгоритмом oценивания. Должен быть больше, чем порядок, зада­ваемый параметром order (по умолчанию auxord = 1.2*order+3; Если auxord вводится как вектор-строка (так же, как order), выби­рается модель наилучшего порядка;

  • dkx, maxsize, T, 'trace' — как для функций bj, canstart, ivar. Возвращаемые величины:

  • th — имя (идентификатор) построенной модели в тета-формате;

• А0 — наилучший порядок модели (определяемый с помощью зада­ния auxord).

Функция ое

Функция ое оценивает параметры ОЕ-модели:

th = oe(z,nn)

th = oe(z,nn,'trace')

[th, iter_info] = oe(z,nn,maxiter,tol ,lim,maxsize,T, 'trace')

Здесь аргумент nn задается в форме nn = [nb nf nk] и содержит ин­формацию о степенях полиномов модели В(г), F{z) и о величине за­держки nk.

Остальные аргументы и возвращаемые величины аналогичны рассмот­ренным для остальных функций данной группы.

Функция pem

Функция реm оценивает параметры обобщенной многомерной линей­ной модели вида

Функция записывается в виде:

th = pem(z,nn)

th = pem(z,nn, 'trace')

[th, iter_info] = pem(z,nn,index,maxiter,tol,lim,maxsize,T,'trace')

где:

  • аргумент nn имеет представление nn = [na nb nc nd nf nk], где па, nb, nc, nd, nf, nk в многомерном случае являются векторами-столбцами;

  • index — вектор-строка, содержащий индексы коэффициентов, ко­торые должны быть оценены (по умолчанию оцениваются все ко­эффициенты).

Остальные аргументы и возвращаемые величины соответствуют рас­смотренным выше.