exponenta event banner

idpoly

Полиномиальная модель с идентифицируемыми параметрами

Описание

Один idpoly модель представляет систему как модель полинома непрерывного времени или дискретного времени с идентифицируемыми (оцениваемыми) коэффициентами. Использовать idpoly для создания полиномиальной модели или преобразования динамических системных моделей в полиномиальную форму.

Полиномиальная модель системы с входным вектором u, выходным вектором y и возмущением e принимает следующий вид за дискретное время:

A (q) y (t) = B (q) F (q) u (t) + C (q) D (q) e (t)

Переменные A, B, C, D и F являются многочленами, выраженными оператором временного сдвига q-1. Например, многочлен A принимает такую форму:

A (q) =1+a1q−1+a2q−2+⋯+anaq−na

Здесь na - порядок многочлена А. q-1y (t) эквивалентно y (t-1).

Например, если A (q) = 1 + a1q-1 + a2q-2, то A (y (t)) = 1 + a1 (t-1) + a2 (t-2).

Многочлены C, D и F имеют ту же форму, что и многочлен A, начиная с 1. Многочлен B не начинается с 1.

За непрерывное время полиномиальная модель принимает следующий вид:

A (s) Y (s) = B (s) F (s) U (s) + C (s) D (s) E (s)

U (s) содержит преобразованные входы Лапласа вsys. Y (ы) содержит преобразованные выходы Лапласа. E (s) содержит преобразование Лапласа возмущений для каждого выхода.

Для idpoly коэффициенты многочленов A, B, C, D и F могут быть оценочными параметрами. idpoly модель сохраняет значения этих элементов матрицы в A, B, C, D, и F свойства модели.

Модели временных рядов - это особые случаи полиномиальных моделей для систем без измеряемых входных данных. Для моделей AR B и F пусты, и C и D равны 1 для всех выходов. Для моделей ARMA, B и F пусты, в то время как D равно 1.

Хотя idpoly поддерживает модели непрерывного времени, idtf и idproc возможность большего выбора для оценки моделей непрерывного времени. Поэтому для большинства приложений непрерывного времени эти другие типы моделей являются предпочтительными.

Дополнительные сведения о полиномиальных моделях см. в разделе Что такое полиномиальные модели?

Создание

Вы можете получить idpoly моделировать одним из трех способов.

  • Оценить idpoly модель на основе выходных или входных-выходных измерений системы с использованием таких команд, как polyest, arx, armax, oe, bj, iv4, или ivar. Эти команды оценивают значения коэффициентов свободного полинома. Оценочные значения хранятся в A, B, C, D, и F свойства результирующего idpoly модель. Report свойство результирующей модели хранит информацию об оценке, такую как информация об обработке исходных условий и опциях, используемых при оценке.

    При получении idpoly модель по оценке, можно извлечь оценочные коэффициенты и их неопределенности из модели с помощью таких команд, как polydata, getpar, или getcov.

  • Создание idpoly модель с использованием idpoly команда. Можно создать idpoly модель для конфигурирования начальной параметризации для оценки полиномиальной модели в соответствии с данными измеренного отклика. При этом можно задать ограничения для коэффициентов полинома. Например, можно зафиксировать значения некоторых коэффициентов или задать минимальные или максимальные значения для свободных коэффициентов. Затем можно использовать сконфигурированную модель в качестве входного аргумента для polyest для оценки значений параметров с этими ограничениями.

  • Преобразование существующей динамической системной модели в idpoly модель с использованием idpoly команда.

Описание

Создание полиномиальной модели ввода-вывода

пример

sys = idpoly(A,B,C,D,F,NoiseVariance,Ts) создает полиномиальную модель с идентифицируемыми коэффициентами. A, B, C, D, и F укажите начальные значения коэффициентов. NoiseVariance задает начальное значение дисперсии источника белого шума. Ts - время выборки модели.

пример

sys = idpoly(A,B,C,D,F,NoiseVariance,Ts,Name,Value) создает полиномиальную модель с помощью дополнительных опций, заданных одним или несколькими аргументами пары имя-значение.

Создание модели временных рядов

sys = idpoly(A) создает модель временных рядов только с авторегрессивным членом. В этом случае sys представляет модель AR, заданную A (q) y (t) = e (t). Шум e (t) имеет дисперсию 1.A определяет начальные значения оцениваемых коэффициентов.

пример

sys = idpoly(A,[],C,D,[],NoiseVariance,Ts) создает модель временных рядов с авторегрессивным и скользящим средним термином. Исходные данные A, C, и D, укажите начальные значения оцениваемых коэффициентов. NoiseVariance определяет начальное значение шума e (t ).Ts - время выборки модели. (Опустить NoiseVariance и Ts использовать их значения по умолчанию.)

