Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 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] имеем передаточную функцию вида
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; просмотров: 191; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.15 (0.01 с.) |