idss

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

Описание

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

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

dx(t)dt=Ax(t)+Bu(t)+Ke(t)y(t)=Cx(t)+Du(t)+e(t)

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

x[k+1]=Ax[k]+Bu[k]+Ke[k]y[k]=Cx[k]+Du[k]+e[k]

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

Создание

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

  • Оцените idss основанный на модели на измерениях ввода - вывода системы при помощи n4sid или ssest. Эти команды оценки оценивают значения допускающих оценку элементов матриц пространства состояний. Ориентировочные стоимости хранятся в ABCD, и K свойства получившегося idss модель. Report свойство получившейся модели хранит информацию об оценке, такой как на обработке значений начального состояния и опций, используемых по оценке. Например:

    sys = ssest(data,nx);
    A = sys.A;
    B = sys.B;
    sys.Report

    Для большего количества примеров оценки idss модель, смотрите ssest или n4sid.

  • Создайте idss модель с помощью idss команда. Например:

    sys = idss(A,B,C,D)
    Можно создать idss модель, чтобы сконфигурировать начальную параметризацию для оценки модели в пространстве состояний, чтобы соответствовать данным об измеренном отклике. Когда вы делаете так, можно задать ограничения на один или несколько элементов матрицы пространства состояний. Например, можно зафиксировать значения некоторых элементов или задать минимальные или максимальные значения для свободных элементов. Можно затем использовать сконфигурированную модель в качестве входного параметра к команде оценки (ssest или n4sid) оценить значения параметров с теми ограничениями. Для примеров смотрите, Создают Модель в пространстве состояний Идентифицируемыми Параметрами и Конфигурируют Идентифицируемые Параметры Модели в пространстве состояний.

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

    sys_ss = idss(sys_tf);

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

Описание

Создайте модель в пространстве состояний

пример

sys = idss(A,B,C,D) создает модель в пространстве состояний с заданными матрицами пространства состояний A,B,C,D. По умолчанию, sys модель дискретного времени с незаданным шагом расчета и никаким элементом воздействия состояния. Используйте этот синтаксис особенно, когда это необходимо, чтобы сконфигурировать начальную параметризацию как вход к функции оценки пространства состояний такой как n4sid или ssest.

пример

sys = idss(A,B,C,D,K) задает матрицу воздействия K.

пример

sys = idss(A,B,C,D,K,x0) инициализирует значения состояния векторным x0.

пример

sys = idss(A,B,C,D,K,x0,Ts) задает свойство Ts шага расчета. Используйте Ts = 0 создать модель непрерывного времени.

пример

sys = idss(___,Name,Value) дополнительные свойства наборов с помощью одного или нескольких аргументов пары "имя-значение". Задайте аргументы пары "имя-значение" после любой из комбинаций входных аргументов в предыдущих синтаксисах.

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

пример

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

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

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

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

Значения начального состояния в виде вектор-столбца значений Nx.

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

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

  • Когда sys0 числовая (неидентифицированная) модель, данные пространства состояний sys0 задает ABC, и D матрицы конвертированной модели. Матрица воздействия K фиксируется, чтобы обнулить. NoiseVariance значения по умолчанию значения к eye(Ny), где Ny количество выходных параметров sys.

Для синтаксиса sys = idss(sys0,'split'), sys0 должно быть (неидентифицированное) числовое tf (Control System Toolbox), zpk (Control System Toolbox), или ss (Control System Toolbox) объект модели. Кроме того, sys0 должен иметь, по крайней мере, столько же входных параметров сколько выходные параметры. Наконец, подсистема sys0(:,Ny+1:Ny+Nu) должен содержать ненулевой проходной термин (подсистема должна быть biproper).

Свойства

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

Значения матриц пространства состояний в виде матриц, которые соответствуют каждому из A, B, C, и матрицам D.

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

  • ANx-by-Nx матрица

  • BNx-by-Nu матрица

  • CNy-by-Nx матрица

  • DNy-by-Nu матрица