Если D имеет значение [], то sys представляет модель ARMA, заданную

A (q) y (t) = C (q) e (t)

пример

sys = idpoly(A,[],C,D,[],NoiseVariance,Ts,Name,Value) создает модель временных рядов с помощью дополнительных опций, заданных одним или несколькими аргументами пары имя-значение.

Преобразовать динамическую системную модель в полиномиальную модель

пример

sys = idpoly(sys0) преобразует динамическую модель системы sys0 кому idpoly форма модели. sys0 может быть любой динамической системной моделью.

sys = idpoly(sys0,'split') новообращенные sys0 кому idpoly модель, и обрабатывает последние Ny входных каналов sys0 в качестве шумовых каналов в возвращаемой модели. sys0 должен быть числовым tf(Панель инструментов системы управления), zpk(Панель инструментов системы управления), или ss(Панель инструментов системы управления) объект модели. Также, sys0 должен иметь по крайней мере столько входов, сколько выходов.

Входные аргументы

развернуть все

Динамическая система, заданная как динамическая модель системы для преобразования в idpoly модель.

Когда sys0 является идентифицированной моделью, ее оцененная ковариация параметра теряется во время преобразования. Если вы хотите перевести расчетную ковариацию параметра во время преобразования, используйте translatecov.

Для синтаксиса sys = idpoly(sys0,'split'), sys0 должны соответствовать следующим требованиям.

  • sys0 является числовым tf(Панель инструментов системы управления), zpk(Панель инструментов системы управления), или ss(Панель инструментов системы управления) объект модели.

  • sys0 имеет по меньшей мере столько входов, сколько выходов.

  • Подсистема sys0(:,Ny+1:Nu) должно быть двупрее.

Свойства

развернуть все

Значения полиномиальных коэффициентов, указанные как векторы строк для моделей SISO или, для моделей MIMO, массивы ячеек векторов строк, которые соответствуют каждому из A, B, C, D, и F многочлены. Для каждого многочлена коэффициенты хранятся в следующем порядке:

  • Возрастающие степени z-1 или q-1 (для дискретно-временных полиномиальных моделей).

  • Степени убывания s или p (для моделей полиномов непрерывного времени).

Ведущие коэффициенты A, C, D, и F всегда равны 1.

Для моделей MIMO с выходами Ny и входами Nu, A, B, C, D, и F - массивы ячеек векторов строк. Каждая запись в массиве ячеек содержит коэффициенты конкретного многочлена, который соотносит входные, выходные и шумовые значения.

ПолиномиалРазмеры и ограниченияОтношение описано
A

Массив ячеек Ny-by-Ny векторов строк

Ведущие коэффициенты:

  • Диагональные элементы - исправлено до 1

  • Внедиагональные записи - исправлено до 0

A{i,j} содержит коэффициенты, которые связывают выходной yi с выходным yj.

Например, для системы с двумя выходами, A является массивом ячеек 2 на 2, например:

A{1,1} = [1 .1]
A{1,2} = [0.4 -0.6]
A{2,1} = 0
A{2,2} = [1 0.2 0.3]

B,F

Массив векторов строк Ny-by-Nu

Ведущие коэффициенты:

  • B - Без ограничений

  • F - фиксировано до 1

B{i,j} и F{i,j} содержат коэффициенты, которые связывают выходной сигнал yi с входным сигналом uj.

Например, для системы с двумя выходами, B и F представляют собой массивы ячеек 2 на 1, такие как:

B{1,1} = [0.1 0.2]
B{2,1} = [0.5 0.3]
F{1,1} = [1 0.8]
F{2,1} = [1 0.4]

C,D

Ny-by-1 массив векторов строк

Ведущие коэффициенты:

  • C - исправлено до 1

  • D - фиксировано до 1

C{i} и D{i} содержат коэффициенты, которые связывают выходной сигнал yi с шумом ei.

Например, для системы с двумя выходами, C и D представляют собой массивы ячеек 2 на 1, такие как:

C{1,1} = [1 0.3]
C{2,1} = [1 0.5 0.3]
D{1,1} = [1 0.7]
D{2,1} = [1 0.1 0.2]

Для модели временных рядов (модель без измеренных входных данных), B = [] и F = [].

При получении idpoly модель sys путем идентификации с использованием функции, такой как polyest или arx, то sys.A, sys.B, sys.C, sys.D, и sys.F содержат оценочные значения полиномиальных коэффициентов.

