Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Работа с пакетом в режиме командной строкиСодержание книги
Поиск на нашем сайте
Работа с пакетом в режиме командной строки Возможности работы в режиме командной строки 11акет System Identification располагает большим набором функций (команд), исполняемых из командной строки MATLAB и позволяющих, в принципе, решать задачи идентификации, не используя рассмотренную программу графического интерфейса. Все функции (команды) делятся на следующие группы: • графического интерфейса; • обработки и преобразования данных; • отображения модели; • непараметрического оценивания; • параметрического оценивания;
• итерационного параметрического оценивания; • задания структуры модели; • изменения и уточнения структуры модели; • выбора структуры модели; • преобразования модели; • извлечения информации о модели; • проверки адекватности модели; • прочие; • демонстрации возможностей пакета. Команды графического интерфейса Данная группа содержит две команды: ident и midprefs. Команда ident — команда открытия рассмотренного выше графического интерфейса пользователя. Она записывается в виде: ident ident(session, directory) Команда открывает окно графического интерфейса. При второй форме записи открытие интерфейса сопровождается загрузкой сессии из файла с именем session, находящегося в директории directory. Примеры: ident('iddata1, sid') ident(‘mydata,sid', '\matlab\data\cdplayer\') Команда midprefs задает (изменяег) директорию для файла midprefs.mat, хранящего информацию о начальных параметрах графического интерфейса пользователя при его открытии. Пример: midprefs('/home/l jung/mat1ab/') Функции обработки и преобразования данных В данную группу входят следующие четыре функции. Функция detrend Функция detrend удаляет тренд из набора данных. Она используется в виде: zd - detrend(z) zd - detrend(z,o,brkp) Ее аргументы: z — матрица исходных данных, в которой столбцы соответствуют векторам данных; o (по умолчанию 0) — параметр, определяющий порядок тренда (нулевой или первый); если аргумент brkp не определен, из вектора данных вычитается линейная функция, соответствующая тренду; если данный аргумент определен, из исходныхданных вычитается «ломаная линия» с точками разрыва производной при элементах, номера которых содержатся в brkp (только для линейных трендов). Возвращаемая величина: zd — матрица преобразованных данных. В следующем примере:
zd(:,1) = detrend(z(:,1),1,119); zd(:,2) = detrend(z(:,2));
удаляется V-образный тренд из данных первого столбца с пиком на 119-м элементе и тренд нулевого порядка (постоянная составляющая) — для элементов второго столбца матрицы исходных данных.
Функция idfilt
zf = idfilt(z,ord,Wn) [zf, thf] = idfilt(z,ord,Wn,hs)
возвращает данные, фильтрованные с помощью фильтра Баттерворта. Эта функция создает фильтр Баттерворта порядка ord и осуществляет фильтрацию данных (по столбцам) матрицы данных z = [у u]. Если аргумент hs не задан и Wn содержит только один элемент, создается фильтр низких частот (ФНЧ) с частотой среза Wn. Если hs -'high', создается фильтр верхних частот (ФВЧ) с частотой среза Wn. Если Wn - [Wnl Wnh], то есть является двухэлементным вектором, и аргумент hs не определен, создается полосовой фильтр (ПФ) с полосой пропускания от Wnl до Wnh. Если же в этом случае задан аргумент hs = 'stop', создается заграждающий полосовой фильтр. Порядок фильтра в этих случаях — 2*ord. Отметим, что частоты Wnl и Wnh задаются в относительных единицах, в долях от так называемой частоты Найквиста, определяемой как ω= π/Т (или f = 1/2T), где Т — выбранный интервал дискретизации. Возвращаемые величины: zf — матрица отфильтрованных данных, thf — описание созданного фильтра в так называемом тета-формате (см. ниже).
Функция idinput Функция idinput в формах u = idinput(N) u =idinput(N,type,band,levels), u = idinput(N,'sine',band,levels,auxvar) генерирует входной идентифицирующий сигнал. Она создает несколько разновидностей входного сигнала, наиболее часто используемых в задачах идентификации при возможности организации активного эксперимента. Аргумент N задает количество значений сигнала. Строковая переменная type задает тип сигнала и может принимать значения (по умолчанию — 'rbs'): • type = 'rs' — задание случайного гауссова сигнала; • type - 'rbs' — задание случайного бинарного (двоичного) сигнала; • type = ‘prbs' — задание псевдослучайного двоичного сигнала (ПСДС); • type * 'sine' — задание полигармонического сигнала (в виде суммы синусоид). Двухэлементный вектор-строка band * [wlow, whigh] задает диапазон частот сигнала (для сигналов типа 'rs', *rbs' и 'sine'), при этом wlow — нижняя частота, a whigh — верхняя частота (частоты задаются в долях от частоты Найквиста — см. выше). Белый шум, таким образом, характеризуется значением band = [0, 1], которое является и значением по умолчанию. Для сигнала типа ПСДС ('prbs') используется значение band = [twologp, М], при этом 1/М — длительность интервала постоянства сигнала, а значение 2^twologp-1 определяет период ПСДС. Максимальное значение периода соответствует twologp=18 (или twologp=0); в этом случае по умолчанию band = [0, 1]. Двухэлементный вектор levels - [minu. maxu] задает минимальный и максимальный уровни для сигналов типа 'rs1, 'rbs' и 'sine'. Для сигнала типа 'rs' величина minu имеет значение, равное математическому ожиданию минус среднее квадратическое (или стандартное) отклонение, a maxu — математическому ожиданию плюс среднее квадратическое отклонение. Для сигнала типа 'sine' возможно задание четвертого аргумента — auxvar = [no_of_sinusoids, no_of_trials], где no_of_sinusoids — число гармоник, образующих сигнал, a no_of_trials определяет, сколько итераций должно быть сделано, чтобы минимизировать амплитуду синала путем задания различным синусоидам произвольных начальных фаз. Значение но умолчанию — auxvar = [10, 10]. Возвращаемая величина — N-элементный вектор и. Функция idresamp Функция idresamp, записываемая в формах zr = idresamp(z,R) [zr,R_act] = idresamp(z,R,filter_order,tol) выполняет преобразование сигнала путем изменения интервала его дискретизации. Аргументы: z — матрица исходных данных (каждый столбец соответствует вектору данных), R — коэффициент изменения интервала дискретизации; при R>1 происходит прореживание исходного сигнала, при R<1 — его интерполяция. Допустимо любое положительное значение R, но оно будет заменено достигнутым приближением R_ act. • filterorder — порядок фильтра, который будет использован для предварительной фильтрации исходного сигнала (по умолчанию — 8); • tol — допустимое относительное отклонение R_act от R. По умолчанию — 0.1. Возвращаемые величины — матрица преобразованных сигналов тс и достигнутое значение R_act. Функции отображения модели
Эта группа образована шестью функциями. Функция bodeplot bodeplot — функция отображения логарифмических частотных характеристик (диаграмма Боде): hodeplot(g) bodeplot(g1 g2... gn]) bodeplot(g,sd,C,mode) Она имеет следующие аргументы: • g, gl, g2,..., gn — имена оценок частотных характеристик; • sd — при sd>0 к графикам добавляются соответствующие доверительные коридоры (по умолчанию sd=O); • аргумент С задает выводимые характеристики: • для получения всех графиков на одной и той же диаграмме задается mode = 'same'. Возвращаются графики частотных характеристик с логарифмическими масштабами для АЧХ и оси частот. Функция ffplot Функция ffplot имеет такое же назначение, как предыдущая. Записывается в виде: ffpiot(g) ffplot([gl g2... gn]) ffplot(g,sd,C,mode) Аргументы — как у предыдущей функции. Возвращаются графики частотных характеристик с логарифмическим масштабом для АЧХ, но линейным для оси частот (единицы частоты — Гц). Функция idplot
Функция idplot графически отображает входные и выходные данные: idplot(z) idplot(z,int,T,ny,pc) Аргументы функции: • z =[у х] — матрица данных; первые столбцы соответствуют выходам, последние — входам объекта; • ny — количество выходов, по умолчанию nу =1; • int — вектор-строка, задающий количество точек графика. По умолчанию выводятся все исходные данные; • Т — интервал дискретизации (для задания правильного масштаба времени); • рс — строковая переменная, определяющая вид представления входного сигнала (входных сигналов). При рс = 'рс' (значение по умолчанию) данный сигнал полагается кусочно-постоянным между моментами дискретизации, при рс = '11' — линейно изменяющимся. Функция nyqplot Функция nyqplot осуществляет построение годографа (диаграммы Найквиста): nyqplot(g) nyqplot([gl g2... gn]) nyqplot(g,sd,mode) Аргументы g, gl, g2,..., gn, sd, mode — такие же, как у функции bodeplot. Возвращается график АФХ (годограф). Функция present Функция present возвращает информацию о модели (представленной в так называемом тета-формате): present(th) Здесь th — имя (идентификатор) параметрической модели. Возвращаются коэффициенты полиномов модели вместе с их стандартными отклонениями, значения функции потерь и критерия конечной ошибки прогноза, а также сообщение о методе оценивания модели. Функция zpplot Функция zpplot возвращает графическое изображение нулей и полюсов моделей объекта: zpplot(zepo) zpplot(zpform(zepo1,zepo2,...,zepon)) zpplot (zepo, sd, mode, axis) Аргументы этой функции: • zepo — матрица, содержащая информацию о нулях и полюсах модели объекта и получаемая с помощью функции th2zp (см. ниже); • zpform(zepol,zepo2,.-, zepon) — функция объединения информации о нулях и полюсах нескольких моделей одного и того же объекта с одними и теми же входами; • при sd>0 к нулям и полюсам добавляются соответствующие доверительные области (по умолчанию sd=0); • нули и полюсы разных моделей представляются на одном и том же графике; для дискретных моделей на графике также изображается единичная окружность; • Когда в zepo содержится информация о нескольких входах, характер отображения определяется строковой переменной mode. При mode = 'sub' открываются одновременно графики, относящиеся ко всем входам; при mode = 'same' информация представляется в од • axis = [xl x2 yl y2] — задает масштабы осей. Задание axis = m — то же самое, что и axis = [-m m -m m]. Функция covf Функция covf выполняет расчет авто- и взаимных корреляционных функций совокупности экспериментальных данных: R = covf(z,M) R = covf(z,M,maxsize) Аргументы: • z— матрица данных размером Nxnz, каждый столбец которой coответствует входному или выходному сигналу (обычно z= [y u]); • М — максимальная величина дискретного аргумента, для которой pассчитываются корреляционные функции, минус единица; • maxsize — параметр, определяющий максимально допустимый размер матриц. Возвращаемая величина — матрица R размером nz2xM с элементами
Функция сra Функция сra определяет оценку ИХ методом корреляционного анализа для одномерного (один вход — один выход) объекта: cra(z); [ir,R,cl] - cra(z,M,na,p1ot); cra(R): Аргументы: • z — матрица экспериментальных данных вида z = [у и], где у —вектор-столбец, соответствующий выходным данным, u — вектор-столбец входных данных; • М — максимальное значение дискретного аргумента, для которого производится расчет оценки ИХ, по умолчанию М=20; • na — порядок модели авторегрессии (степени многочлена A(z)), которая используется для расчета параметров «обеляющего» фильтра Ф(г), по умолчанию nа=10. При nа=0 в качестве идентифицирующего используется непреобразованный входной сигнал; • plot — plot=0 означает отсутствие графика, plot =1 (по умолчанию) —график полученной оценки ИХ вместе с 99%-м доверительным коридором, plot =2 - выводятся графики всех корреляционных функций. Возвращаемые величины: ir — оценка ИХ (вектор значений); cl — 99%-й доверительный коридор для оценки ИХ; R — матрица, элементы первого столбца которой — значения дискретного аргумента, элементы второго столбца — значения оценки автокорреляционной функции выходного сигнала (возможно, отфильтрованного), элементы третьего столбца — значения оценки автокорреляционной функции входного сигнала (возможно, «обеленного»), элементы четвертого столбца — значения оценки взаимной корреляционной функции. Функция spa Функция spa возвращает частотные характеристики одномерного объекта и оценки спектральных плотностей его сигналов для обобщенной линейной модели объекта (возвращая модель объекта в так называемом частотном формате): [g,phiv] = spa(z) [g, phiv,z_spe] = spa(z,M,w,maxsize,T) Аргументы: • z — матрица исходных данных — как в рассмотренных выше функциях; • М — ширина временного окна (см. выше), по умолчанию М = min(30, length(z)/10), где length(z) — число строк матрицы z; • w — вектор частот, для которых производится расчет частотных характеристик, по умолчанию [l:128]/128*pi/T; • Т — интервал дискретизации; • maxsize — параметр, определяющий максимальный размер матриц, создаваемых в процессе вычислений (оптимальный выбор этого значения позволяет добиться максимальной скорости расчетов). Возвращаемые величины: • g — оценка W{ejωТ)в частотном формате; • phiv — оценка спектральной плотности шума v(t); • zspe — матрица спектральных плотностей входного и выходного сигналов. Рассмотрим пример. Пусть исходные данные содержатся в файле dryer2.mat. Воспользуемся функцией spa для нахождения оценок ам-плитудно- и фазочастотных характеристик объекта с выводом резуль-1лта в форме графиков. »% Загрузка данных » g - spa(z); %Оценива ние модели » bodeplot(g) %Построение диаграммы Боде Результат представлен на рисунке (оценка АЧХ построена в логарифмическом масштабе). В продолжение примера ниже приведены функции, обеспечивающие вывод графиков АЧХ, ФЧХ и Sv(ω) с доверительными коридорами шириной в три среднеквадратических отклонения » w = logspace(-2,pi,l28); » [g,phiv] = spa(z,[ ],w); » % (пустая матрица означает значение по умолчанию ) » bodeplot ([g phiv], 3)
Функция etfe Функция etfe так же, как предыдущая функция, возвращает оценку дискретной передаточной функции для обобщенной линейной модели (см. выше) одномерного объекта в частотной форме. Рекомендуется к использованию для узкополосных объектов. Записывается в виде: g = etfe(z) g = etfe(z,M,N,T) Аргументы: • z — как для предыдущей функции; • М — как для предыдущей функции; • N — определяет диапазон частот для расчета (эта величина должна быть степенью 2) значений частотных характеристик, согласно формуле w = [1:N]/N*pi/T. По умолчанию N=128; • Т — интервал дискретизации (по умолчанию Т=1).
В продолжение предыдущего примера (с его исходными данными) проведем сравнение результатов использования функций spa и etfe. Соответствующая программа и графики приведены ниже. » ge = etfe(z): » gs - spa(z); » bodeplot([ge gs])
Функция 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) %Вывод информации о модели Функция 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 — определяет заданную погрешность вычислений при поиске • lim — так называемый критерий робастности, по умолчанию lim = 1.6. • 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) %Вывод информации омодели Функция 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; • 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, • index — вектор-строка, содержащий индексы коэффициентов, которые должны быть оценены (по умолчанию оцениваются все коэффициенты). Остальные аргументы и возвращаемые величины соответствуют рассмотренным выше. Функция 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 — градиентный метод оценивания и т. п. (дополнительную информацию можно • 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 для 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,у]) %Вывод результатов Функции задания структуры модели
В эту группу входят следующие 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='d' — модель для дискретного времени; • parval — вектор-строка, содержащий номинальные значения параметров; • Т — интервал дискретизации; • aux — матрица вспомогательных переменных, используемых для различных целей и задаваемых в файле model; • lambda — интенсивность шума.
Функция 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 = k =
x0 = lambda = 0.1728 Функция poly2th Функция poly2thконструирует модель тета-формата из исходной модели «вход-выход»: th = poly2th(A,B) th = poly2th(A,B,C,D,F,lam,T) Исходная модель такая же, как и для рассмотренной функции реm (см. выше). Аргументы функции следующие: • А, В, С, D, F — векторы-строки, содержащие коэффициенты соответствующих полиномов; • Т — интервал дискретизации; • 1am — дисперсия шума модели. Возвращаемая величина th — модель в тета-формате.
Функция fixpar Функция fixpar фиксирует коэффициенты в структурах тета-моделей для переменных состояния и ARX, созданных с помощью функций ms2th и arx2th: thn = fixpar(tho,matrix) thn = fixpar(tho,matrix,elements,parval) где: • tho — исходная тета-модель; • аргумент matrix (строковая переменная): o если исходная модель задана через переменные состояния, принимает одно из значений: 'А', 'В', 'С', 'D', 'К' или 'х0'; o если исходная модель — ARX-типа, то параметр matrix принимает одно из знач
|
||||
|
Последнее изменение этой страницы: 2017-02-10; просмотров: 183; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.15 (0.011 с.) |