
- •Теоретические сведения
- •Работа с пакетом в режиме командной строки
- •Функции отображения модели
- •Функции непараметрического оценивания
- •Функции параметрического оценивания
- •Функции итерационного параметрического оценивания
- •Функции задания структуры модели
- •Функции изменения и уточнения структуры модели
- •Функции выбора структуры модели
- •Функции преобразования модели
- •Функции извлечения информации о модели
- •Функции проверки адекватности модели
- •Прочие функции
- •Демонстрация возможностей пакета
- •Идентификация с использованием блоков Simulink
- •Сохранение результатов
Функции извлечения информации о модели
В данную группу входят следующие 6 функций:
getmfth — возвращает имя m-файла, созданного функцией mf2th;
getneap — возвращает количество данных эксперимента, использованных для оценивания модели;
getff — возвращает значения АЧХ и ФЧХ для заданных частотного диапазона и модели в частотном формате;
gett - возвращает значение интервала дискретизации, заданного для модели;
getzp — возвращает значения нулей и полюсов модели из матрицы zepo-формата, созданной с применением функции th2zp;
th2par — возвращает параметры модели исходя из ее тета-представления.
Для примера создадим ARX-модель 3-го порядка и выведем числовые значения ее нулей и полюсов:
» load dryer2 %3агрузка данных
» z = [y2 u2];
» th = arx(z,[3 2 1]); %Оценивание модели
» [zepo,k] = th2zp(th); %Формирование матрицы нулей и полюсов
» [ze,po] = getzp(zepo) %Вывод исловых значений
ze =
-16.1043
ро =
-0.8574
0.5719 + 0.3084i
0.5719 - 0.3084i
В выведенном результате ze — обозначение нуля, ро — полюсов.
Более подробную информацию о данных функциях можно получить, используя справочную систему MATLAB.
Функции проверки адекватности модели
В данную группу входят следующие 5 функций.
Функция compare
Функция compare позволяет сравнить выходы модели и объекта:
сompare(z,th);
[yh,fit] = compare(z,th,k,sampnr,leveladj)
Здесь используются следующие аргументы:
z — матрица данных;
th — имя модели в тета-формате;
к — количество предыдущих значений выхода объекта y(t - k), используемых для прогноза по модели (по умолчанию не используются);
sampnr — вектор-строка, элементы которого задают моменты времени, для которых будет строиться график;
если leveladj = 'yes' то выходы как модели, так и объекта будут начинаться из нуля.
Возвращаемые величины:
при использовании первой формы записи функции выводятся paфики выходов объекта и построенной модели;
при второй форме записи выводятся числовые значения прогноза модели yh и оценка адекватности модели fit, рассчитываемая по формуле
fit = norm(yh - y)/sqrt(length(y)),
где norm — в данном случае обозначение нормы вектора, length — количество элементов вектора, sqrt — обозначение операции извлечения квадратного корня.
Рассмотрим пример:
» load dryer2 %3aгрузка данных
» z = [y2 u2];
» ze = z(1:250,:); %Формирование выборки для оценивания модели
» zv = z(251:500,:); %Формирование выборки для проверки модели
» th=armax(ze,[2 3 10]); %Оценивание ARX
» compare(zv,th,6); %Сравнение выходов модели и объекта
Здесь в качестве выхода объекта, с которым производится сравнение выхода модели, использована часть исходных данных — zv. Результат сравнения отображает рис.
Функция idsim
Функция idsim возвращает выход модели тета-формата:
у = idsim([u e],th)
[у, ysd] = idsim(u,th)
Здесь:
u — вектор значений входного сигнала (матрица входных сигналов в случае многомерного объекта);
е — вектор значений шума (если не задан, принимается равным нулю);
• th — модель в тета-формате. Возвращаемые величины:
y — выход модели при зданном входе;
ysd — соответствующие стандартные отклонения.
Функция ре
Функция ре прогнозирует ошибку модели при заданном входе и известном выходе объекта:
е = pe(z,th)
Здесь:
z — матрица данных формата z = [у и];
th — модель тета-формата;
е — возвращаемый вектор значений ошибки, вычисляемых по формуле
e(t) = H-1(z)[y(t) - W(z)u(t)]
Функция predict
Функция predict осуществляет прогноз выхода объекта по его тета-модели и с учетом информации о предыдущих фактических значениях выхода (рекомендована для расчета прогноза значений временной последовательности):
ур = predict(z,th)
[yp,thpred] = predict(z,th,k)
Аргументы z и th здесь те же, что и для предыдущей функции, к — количество используемых при прогнозе предшествующих фактических значений выхода, по умолчанию к=1.
Возвращаемые величины:
ур — прогнозируемые значения;
thpred — прогнозирующее звено в тета-формате.
Функция resid
Функция resid вычисляет остаточную ошибку для заданной модели и соответствующие корреляционные функции:
[е,г] = resid(z,th)
[е,г] = resid(z,th,M,maxsize)
resid(r)
Аргументы z, th, maxsize описаны ранее. Аргумент М задает число значений аргумента при расчете корреляционных функций.
Возвращаемые величины: е — вектор остаточных ошибок модели, r— матрица значений АКФ процесса e(t) и значений ВКФ между остаточными ошибками и входами вместе с соответствующими 99%-ми доверительными интервалами. Кроме возврата указанных значений выводятся графики данных функций. График может быть выведен повторно вызовом функции в форме resid(r).
Для примера проведем оценивание ARX-модели 3-го порядка с последующим использованием рассматриваемой функции:
» load dryer2 %3aгрузка данных
» z = [y2 u2];
» th = arx(z,[3 2 1]); %Оценивание ARX-модели
» [e,r] = resid(z,th ) %Расчет остаточной ошибки и вывод графиков АКФ и ВКФ
е =
0
0
0
0.1374
-0.1775
0.0344
0.0152
....
Здесь из соображений экономии приведены только несколько первых рассчитанных значений остаточных ошибок модели. Графики соответствующих АКФ и ВКФ представлены на рис.