При создании idpoly модель sys с использованием idpoly команда, sys.A, sys.B, sys.C, sys.D, и sys.F содержат начальные значения коэффициентов, указанные с помощью A,B,C,D,F входные аргументы. Использовать NaN для любого коэффициента, начальное значение которого неизвестно. Использовать [] для любого многочлена, отсутствующего в структуре модели, которую требуется создать. Например, чтобы создать модель ARX, используйте [] для C, D, и F. Для модели временных рядов ARMA используйте [] для B и F. Начальные значения по умолчанию при создании idpoly модель:

  • B - []

  • C - 1 для всех выходов

  • D - 1 для всех выходов

  • F - []

Для idpoly модель sys, каждое свойство sys.A, sys.B, sys.C, sys.D, и sys.F является псевдонимом соответствующего Value запись в Structure имущество sys. Например, sys.A является псевдонимом значения свойства sys.Structure.A.Value.

Отображаемая переменная полиномиальной модели, заданная как одно из следующих значений:

  • 'z^-1' - По умолчанию для моделей дискретного времени

  • 'q^-1' - Эквивалентно 'z^-1'

  • 's' - По умолчанию для моделей непрерывного времени

  • 'p' - Эквивалентно 's'

Значение Variable отражается на дисплее, а также влияет на интерпретацию A, B, C, D, и F векторы коэффициентов для дискретно-временных моделей. Когда Variable имеет значение 'z^-1' или 'q^-1'векторы коэффициентов упорядочены как возрастающие степени переменной.

Транспортные задержки, определенные как числовой массив, содержащий отдельную транспортную задержку для каждой пары «вход-выход» или как скаляр, который применяет одинаковую задержку для каждой пары «вход-выход».

Для систем непрерывного времени задержки переноса выражаются в единице времени, хранящейся в TimeUnit собственность. Для дискретно-временных систем транспортные задержки выражаются как целые числа, обозначающие задержку, кратную времени выборки. Ts.

Для системы MIMO с Ny выходами и Nu входами, IODelay является массивом Ny-by-Nu. Каждая запись этого массива является числовым значением, представляющим задержку передачи для соответствующей пары «вход-выход». Можно задать IODelay к скалярному значению для применения одной и той же задержки ко всем парам «вход-выход».

При создании idpoly модель sys с использованием idpoly команда, sys.IODelay содержит начальные значения задержки передачи, указанные с помощью аргумента пары имя-значение.

При получении idpoly модель sys путем идентификации с использованием функции, такой как polyest или arx, то sys.IODelay содержит оценочные значения задержки передачи.

Для idpoly модель sys, собственность sys.IODelay является псевдонимом для значения свойства sys.Structure.IODelay.Value.

Логический вектор, обозначающий наличие или отсутствие интегрирования на шумовых каналах, определяемый как логический вектор с длиной, равной числу выходов.

IntegrateNoise(i) = true указывает, что шумовой канал для i-го выхода содержит интегратор. В этом случае соответствующий многочлен D содержит дополнительный член, который не представлен в свойстве sys.D. Этот интегратор равен 1/с для систем непрерывного времени и 1/( 1-z-1) для систем дискретного времени.

Специфичная для свойства информация о оцениваемых параметрах idpoly модель, заданная как структура.

Для системы с Ny выходами и Nu входами размеры Structure элементы следующие:

  • sys.Structure.A - Ny-by-Ny

  • sys.Structure.B - Ny-by-Nu

  • sys.Structure.C - Ny-by-1

  • sys.Structure.D - Ny-by-1

  • sys.Structure.F - Ny-by-Nu

sys.Structure.A, sys.Structure.B, sys.Structure.C, sys.Structure.D, и sys.Structure.F содержат информацию о коэффициентах полинома. sys.Structure.IODelay содержит информацию о задержке транспортировки. sys.Structure.IntegrateNoise содержит информацию о терминах интеграции шума. Каждый параметр в Structure содержит следующие поля.

ОбластьОписаниеПримеры
СтоимостьЗначения параметров. Каждое свойство является псевдонимом соответствующего Value запись в Structure имущество sys. NaN представляет неизвестные значения параметров.sys.Structure.A.Value содержит начальные или оценочные значения полинома SISO A. sys.A является псевдонимом значения этого свойства. sys.A{i,j} является псевдонимом свойства MIMO sys.Structure.A(i,j).Value.
МинимумМинимальное значение, которое параметр может принять во время оценки sys.Structure.IODelay.Minimum = 0.1 ограничивает задержку передачи значениями, большими или равными 0,1. sys.Structure.IODelay.Minimum должно быть больше или равно нулю.
МаксимумМаксимальное значение, которое параметр может принять во время оценки 
БесплатноЛогическое значение, указывающее, является ли параметр переменной свободной оценки. Если необходимо зафиксировать значение параметра во время оценки, установите соответствующее значение Free кому false. Для фиксированных значений, таких как ведущие коэффициенты значений многочлена A, которые всегда равны 1, соответствующее значение Free всегда false.Если B является матрицей 3 на 3,sys.Structure.B.Free = eye(3) фиксирует все внедиагональные записи в В к значениям, указанным в sys.Structure.B.Value. В этом случае могут быть оценены только диагональные записи в В.
МасштабМасштаб значения параметра. Алгоритм оценки не использует Scale. 
ИнформацияСтруктурный массив, содержащий поля Label и Unit для хранения меток и единиц измерения параметров. Укажите метки параметров и единицы измерения в качестве векторов символов.Пример: 'Time'