Если вы получаете idss модель sys идентификационным использованием ssest или n4sid, затем sys.A, sys.B, sys.C, и sys.D содержите ориентировочные стоимости элементов матрицы.

Если вы создаете idss модель sys использование idss команда, sys.A, sys.B, sys.C, и sys.D содержите начальные значения матриц пространства состояний, которые вы задаете с A,B,C,D входные параметры.

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

Значение матрицы воздействия состояния K в виде Nx-by-Ny матрица, где Nx является количеством состояний и Ny, является количеством выходных параметров.

Если вы получаете idss модель sys идентификационным использованием ssest или n4sid, затем sys.K содержит ориентировочные стоимости элементов матрицы.

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

Для idss модель sys, sys.K псевдоним к значению свойства sys.Structure.K.Value.

Имена состояния в виде вектора символов или массива ячеек.

  • Модель первого порядка — Вектор символов

  • Модель с двумя или больше состояниями — Массив ячеек из символьных векторов

  • Состояния без имени — ''

Пример: 'velocity' называет единственное состояние в модели первого порядка

Модули состояния в виде вектора символов или массива ячеек.

  • Модель первого порядка — Вектор символов

  • Модель с двумя или больше состояниями — Массив ячеек из символьных векторов

  • Состояния без заданных модулей — ''

Используйте StateUnit чтобы отслеживать модули, каждое состояние описывается в. StateUnit не оказывает влияния на поведение системы.

Пример: 'rad' соответствует модулям единственного состояния в модели первого порядка

Информация о допускающих оценку параметрах idss модель в виде специфичных для свойства значений. Structure.A, Structure.B, Structure.C, Structure.D, и Structure.K содержите информацию о A, B, C, D и матрицах K, соответственно. Каждый параметр в Structure содержит следующие поля.

Поле ОписаниеПримеры
ЗначениеСвойство Parameter Values — Each sys.A, sys.B, sys.C, и sys.D псевдоним соответствующего Value запись в Structure свойство sysNaN представляет неизвестные значения параметров.sys.Structure.A.Value содержит начальные значения или ориентировочные стоимости матрицы A. sys.A псевдоним значения свойства sys.Structure.A.Value.
МинимумМинимальное значение, которое параметр может принять во время оценкиsys.Structure.K.Minimum = 0 ограничивает все записи в матрице K быть больше или быть равными нулю.
МаксимумМаксимальное значение, которое параметр может принять во время оценки 
СвободныйБулевская переменная, задающая, является ли параметр свободной переменной оценки. Если вы хотите зафиксировать значение параметра во время оценки, установите соответствующий Free = false.Если A является 3х3 матрицей, sys.Structure.A.Free = eyes(3) фиксирует все недиагональные записи в A к значениям, заданным в sys.Structure.A.Value. В этом случае только диагональные элементы в A являются допускающими оценку.
ШкалаШкала значения параметра. Алгоритм оценки не использует Scale. 
ИнформацияМассив структур, который содержит поля Label и Unit для хранения меток параметра и модулей. Задайте метки параметра и модули как векторы символов.'Time'

Для примера конфигурирования параметров модели с помощью Structure свойство, смотрите, Конфигурируют Идентифицируемые Параметры Модели в пространстве состояний.

Отклонение (ковариационная матрица) инноваций модели e в виде скаляра или матрицы.

  • Модель SISO — Скаляр

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

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

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

Сводный отчет, который содержит информацию об опциях оценки и результатах для модели в пространстве состояний, полученной с помощью команд оценки, такой как ssest, ssregest, и n4sid. Используйте Report найти информацию об оценке для идентифицированной модели, включая:

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

  • Опции оценки

  • Поисковые условия завершения

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

Если вы создаете модель конструкцией, содержимым Report не важны.

A = [-0.1 0.4; -0.4 -0.1];
B = [1; 0];
C = [1 0];
D = 0;
m = idss(A,B,C,D);
sys.Report.OptionsUsed
ans =

     []

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

