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

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

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

Функция rarmax

Функция rarmax реализует процедуру рекуррентного оценивания ко­эффициентов ARMAX-модели:

thm = rarmax(z,nn,adm,adg)

[thm,yhat,P,phi,psi] = rarmax(z,nn,adm,adg,th0,P0,phi0,psi0)

Здесь:

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

  • nn — аргумент, задающий параметры ARMAX-модели, nn = [na nb nc nk];

  • adm и adg — аргументы, задающие вид процедуры оценивания, на­пример, значения adm ='ff' и adg = lam задают рекуррентный ме­тод наименьших квадратов, adm = 'ug' и adg = gam — градиентный метод оценивания и т. п. (дополнительную информацию можно получить, используя команду help rarmax);

  • th0 — вектор-строка, содержащий начальные значения оценивае­мых параметров, по умолчанию — нулевой вектор;

  • Р0 — начальная матрица ковариаций оцениваемых коэффициен­тов, по умолчанию равна единичной матрице, умноженной на 104;

  • phi0 и psi0 — соответственно, начальные значения вектора данных и вектора-градиента (по умолчанию — нулевые). Их размеры дос­таточно сложным образом зависят от параметров модели.

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

• thm — матрица оценок коэффициентов модели; kстрока матрицы содержит оценки, соответствующие моменту времени k в сле­дующем порядке:

thm(k,:) = [al,a2,...ana,bl,...,bnb];

  • yhat — вектор прогнозируемых значений выхода (соответствующий вектору z(k,l));

  • Р, phi, psi — конечные значения матрицы ковариаций оценок коэффициентов, вектора данных и вектора-градиента.

Функция гагх

Функция гагх реализует процедуру рекуррентного оценивания коэф­фициентов AR и ARX-моделей:

thm = rarx(z,nn,adm,adg)

[thm,yhat,P,phi] = rarx(z,nn,adm,adg,h0,P0,phi0)

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

Функция rbj

Функция rbj — то же, что предыдущая функция, но для модели Бокса-Дженкинса:

thm = rbj(z,nn,adm,adg)

[thm,yhat,P,phi,psi] = ...

rbj(z,nn,adm,adg,th0,P0,phi0,psi0)

Аргументы и возвращаемые величины — как у функции гагтах, с уче­том того, что оценивается модель Бокса—Дженкинса.

Функция rое

Функций rое — то же, что предыдущая функция, но для ОЕ-модели:

thm = roe(z,nn,adm,adg)

[thm,yhat,P,phi,psi] = roe(z,nn,adm,adg,th0,P0,phi0,psi0)

Аргументы и возвращаемые величины те же, что у функции rаrmах.

Функция rреm

Функция rреm реализует рекуррентную процедуру оценивания пара­метров обобщенной линейной модели с несколькими входами, но с одним выходом:

thm = rpem(z,nn,ddm,adg)

[thm,yhat,P,phi,psi] = rpem(z,nn,adm,adg,th0,P0,phi0,psi0)

Аргументы и возвращаемые величины те же, что у функции rarmax.

Функция rplr

Функция rplr имеет то же назначение, что и предыдущая функция. Отличие состоит в алгоритме оценивания. Функция записывается в виде:

thm = rplr(z,nn,adm,adg)

[thm,yhat,P.phi] = rplr(z,nn,adm,adg,th0,P0,phi0)

Функция segment

Функция segment осуществляет разбиение (сегментацию) данных и оценивание коэффициентов моделей для каждого сегмента в пред­положении, что в пределах каждого сегмента коэффициенты модели являются постоянными, но могут изменяться (скачкообразно) при переходе от сегмента к сегменту. Оцениваемые модели — AR, ARX, ARMAX. Функция записывается в виде:

segm = segment(z,nn)

[segm,V,thm,R2e] = segment(z,nn,R2,q,Rl,M,th0,P0,ll,mu)

Здесь:

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

  • аргумент пп определяет порядок модели: o для ARMAX-модели nn = [nа nb nc nk]; o для ARX-модели nn = [nа nb nк];

o для AR-модели nn = nа;

  • R2 — оценка дисперсии шума наблюдений;

  • q — вероятность скачкообразного изменения модели в момент вре­мени ky по умолчанию 0.01;

  • R1 — предполагаемая матрица ковариаций оценок коэффициентов при их возможном скачкообразном изменении, по умолчанию —единичная матрица;

  • М — число параллельных моделей, используемых в алгоритме, по умолчанию 5;

  • th0 и Р0 — смысл данных аргументов рассмотрен выше, при описа­нии функции rаrmах (здесь начальное значение Р0 — единичная мат­рица, умноженная на 10);

  • l l — аргумент, определяющий существование параллельных моделей (каждая модель не исключается, по крайней мере, в течение 11 итераций), по умолчанию l l = 1;

• mu — параметр алгоритма оценивания матрицы R2, но умолчанию 0.97. Возвращаемые величины:

  • segm — матрица, kстрока которой содержит оценки коэффици­ентов, соответствующие моменту времени k (как возвращаемая матрица в функциях rаrх и rаrmах);

  • thm — матрица, содержащая оценки коэффициентов, соответствую­щие моменту времени k без учета сегментации данных;

  • V — сумма квадратов ошибок сегментированной модели;

  • R2e — полученная оценка матрицы R2 для момента времени k.

Пример. Иллюстрируем возможности функции на примере аппрок­симации синусоидального сигнала кусочно-постоянным, при этом на каждом сегменте принятая модель имеет вид

y(t) = b1* 1

Соответствующая программа приведена ниже, результаты можно увидеть на рисунке.

» у = sin([l:50]/3)'; %Задание гармонического сигнала

» thm = segment([y,ones(size(y))],[0 1 1],0,1); %Сегментация данных

» plot ([thm,у]) %Вывод результатов