Неактивный многочлен, например, B полином в модели временных рядов, не доступен в качестве параметра в Structure собственность. Например, sys = idpoly([1 -0.2 0.5]) создает модель AR. sys.Structure содержит поля sys.Structure.A и sys.Structure.IntegrateNoise. Однако в нет поля Structure соответствующие B, C, D, F, или IODelay.

Дисперсия (ковариационная матрица) инноваций модели e, заданная как скалярная или положительная полуопределённая матрица.

  • Модель SISO - скалярная

  • Модель MIMO с выходами Ny - положительная полуопределенная матрица Ny-by-Ny

Идентифицированная модель включает в себя компонент белого гауссова шума e (t ).NoiseVariance - дисперсия этой шумовой составляющей. Как правило, функция оценки модели (например, polyest) определяет это отклонение.

Это свойство доступно только для чтения.

Сводный отчет, содержащий информацию о вариантах оценки и результатах для модели состояния-пространства, полученной с помощью команд оценки, таких как polyest, armax, oe, и bj. Использовать Report для поиска оценочной информации для идентифицированной модели, в том числе:

  • Метод оценки

  • Варианты оценки

  • Условия завершения поиска

  • Соответствие оценочных данных и другие показатели качества

При создании модели по конструкции содержимое Report не имеют значения.

m = idpoly({[1 0.5]},{[1 5]},{[1 0.01]});
m.Report.OptionsUsed
ans =

     []

При получении модели с помощью команд оценки поля Report содержат информацию об оценочных данных, опциях и результатах.

load iddata2 z2;
m = polyest(z2,[2 2 3 3 2 1]);
m.Report.OptionsUsed
Option set for the polyest command:

    InitialCondition: 'auto'
               Focus: 'prediction'
  EstimateCovariance: 1
             Display: 'off'
         InputOffset: []
        OutputOffset: []
      Regularization: [1x1 struct]
        SearchMethod: 'auto'
       SearchOptions: [1x1 idoptions.search.identsolver]
            Advanced: [1x1 struct]

Дополнительные сведения об этом свойстве и его использовании см. в разделе «Аргументы вывода» на странице ссылки на соответствующую команду оценки и в разделе «Отчет об оценке».

Входная задержка для каждого входного канала, заданная как скалярное значение или числовой вектор. Для систем непрерывного времени укажите задержки ввода в единице времени, сохраненной в TimeUnit собственность. Для дискретно-временных систем укажите входные задержки в целых кратных времени выборки Ts. Например, настройка InputDelay кому 3 задает задержку в три раза.

Для системы с входами Nu установите InputDelay к вектору Nu-by-1. Каждая запись этого вектора является числовым значением, которое представляет входную задержку для соответствующего входного канала.

Также можно задать InputDelay к скалярному значению, чтобы применить одинаковую задержку ко всем каналам.

В оценке, InputDelay - фиксированная константа модели. Программное обеспечение использует IODelay свойство для оценки временных задержек. Чтобы задать начальные значения и ограничения для оценки временных задержек, используйте sys.Structure.IODelay.

Это свойство доступно только для чтения.

Задержка на выходе для каждого выходного канала, указанная как 0. Это значение является фиксированным для идентифицированных систем, таких как idpoly.

Время выборки, указанное как одно из следующих значений.

  • Дискретно-временная модель с неопределенным временем выборки - -1

  • Модель непрерывного времени - 0

  • Дискретно-временная модель с заданным временем выборки - положительный скаляр, представляющий период выборки, выраженный в единице, заданной TimeUnit свойство модели

Изменение этого свойства не дискретизирует и не выполняет повторную выборку модели. Использовать c2d и d2c для преобразования между непрерывными и дискретными представлениями времени. Использовать d2d для изменения времени выборки системы дискретного времени.

Единицы измерения для переменной времени, времени выборки Tsи любые временные задержки в модели, указанные как скаляр.

При изменении этого свойства повторная выборка или преобразование данных не выполняется. Изменение свойства изменяет только интерпретацию существующих данных. Использовать chgTimeUnit преобразование данных в различные единицы времени

Имена входных каналов, заданные как символьный вектор или массив ячеек.

  • Модель с одним входом - символьный вектор, например, 'controls'

  • Модель с несколькими входами - массив ячеек символьных векторов

