
- •Теоретические сведения
- •Работа с пакетом в режиме командной строки
- •Функции отображения модели
- •Функции непараметрического оценивания
- •Функции параметрического оценивания
- •Функции итерационного параметрического оценивания
- •Функции задания структуры модели
- •Функции изменения и уточнения структуры модели
- •Функции выбора структуры модели
- •Функции преобразования модели
- •Функции извлечения информации о модели
- •Функции проверки адекватности модели
- •Прочие функции
- •Демонстрация возможностей пакета
- •Идентификация с использованием блоков Simulink
- •Сохранение результатов
Функции преобразования модели
Данная группа образована десятью функциями.
Функция idmodred
Функция idmodred понижает порядок модели (в тета-формате):
thred = idmodred(th)
thred = idmodred(th,order,OE)
Функция преобразует исходную модель th, заданную в тета-форма-гс, понижая ее порядок. Аргументы функции:
th — исходная модель;
order — желаемый порядок. Если order=[ ] (но умолчанию), то выводится график, показывающий, как управляемость и наблюдаемость зависят от порядка модели;
если OЕ='ое', то рассчитывается выходная ошибка возвращаемой модели, в любом другом случае понижается порядок модели шума.
Возвращаемая величина thred — модель пониженного порядка.
Функция th2arx
Функция th2arx преобразует модель тета-формата в ARX-модель:
[А,В] = th2arx(th)
[A,B,dA,dB] = th2arx(th)
Возвращаемая ARX-модель имеет вид, рассмотренный при описании функции arx2th (см. выше), в частности,
А = [I A1 A2 ... Ana];
В= [В0 B1 ... Bnb];
элементы матриц dA и dB являются стандартными отклонениями элементов матриц А и В.
Функция th2ff
Функция th2ff вычисляет частотные характеристики и соответствующие стандартные отклонения по модели в тета-формате:
[g,phiv] = th2ff(th)
[g,phiv] = th2ff(th,ku,w,ky)
Здесь:
th — исходная модель в тета-формате;
w — вектор-строка, элементы которого являются частотами для расчета значений частотных характеристик;
ku и ку — векторы-строки, которые (в случае многомерного объекта) задают соответственно номера входов и выходов, для которыхрассчитываются оценки частотных передаточных функций.
Возвращаемые величины — как в функции spa (см. выше).
Функция th2par
Функция th2par возвращает вектор коэффициентов из модели тета-формата:
[par,Р,lam] = th2par(th)
Аргумент th — модель в тета-формате. Возвращаемые величины:
• par — вектор коэффициентов модели следующего вида:
o для обобщенной модели«вход-выход»
o для модели переменных состояния данный вектор состоит из перечисленных по строкам последовательно матриц А, В, С, D, К и х0;
Р — матрица ковариаций приведенных коэффициентов;
lam — матрица ковариаций шума наблюдений.
Информация выводится только для свободных коэффициентов.
Функция th2poly
Функция th2poly преобразует матрицу модели тета-формата в матрицы обобщенной (многомерной) линейной модели (см. описание функции pem):
[A,B,C,D,F,lam,T] = th2poly(th)
Здесь lam — интенсивность шума наблюдений. Остальные величины пояснены выше.
Функция th2ss
Функция th2ss преобразует тета-модель в модель для переменных состояния:
[A,B,C,Q,K,X0] = th2ss(th)
[A,B,C,D,K,X0,dA,dB,dC,dD,dK,dX0] = th2ss(th)
Смысл аргументов и возвращаемых величин — тот же, что в предыдущих функциях.
Функция th2tf
Функция th2tf преобразует модель тета-формата многомерного объекта в вектор передаточных функций, связанных с выбранным входом:
[num,den] = th2tf(th)
[num,den] = th2tf(th,iu)
где
th — исходная модель тета-формата;
iu — номер входа, для которого строятся передаточные функции (но умолчанию 1).
Возвращаемые величины:
num — матрица, k-я строка которой содержит коэффициенты полинома числителя частной передаточной функции от выбранного (iu) входа к k-му выходу;
den — вектор-строка, элементами которого являются коэффициенты знаменателя передаточных функций (одного и того же для всех частных передаточных функций).
К примеру, для непрерывного случая величины
num = [1 2]
den = [1 3 0]
соответствуют передаточной функции
Аналогично, для дискретной модели при
num=[2 4 0]
den - [1 2 3 5]
имеем передаточную функцию вида
2z2+4z
z3 +2z2 + 3z + 5
или (что то же самое) вида
Функция th2zp
Функция th2zp рассчитывает нули, полюса и статические коэффициенты передачи (коэффициенты усиления) модели тета-формата в общем случае многомерного объекта:
[zepo,k] = th2zp(th)
[zepo,k] = th2zp(th,ku,ky,thresh)
Здесь:
th — имя тета-модели;
ku и ky — вектор-строки, содержащие номера входов ju и выходов y, для которых будут рассчитываться частные передаточные функции и соответствующие им нули, полюса и коэффициенты усиления;
thresh — пороговая величина, при превышении которой рассчитываемые нули будут полагаться равными бесконечности, по умолчанию thresh=100000.
Возвращаемые величины:
zepo — матрица, в закодированном виде отражающая информациюо нулях и полюсах модели (в графическом виде данная информация может быть извлечена с помощью функции zpplot, в аналитическом — с помощью функции getzp);
к — матрица с информацией о статических коэффициентах усиления частных передаточных функций. Первую строку этой матрицы составляют элементы, имеющие значения (jy-l)*1000+ju, вторую — соответствующие коэффициенты усиления.
Проведем сравнение полюсов двух ARX-моделей — 2-го и 3-го порядков, оценивание которых проводится по одним и тем же экспериментальным данным.
» load dryer2 %3агрузка данных
» z = [y2 u2];
» th2 = arx(z,[2 2 1]); %Оценивание модели 2-го порядка
» th3 = arx(z,[3 3 1]); %Оценивание модели 3-го порядка
» %Нахождение нулей и полюсов моделей
» zp2 = th2zp(th2);
» zp3 = th2zp(th3);
» %Графическое представление нулей и полюсов
» zpplot(zpform(zp2,zp3))
Результаты приведены на рис. (график увеличен так, что отображены лишь нули — крестиками для модели 2-го порядка и квадратиками для модели 3-го порядка — и единичный круг. Данные результаты показывают, в частности, что обе модели являются устойчивыми, но у модели 3-го порядка запас устойчивости выше (ее полюса находятся дальше от границы круга).
Функция thc2thd
Функция thc2thd преобразует модель из непрерывной формы в дискретную:
thd = thc2thd(thc,T)
Здесь:
thc — исходная непрерывная тета-модель,
Т — интервал дискретизации,
thd — возвращаемая дискретная тета-модель.
Функция thd2thc
Функция thd2thc является обратной по отношению к предыдущей, то есть преобразует дискретную модель в непрерывную:
thс = thd2thc(thd)
thс = thd2thc(thd,delay,NoP)
Смысл величин thc и thd пояснен выше; аргумент delay определяет способ учета задержки в дискретной модели:
при delay = 'nodel' (по умолчанию) задержка учитывается звеном идеального запаздывания;
при delay =- 'del' задержка аппроксимируется непрерывным динамическим звеном;
значение NoP=1 запрещает вывод матрицы ковариаций коэффициентов модели.