Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Функции изменения и уточнения структуры модели
Для изменения и уточнения структуры модели служат следующие функции. Функция fixpar Функция fixpar фиксирует коэффициенты в структурах тета-моделей для переменных состояния и ARX, созданных с помощью функций ms2th и arx2th: thn = fixpar(tho,matrix) thn = fixpar(tho,matrix,elements,parval) где: • tho — исходная тета-модель; • аргумент matrix (строковая переменная): o если исходная модель задана через переменные состояния, принимает одно из значений: 'А', 'В', 'С', 'D', 'К' или 'х0'; o если исходная модель — ARX-типа, то параметр matrix принимает одно из значений: 'А1', 'А2',..., 'В0', 'В1',...; • аргумент elements представляет собой матрицу из двух столбцов, содержащую индексы фиксируемых (то есть не подлежащих какому-либо последующему изменению) элементов матрицы, определяемой аргументом matrix, например, запись thn = fixpar(tho,'A',[1,2;3,5]); означает, что будут зафиксированы элементы А12и A35. По умолчанию фиксируются начальные значения параметров или их оценки (последние по времени); • parval — вектор, элементы которого явно задают некоторые фиксируемые параметры (k-й элемент этого вектора задает величину k-ro элемента в строке elements). Возвращаемая величина thn — тета-модель с частично зафиксированными параметрами. Функция sett Функция sett явным образом задает интервал дискретизации в моделях:
modn = sett(mod,T)
Аргументы: • mod — имя (идентификатор) модели в тета-формате или в частотном формате (см. описание функции spa); • Т — задаваемый интервал дискретизации. Возвращаемая величина modn — модель объекта с новым значением Т. Функция thinit Функция thinit устанавливает начальные (случайные) значения коэффициентов, подлежащих оцениванию в модели для переменных состояния (тета-формат) с последующим применением для такого оценивания функции pem. Записывается в виде: th = thinit(th0) th = thinit(th0,R,pars,sp) где • th0 — исходная тета-модель; • аргументы R и pars задают параметры закона случайного задания коэффициентов модели по следующему правилу: коэффициент с номером к устанавливается равным величине pars(k) + e*sqrt(R(k)), где е — гауссова случайная величина с нулевым математическим ожиданием и единичной дисперсией. По умолчанию все элементы вектора R — единицы, а элементы вектора pars равны номинальным значениям коэффициентов модели;
• sp — строковая переменная с возможными значениями 'b' (стабильна как модель, так и прогнозируемый по ней выход), 's' (стабильна только модель) и 'р' (стабилен только прогнозируемый выход); по умолчанию sp='р'. Возвращаемая величина th — тета-модель сзаданными начальными значениями коэффициентов. Функция unfixpar Функция unfixpar является обратной по отношению к функции fixpar, то есть делает зафиксированные коэффициенты модели свободными: thn = unfixpar(tho,matrix) thn = unfixpar(tho,matrix,elements) Аргументы и возвращаемая величина идентичны рассмотренным для функции fixpar. Функции выбора структуры модели
Данная группа образована следующими четырьмя функциями. Функция arxstruc Функция arxstruc вычисляет функции потерь для ряда различных конкурирующих ARX-моделей с одним выходом: v = arxstruc(ze,zv,NN) v = arxstruc(ze,zv,NN,maxsize) где: • ze и zv — соответственно, матрицы экспериментальных данных для оценивания и верификации (проверки качества) моделей; • NN — матрица задания конкурирующих структур со строками вида nn = [nа nb nk]; • maxsize — служебный аргумент, определяющий максимально возможную размерность задачи. Возвращаемая величина v — матрица, первые (верхние) элементы каждого столбца которой (кроме последнего) являются значениями функции потерь для ARX-моделей, структура которых отображается последующими элементами столбцов (то есть каждый столбец соответствует одной модели). Первый элемент последнего столбца — число значений экспериментальных данных для верификации моделей. Последующий отбор наилучшей модели может быть произведен с помощью функции selstruc (см. ниже). Функция ivstruc Функция ivstruc вычисляет среднее квадратичное отклонение выходов объекта и ряда различных конкурирующих ARX-моделей:
v = ivstruc(ze,zv,NN) v = ivstruc(ze,zv,NN,p,maxsize) Рассматриваемая функция по назначению аналогична предыдущей, но отличается используемым алгоритмом оценивания — в данном случае используется метод IV. Аргументы (кроме р) аналогичны аргументам функции arxstruc. Аргумент разрешает или запрещает (р = 0) вывод так называемых условных чисел IV-матрицы. Возвращаемая величина v, практически идентична матрице, возвращаемой предыдущей функцией, но отличается от последней дополнительной (нижней) строкой, в которой приводятся условные числа IV-матрицы.
Функция selstruc Функция selstruc осуществляет выбор наилучшей структуры модели из ряда возможных вариантов: [nn,vmod] = selstruc(v) [nn.vmod] = selstruc(v,c) Здесь: • v — матрица, возвращаемая функциями arxstruc или ivstruc; • с — строковая переменная, определяющая вывод графика или критерий отбора наилучшей структуры: o при с = 'plot' выводится график зависимости функции потерь от числа оцениваемых коэффициентов модели; o если с = 'log', выводится график логарифма функции потерь; o при с = 'aic' график не выводится, но возвращается структура, минимизирующая так называемый теоретический информационный критерий Акейке (Akaike's Information Theoretic Criterion - AIC): Vmod = V(1+2(d/N)), где V — значение функции потерь, d — число оцениваемых коэффициентов модели, N — объем экспериментальных данных, используемых для оценивания, o при с = 'mdl' возвращается структура, обеспечивающая минимум так называемого критерия Риссанена минимальной длины описания (Rissanen's Minimum Description Length — MDL) o при с, равном некоторому численному значению я, выбирается структура, которая минимизирует. Возвращаемые величины: • nn— выбранная структура; • vmod — значение соответствующего критерия. Рассмотрим следующий пример. Используя экспериментальные данные файла dryer2.mat, сравним ARX-модели порядков 1-5 с единичной задержкой и произведем отбор лучшей структуры: » load dryer2 %3a грузка данных » z=[y2 u2]; » NN=struc(l:5,1:5,1); %3адание пределов изменения порядка mодели » V=arxstruc(z(l:200,:),z(201:400,:)NN); » nn = selstruc(V, 0); %Выбор наилучшей модели » th = arx(z,nr); %Оценивание коэффициентов выбранной модели » present(th) %Представление модели This matrix was created by the command ARX on 1/20 2001 at 15:50 Loss fen: 0.0014058 Akaike's ГРЕ: 0.0014342 Sampling interval 1 The polynomial coefficients and their standard deviations are В= 0 0.0002 0.0060 0.0642 0.0617 0.0208 0 0.0010 0.0012 0.0012 0.0023 0.0026 A= 1.0000 -0.9662 0.0324 0.0257 0.1168 -0.0526 0 0.0306 0.0420 0.0415 0.0317 0.0120 Как видно, в данном случае наилучшей оказалась модель 5-го порядка. Функции преобразования модели
Данная группа образована десятью функциями. Функция 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 запрещает вывод матрицы ковариаций коэффициентов модели.
|
||||||||
Последнее изменение этой страницы: 2017-02-10; просмотров: 123; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.183.137 (0.05 с.) |