Можно также использовать автоматическое векторное расширение для назначения входных имен для моделей с несколькими входами. Например, если sys является моделью с двумя входами, введите следующее:

sys.InputName = 'controls';

Имена вводимых данных автоматически расширяются до {'controls(1)';'controls(2)'}.

При оценке модели с использованием iddata объект data, программное обеспечение устанавливается автоматически InputName кому data.InputName.

Можно использовать сокращенную нотацию u см. InputName собственность. Например, sys.u эквивалентно sys.InputName.

Имена входных каналов можно использовать несколькими способами, включая:

  • Определение каналов при отображении модели и графиков.

  • Извлечение подсистем систем MIMO.

  • Указание точек соединения при соединении моделей.

Единицы входного канала, заданные как символьный вектор или массив ячеек:

  • Модель с одним входом - символьный вектор

  • Модель с несколькими входами - массив ячеек символьных векторов

Использовать InputUnit отслеживание блоков входных сигналов. InputUnit не влияет на поведение системы.

Входные группы каналов, заданные как структура. InputGroup свойство позволяет разделить входные каналы систем MIMO на группы, чтобы можно было ссылаться на каждую группу по имени. В InputGroup структура, установка имен полей для имен групп и значений полей для входных каналов, принадлежащих каждой группе.

Например, создайте входные группы с именем controls и noise которые включают в себя входные каналы 1, 2 и 3, 5 соответственно.

sys.InputGroup.controls = [1 2];
sys.InputGroup.noise = [3 5];

Затем можно извлечь подсистему из controls входы на все выходы с использованием следующего синтаксиса:

sys(:,'controls')

Имена выходных каналов, заданные как символьный вектор или массив ячеек.

  • Модель с одним входом - символьный вектор, например, 'measurements'

  • Модель с несколькими входами - массив ячеек символьных векторов

Можно также использовать автоматическое векторное расширение для назначения выходных имен для моделей с несколькими выходами. Например, если sys является моделью с двумя выходами, введите следующее:

sys.OutputName = 'measurements';

Имена вывода автоматически расширяются до {'measurements(1)';'measurements(2)'}.

При оценке модели с использованием iddata объект data, программное обеспечение устанавливается автоматически OutputName кому data.OutputName.

Можно использовать сокращенную нотацию y см. OutputName собственность. Например, sys.y эквивалентно sys.OutputName.

Имена выходных каналов можно использовать несколькими способами, включая:

  • Определение каналов при отображении модели и графиков.

  • Извлечение подсистем систем MIMO.

  • Указание точек соединения при соединении моделей.

Единицы выходного канала, заданные как символьный вектор или массив ячеек.

  • Модель с одним входом - символьный вектор, например, 'seconds'

  • Модель с несколькими входами - массив ячеек символьных векторов

Использовать OutputUnit отслеживание блоков выходного сигнала. OutputUnit не влияет на поведение системы.

Группы выходных каналов, заданные как структура. OutputGroup свойство позволяет разделить выходные каналы систем MIMO на группы и ссылаться на каждую группу по имени. В OutputGroup структура, установка имен полей для имен групп и значений полей для выходных каналов, принадлежащих каждой группе.

Например, создайте выходные группы с именем temperature и measurement которые включают в себя выходные каналы 1 и 3, 5 соответственно.

sys.OutputGroup.temperature = [1];
sys.OutputGroup.measurement = [3 5];

Затем можно извлечь подсистему из всех входов в measurement вывод с использованием следующего синтаксиса:

sys('measurement',:)

Имя системы, указанное как символьный вектор, например, 'system_1'.

Любой текст, который требуется связать с системой, указывается как строка.

  • Для одной заметки укажите Notes в виде строки или символьного вектора

  • Для нескольких заметок укажите Notes в виде строкового массива.

Свойство сохраняет указанный тип данных строки или символа. При указании символьного вектора программа упаковывает символьный вектор в массив ячеек 1 к 1.

Например, если sys1, sys2, и sys3 являются динамическими моделями систем, можно задать их Notes свойства следующим образом.

sys1.Notes = "sys1 has a string.";
sys2.Notes = ["sys2 has a first string";"sys3 has a second string"];
sys3.Notes = 'sys3 has a character vector.';
sys1.Notes
sys2.Notes
sys3.Notes
ans = 

    "sys1 has a string."

ans = 

  2×1 string array

    "sys2 has a first string"
    "sys2 has a second string"

ans =

  1×1 cell array

    {'sys3 has a character vector'}

Данные для связывания с системой, указанные как любой тип данных MATLAB.

Сетка выборки для массивов модели, заданная как структура.

Для массивов идентифицированных линейных (IDLTI) моделей, которые извлекаются путем выборки одной или нескольких независимых переменных, это свойство отслеживает значения переменных, связанные с каждой моделью. Эта информация появляется при отображении или печати массива модели. Эта информация используется для отслеживания результатов по независимым переменным.

