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+a1q1+a2q2++anaqna

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

Например, если A (q) = 1 + a1 q-1 + a2 q-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 (s) содержит Лаплас, преобразованный выходные параметры. E (s) содержит Преобразование Лапласа воздействий для каждого выхода.

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

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

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

Для получения дополнительной информации о полиномиальных моделях, смотрите то, Что Полиномиальные модели?

Создание

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

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

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

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

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

Описание

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

пример

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

пример

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

Создайте модель timeseries

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

пример

sys = idpoly(A,[],C,D,[],NoiseVariance,Ts) создает модель timeseries с авторегрессивным и термином скользящего среднего значения. Входные параметры AC, и 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) создает модель timeseries, использующую дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение".

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

пример

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

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

Входные параметры

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

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

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

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

  • sys0 числовое tf (Control System Toolbox), zpk (Control System Toolbox), или ss (Control System Toolbox) объект модели.

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

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

Свойства

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

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

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

  • Убывающие степени s или p (для полиномиальных моделей непрерывного времени).

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

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

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

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

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

  • Диагональные элементы — Фиксированный к 1

  • Недиагональные записи — Фиксированный к 0

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

Например, для 2D выходной системы, 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.

Например, для 2D выходной системы, 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.

Например, для 2D выходной системы, 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, используйте [] для CD, и F. Для модели временных рядов ARMA используйте [] для B и F. Начальные значения по умолчанию, когда вы создаете idpoly модель:

  • B []

  • C1 для всех выходных параметров

  • 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 отражается в отображении, и также влияет на интерпретацию ABCD, и 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 th выход содержит интегратор. В этом случае соответствующий полином D содержит дополнительное условие, которое не представлено в свойстве sys.D. Этот термин интегратора равен 1/s для систем непрерывного времени и 1 / (1-z-1) для систем дискретного времени.

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

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

  • sys.Structure.ANy-by-Ny

  • sys.Structure.BNy-by-Nu

  • sys.Structure.CNy-by-1

  • sys.Structure.DNy-by-1

  • sys.Structure.FNy-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 свойство sysNaN представляет неизвестные значения параметров.sys.Structure.A.Value содержит начальные значения или ориентировочные стоимости полинома A SISO. 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 должен быть больше или быть равным нулю.
МаксимумМаксимальное значение, которое параметр может принять во время оценки 
СвободныйBoolean, задающий, является ли параметр свободной переменной оценки. Если вы хотите зафиксировать значение параметра во время оценки, установите соответствующий Free к false. Для фиксированных значений, таких как ведущие коэффициенты значений полинома A, которые всегда равны 1, соответствующее значение Free всегда false.Если B является 3х3 матрицей, sys.Structure.B.Free = eye(3) фиксирует все недиагональные записи в B к значениям, заданным в sys.Structure.B.Value. В этом случае только диагональные элементы в B являются допускающими оценку.
ШкалаШкала значения параметра. Алгоритм оценки не использует Scale. 
ИнформацияМассив структур, который содержит поля Label и Unit для хранения меток параметра и модулей. Задайте метки параметра и модули как векторы символов.Пример: 'Time'

Неактивный полином, такой как B полином в модели временных рядов, не доступно в качестве параметра в Structure свойство. Например, sys = idpoly([1 -0.2 0.5]) создает модель AR. sys.Structure содержит поля sys.Structure.A и sys.Structure.IntegrateNoise. Однако в Structure нет никакого поля соответствие BCDF, или 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]

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

Введите задержку каждого входного канала в виде скалярного значения или числового вектора. Для систем непрерывного времени задайте входные задержки единицы измерения времени, сохраненной в 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 2D входная модель, введите следующее:

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 2D выходная модель, введите следующее:

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 как массив строк.

Свойство сохраняет тип данных String или символьный тип данных, который вы задаете. Когда вы задаете вектор символов, пакеты программного обеспечения вектор символов в массиве ячеек 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 массив, содержащий три идентифицированных модели, полученные в 1 000, 5000, и 10 000 об/мин, соответственно.

Для массивов моделей, которые вы генерируете путем линеаризации 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 модель, задайте AB, и 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];

Создайте модель timeseries дискретного времени, не задавая шаг расчета.

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.

Отображение отражает ваши технические требования.

Создайте непрерывное время timeseries путем определения шага расчета 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 модель, представляющая с одним входом, 2D выходную модель 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)=10u(t-2)+e2(t)+0.1e2(t-1)+0.02e2(t-2).

y1 и y2 эти два выходных параметров, и u вход. e1 и e2 воздействия белого шума на выходных параметрах y1 и y2, соответственно.

Создать idpoly модель, задайте AB, и 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 on 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