load iddata2 z2;
m = ssest(z2,3);
m.Report.OptionsUsed
InitialState: 'auto'
          N4Weight: 'auto'
         N4Horizon: 'auto'
             Focus: 'prediction'
EstimateCovariance: 1
           Display: 'off'
       InputOffset: []
      OutputOffset: []
      OutputWeight: []
      SearchMethod: 'auto'
     SearchOptions: [1x1 idoptions.search.identsolver]
    Regularization: [1x1 struct]
          Advanced: [1x1 struct]

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

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

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

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

Для идентифицированных систем такой как idss, OutputDelay фиксируется, чтобы обнулить.

Шаг расчета в виде одного из следующих.

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

  • Модель дискретного времени с заданным временем выборки — положительная скалярная величина, представляющая период выборки, описанный в модуле, задана TimeUnit свойство модели

  • Модель дискретного времени с незаданным шагом расчета — -1

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

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

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

Введите названия канала в виде вектора символов или массива ячеек.

  • Модель одно входа — Вектор символов. Например, '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'.

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

sys1.Notes = "sys1 has a string.";
sys2.Notes = 'sys2 has a character vector.';
sys1.Notes
sys2.Notes
ans = 

    "sys1 has a string."


ans =

    'sys2 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 автоматически со значениями переменных, которые соответствуют каждой записи в массиве.

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

В общем случае любая функция, применимая к Моделям Динамической системы, применима к idss объект модели. Эти функции имеют четыре общих типа.

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

    • Использование canon преобразовать idss модель в каноническую форму

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

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

  • Функции, которые выполняют аналитичный и функции симуляции на idss объекты, такой как bode и sim

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

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

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

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

canonКаноническая реализация пространства состояний
ss2ssКоординатное преобразование состояния для модели в пространстве состояний
balredСокращение порядка модели
translatecovПереведите ковариацию параметра через операции преобразования моделей
setparУстановите атрибуты, такие как значения и границы линейных параметров модели
chgTimeUnitИзмените единицы измерения времени динамической системы
d2dПередискретизируйте модель дискретного времени
d2cПреобразуйте модель от дискретного до непрерывного времени
c2dПреобразуйте модель от непрерывного до дискретного времени
mergeОбъедините оцененные модели

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

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

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

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

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

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

Примеры

свернуть все

Создайте 4-й порядок модель в пространстве состояний SISO идентифицируемыми параметрами. Инициализируйте значения начального состояния к 0,1 для всех записей. Установите шаг расчета на 0,1 с.

A = blkdiag([-0.1 0.4; -0.4 -0.1],[-1 5; -5 -1]);
B = [1; zeros(3,1)]; 
C = [1 0 1 0]; 
D = 0; 
K = zeros(4,1);
x0 = [0.1,0.1,0.1,0.1];
Ts = 0.1;

sys = idss(A,B,C,D,K,x0,Ts);

sys 4-й порядок SISO idss модель. Количество состояний и размерностей ввода - вывода определяется размерностями матриц пространства состояний. По умолчанию, все записи в матрицах ABCD, и K идентифицируемые параметры.

Можно использовать sys задавать начальную параметризацию для оценки модели в пространстве состояний с ssest или n4sid.

Создайте 4-й порядок модель в пространстве состояний SISO идентифицируемыми параметрами. Назовите каналы ввода и вывода модели и задайте минуты как единицу измерения времени модели.

Можно использовать аргументы пары "имя-значение", чтобы задать дополнительные свойства модели во время создания модели.

A = blkdiag([-0.1 0.4; -0.4 -0.1],[-1 5; -5 -1]);
B = [1; zeros(3,1)]; 
C = [1 0 1 0]; 
D = 0; 

sys = idss(A,B,C,D,'InputName','Drive','TimeUnit','minutes');

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

sys.OutputName = 'Torque';

Сконфигурируйте idss модель так, чтобы это не имело никакого элемента воздействия состояния и только ненулевых записей A матрица является допускающей оценку. Кроме того, зафиксируйте значения B матрица.