Задайте имена полей структуры данных для имен переменных выборки. Задайте значения полей для значений выборочных переменных, связанных с каждой моделью в массиве. Все переменные выборки должны быть числовыми и скалярными значениями, а все массивы значений выборки должны соответствовать размерам массива модели.

Например, предположим, что данные собираются в различных рабочих точках системы. Можно определить модель для каждой операционной точки отдельно, а затем объединить результаты в единый системный массив. Отдельные модели в массиве можно маркировать информацией о рабочей точке.

nominal_engine_rpm = [1000 5000 10000];
sys.SamplingGrid = struct('rpm', nominal_engine_rpm)

Здесь, sys - массив, содержащий три идентифицированные модели, полученные при 1000, 5000 и 10000 об/мин соответственно.

Для массивов моделей, создаваемых путем линеаризации модели Simulink ® в нескольких значениях параметров или рабочих точках, программа заполняетSamplingGrid автоматически со значениями переменных, которые соответствуют каждой записи в массиве.

Функции объекта

Как правило, любая функция, применимая к динамическим моделям систем, применима к idpoly объект модели. Эти функции имеют четыре общих типа.

  • Функции, которые работают и возвращаются idpoly объекты модели позволяют преобразовывать и манипулировать idpoly модели. Например:

    • Использовать merge для объединения оценочных idpoly модели.

    • Использовать c2d для преобразования idpoly модель от непрерывного до дискретного времени. Использовать d2c для преобразования idpoly модель от дискретного до непрерывного времени.

  • Функции, выполняющие аналитические и имитационные функции на idpoly модели, такие как bode и sim

  • Функции, которые извлекают или интерпретируют информацию о модели, например advice и getpar

  • Функции, преобразующие idpoly модели в другой тип модели, например idtf для временной области или idfrd для частотной области

Следующие списки содержат репрезентативное подмножество функций, которые можно использовать с idpoly модели.

развернуть все

translatecovПреобразование ковариации параметров в операции преобразования модели
setparЗадание таких атрибутов, как значения и границы параметров линейной модели
chgTimeUnitИзменение единиц времени динамической системы
d2dПовторная выборка дискретно-временной модели
d2cПреобразование модели из дискретного в непрерывное время
c2dПреобразование модели из непрерывного в дискретное время
mergeОбъединить оценочные модели

развернуть все

simМоделирование ответа идентифицированной модели
predictПрогнозирование ковариации ошибок оценки состояния и состояния на следующем шаге времени с использованием расширенного или незаметного фильтра Калмана или фильтра частиц
compareСравнение выходных данных идентифицированной модели и измеренных выходных данных
impulseграфик импульсной характеристики динамической системы; данные импульсной характеристики
stepГрафик ступенчатой реакции динамической системы; данные ответа на шаг
bodeГрафик Моде частотной характеристики, или данные о величине и фазе

развернуть все

tfdataДоступ к данным функции переноса
getДоступ к значениям свойств модели
getparПолучение таких атрибутов, как значения и границы параметров линейной модели
getcovКовариация параметров идентифицированной модели
adviceАнализ и рекомендации для данных или расчетных линейных моделей

развернуть все

idtfМодель передаточной функции с идентифицируемыми параметрами
idssМодель пространства состояний с идентифицируемыми параметрами
idfrdДанные или модель частотной характеристики

Примеры

свернуть все

Создание idpoly модель, представляющая модель ARMAX с одним входом и одним выходом, описанную следующим уравнением:

y (t) + 0,5y = u (t) + 5u (t-1) + 2u (t-2) + e (t) + 0,01e (t-1)

y - выходной сигнал, u - входной сигнал, e - возмущение белого шума на y.

Для создания idpoly модель, определите A, B, и C полиномы, описывающие взаимосвязи между выходными, входными и шумовыми значениями соответственно. Потому что в системном уравнении нет знаменателей, D и F равны 1.

A = [1 0.5];
B = [1 5 2];
C = [1 0.01];

Создание idpoly модель с заданными коэффициентами.

sys = idpoly(A,B,C)
sys =
Discrete-time ARMAX model: A(z)y(t) = B(z)u(t) + C(z)e(t)
  A(z) = 1 + 0.5 z^-1                                    
                                                         
  B(z) = 1 + 5 z^-1 + 2 z^-2                             
                                                         
  C(z) = 1 + 0.01 z^-1                                   
                                                         
Sample time: unspecified
  
Parameterization:
   Polynomial orders:   na=1   nb=3   nc=1   nk=0
   Number of free coefficients: 5
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                         
Created by direct construction or transformation. Not estimated.

На дисплее отображаются все полиномы, которые можно проверить. На дисплее также указано, что имеется пять свободных коэффициентов.

Создание idpoly модель с указанной дисперсией шума nv и время выборки Ts. Для этого необходимо также включить значения 1 для D и F.

Ts = 0.1;
nv = 0.01;
sys = idpoly(A,B,C,1,1,nv,Ts)
sys =
Discrete-time ARMAX model: A(z)y(t) = B(z)u(t) + C(z)e(t)
  A(z) = 1 + 0.5 z^-1                                    
                                                         
  B(z) = 1 + 5 z^-1 + 2 z^-2                             
                                                         
  C(z) = 1 + 0.01 z^-1                                   
                                                         
Sample time: 0.1 seconds
  
Parameterization:
   Polynomial orders:   na=1   nb=3   nc=1   nk=0
   Number of free coefficients: 5
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                         
Created by direct construction or transformation. Not estimated.

На дисплее отображается время выборки 0,1 секунды.

Укажите задержку ввода-вывода iod одного образца при создании idpoly модель.

iod = 1;
sys = idpoly(A,B,C,1,1,nv,Ts,'IODelay',1)
sys =
Discrete-time ARMAX model: A(z)y(t) = B(z)u(t) + C(z)e(t)
  A(z) = 1 + 0.5 z^-1                                    
                                                         
  B(z) = 1 + 5 z^-1 + 2 z^-2                             
                                                         
  C(z) = 1 + 0.01 z^-1                                   
                                                         
Input delays (listed by channel): 1                      
Sample time: 0.1 seconds
  
Parameterization:
   Polynomial orders:   na=1   nb=3   nc=1   nk=0
   Number of free coefficients: 5
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                         
Created by direct construction or transformation. Not estimated.

На дисплее отображается задержка ввода одной выборки.

Вы можете использовать sys чтобы указать начальную параметризацию для оценки с помощью таких команд, как polyest или armax.

Создание idpoly модель, представляющая модель ARMA с одним выходом, описанную следующим уравнением:

y (t) + 0,5y = e (t) + 0,01e (t-1)

Поскольку временной ряд не имеет измеренных входных данных, эта модель содержит только A и C многочлены.

A = [1 0.5];
C = [1 0.01];

Создание модели дискретного временного ряда без указания времени выборки.

sys = idpoly(A,[],C)
sys =
Discrete-time ARMA model: A(z)y(t) = C(z)e(t)
  A(z) = 1 + 0.5 z^-1                        
                                             
  C(z) = 1 + 0.01 z^-1                       
                                             
Sample time: unspecified
  
Parameterization:
   Polynomial orders:   na=1   nc=1
   Number of free coefficients: 2
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                         
Created by direct construction or transformation. Not estimated.

Экран отражает ваши спецификации.

Создание непрерывного временного ряда путем указания времени выборки 0 для аргумента пара имя-значение 'Ts'.

sys = idpoly(A,[],C,'Ts',0)
sys =
Continuous-time ARMA model: A(s)y(t) = C(s)e(t)
  A(s) = s + 0.5                               
                                               
  C(s) = s + 0.01                              
                                               
Parameterization:
   Polynomial orders:   na=1   nc=1
   Number of free coefficients: 2
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                         
Created by direct construction or transformation. Not estimated.

Можно также установить время выборки с помощью Ts входной аргумент, а не аргумент пары имя-значение, но синтаксис более сложен. Необходимо указать D значение как 1 или пустой, и установите оба параметра F положение и положение дисперсии шума (если вы не указываете дисперсию шума) пусто.

Ts = 0;
sys = idpoly(A,[],C,1,[],[],Ts)
sys =
Continuous-time ARMA model: A(s)y(t) = C(s)e(t)
  A(s) = s + 0.5                               
                                               
  C(s) = s + 0.01                              
                                               
Parameterization:
   Polynomial orders:   na=1   nc=1
   Number of free coefficients: 2
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                         
Created by direct construction or transformation. Not estimated.

Создание idpoly модель, представляющая модель ARMAX с одним входом и двумя выходами, описанную следующими уравнениями:

y1 (t) + 0,5y1 (t-1) + 0,9y2 (t-1) + 0,1y2 (t-2) = u (t) + 5u (t-1) + 2u (t-2) + e1 (t) + 0,01e1 (t-1) y2 (t) + 0,05y2 (t-1) + 0,3y2 (t-2) = 10

y1 и y2 являются двумя выходами, а u является входом. e1 и e2 - возмущения белого шума на выходах y1 и y2 соответственно.

Для создания idpoly модель, определите A, B, и C полиномы, описывающие взаимосвязи между выходами, входами и значениями шума. (Поскольку в системных уравнениях нет знаменателей, D и F равны 1.)