Можно сконфигурировать отдельные параметры idss модель, чтобы задать ограничения для оценки модели в пространстве состояний с ssest или n4sid.

Создайте idss модель.

A = blkdiag([-0.1 0.4; -0.4 -0.1],[-1 5; -5 -1]);
B = [1; zeros(3,1)]; 
C = [1 0 1 0]; 
D = 0; 
K = zeros(4,1);
x0 = [0.1,0.1,0.1,0.1];

sys = idss(A,B,C,D,K,x0,0);

Установка всех записей K to0 создает idss модель без элемента воздействия состояния.

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

sys.Structure.A.Free = (A~=0);
sys.Structure.B.Free = false;
sys.Structure.K.Free = false;

Записи в sys.Structure.A.Free определите ли соответствующие записи в sys.A свободен (идентифицирующийся) или фиксированный. Первая линия устанавливает sys.Structure.A.Free к логической матрице, которая является true везде, где A является ненулевым, и false везде еще. Эта установка фиксирует значения нулевых записей в sys.A.

Остающиеся линии фиксируют все значения в sys.B и sys.K к значениям, которые вы задали во время создания модели.

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

Используя 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.

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

sys0 = idss(G)
sys0 =
  Continuous-time identified state-space model:
      dx/dt = A x(t) + B u(t) + K e(t)
       y(t) = C x(t) + D u(t) + e(t)
 
  A = 
         x1    x2
   x1   -20  -2.5
   x2     2     0
 
  B = 
       u1
   x1   2
   x2   0
 
  C = 
        x1   x2
   y1  0.5    1
 
  D = 
       u1
   y1   0
 
  K = 
       y1
   x1   0
   x2   0
 
Parameterization:
   FREE form (all coefficients in A, B, C free).
   Feedthrough: none
   Disturbance component: none
   Number of free coefficients: 8
   Use "idssdata", "getpvec", "getcov" for parameters and their uncertainties.

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

Создайте массив моделей в пространстве состояний.

Можно создать массив моделей в пространстве состояний одним из нескольких способов:

  • Прямое использование конструкции массивов n- размерные массивы пространства состояний

  • Создание массива индексируемым присвоением

  • Создание массива с помощью stack команда

  • Выборка идентифицированной модели с помощью rsample команда

Создайте массив путем обеспечения n- размерные массивы как входной параметр к idss, вместо 2-мерных матриц.

A = rand(2,2,3,4);
sysarr = idss(A,[2;1],[1 1],0);

Когда вы предоставляете многомерный массив idss вместо одной из матриц пространства состояний первые две размерности задают количества состояний, входных параметров или выходных параметров каждой модели в массиве. Остальные измерения задают размерности самого массива. A 2 2 массивом 3 на 4. Поэтому sysarr массив 3 на 4 idss модели. Каждая модель в sysarr имеет два состояния, заданные первыми двумя размерностями A. Далее, каждая модель в sysarr имеет тот же BC, и D значения.

Создайте массив индексируемым присвоением.

sysarr = idss(zeros(1,1,2));
sysarr(:,:,1) = idss([4 -3; -2 0],[2;1],[1 1],0);
sysarr(:,:,2) = idss(rand(2),rand(2,1),rand(1,2),1);

Первая команда предварительно выделяет массив. Первые две размерности массива являются размерностями ввода-вывода каждой модели в массиве. Поэтому sysarr вектор с 2 элементами из моделей SISO.

Остающиеся команды присваивают idss модель к каждой позиции в sysarr. Каждая модель в массиве должна иметь те же размерности ввода-вывода.

Добавьте другую модель в sysarr использование stack.

stack альтернатива созданию массива путем индексации.

sysarr = stack(1,sysarr,idss([1 -2; -4 9],[0;-1],[1 1],0));

Эта команда добавляет другой idss модель вдоль первого измерения массива sysarr. sysarr теперь массив 3 на 1 SISO idss модели.

Введен в R2006a