Определите массив ячеек, содержащий коэффициенты A многочлены.

A = cell(2,2); 		
A{1,1} = [1 0.5];	
A{1,2} = [0 0.9 0.1];
A{2,1} = [0]; 	
A{2,2} = [1 0.05 0.3];

Можно считывать значения каждой записи в A массив ячеек в левой части уравнений, описывающих систему. Например, A{1,1} описывает многочлен, который даёт зависимость y1 от самого себя. Этот многочлен равен A11 = 1 + 0 .5q-1, поскольку каждый коэффициент q-1 соответствует единичному временному уменьшению. ПоэтомуA{1,1} = [1 0.5], давая коэффициенты A11 в возрастающих экспонентах q-1.

Аналогично, A{1,2} описывает многочлен, который даёт зависимость y1 от y2. Из уравнений A12 = 0 + 0 .9q-1 + 0 . 1q-2. Таким образом,A{1,2} = [0 0.9 0.1].

Остальные записи в A аналогичным образом сконструированы.

Определите массив ячеек, содержащий коэффициенты B многочлены.

B = cell(2,1);
B{1,1} = [1 5 2];	
B{2,1} = [0 0 10];

B описывает многочлены, которые дают зависимость выходов y1 и y2 от входа u. Из уравнений B11 = 1 + 5q-1 + 2q-2. ПоэтомуB{1,1} = [1 5 2].

Аналогично, из уравнений, B21 = 0 + 0q-1 + 10q-2. ПоэтомуB{2,1} = [0 0 10].

Определите массив ячеек, содержащий коэффициенты C многочлены.

C = cell(2,1);
C{1,1} = [1 0.01]; 
C{2,1} = [1 0.1 0.02];

C описывает многочлены, которые дают зависимость выходов y1 и y2 от шумовых членов e1 и e2. Записи C могут быть считаны из уравнений, аналогичных уравнениям A и B.

Создание idpoly модель с заданными коэффициентами.

sys = idpoly(A,B,C)
sys =
Discrete-time ARMAX model:                                                      
  Model for output number 1: A(z)y_1(t) = - A_i(z)y_i(t) + B(z)u(t) + C(z)e_1(t)
    A(z) = 1 + 0.5 z^-1                                                         
                                                                                
    A_2(z) = 0.9 z^-1 + 0.1 z^-2                                                
                                                                                
    B(z) = 1 + 5 z^-1 + 2 z^-2                                                  
                                                                                
    C(z) = 1 + 0.01 z^-1                                                        
                                                                                
  Model for output number 2: A(z)y_2(t) = B(z)u(t) + C(z)e_2(t)
    A(z) = 1 + 0.05 z^-1 + 0.3 z^-2                            
                                                               
    B(z) = 10 z^-2                                             
                                                               
    C(z) = 1 + 0.1 z^-1 + 0.02 z^-2                            
                                                               
Sample time: unspecified
  
Parameterization:
   Polynomial orders:   na=[1 2;0 2]   nb=[3;1]   nc=[1;2]
   nk=[0;2]
   Number of free coefficients: 12
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                         
Created by direct construction or transformation. Not estimated.

На дисплее отображаются все полиномы, которые можно проверить. На дисплее также указано, что имеется 12 свободных коэффициентов. Ведущие термины диагональных записей в A всегда фиксированы в 1. Ведущие термины всех остальных записей в A всегда фиксируются как 0.

Вы можете использовать sys чтобы указать начальную параметризацию для оценки с помощью таких команд, как polyest или armax.

Моделирование динамической системы с использованием передаточной функции. Затем использовать idpoly для преобразования модели передаточной функции в полиномиальную форму.

Используя idtf, построить модель передаточной функции с непрерывным временем, одним входом, одним выходом (SISO), описанную следующим уравнением:

G (s) = s + 4s2 + 20s + 5

num = [1 4];
den = [1 20 5];
G = idtf(num,den)
G =
 
      s + 4
  --------------
  s^2 + 20 s + 5
 
Continuous-time identified transfer function.

Parameterization:
   Number of poles: 2   Number of zeros: 1
   Number of free coefficients: 4
   Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                         
Created by direct construction or transformation. Not estimated.

Преобразуйте передаточную функцию в полиномиальную форму.

sys = idpoly(G)
sys =
Continuous-time OE model: y(t) = [B(s)/F(s)]u(t) + e(t)
  B(s) = s + 4                                         
                                                       
  F(s) = s^2 + 20 s + 5                                
                                                       
Parameterization:
   Polynomial orders:   nb=2   nf=2   nk=0
   Number of free coefficients: 4
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                         
Created by direct construction or transformation. Not estimated.

На дисплее отображается полиномиальная форма и коэффициенты полинома.

Представлен до R2006a