tunableSS

Настраиваемая модель в пространстве состояний фиксированного порядка

Синтаксис

blk = tunableSS(name,Nx,Ny,Nu)
blk = tunableSS(name,Nx,Ny,Nu,Ts)
blk = tunableSS(name,sys)
blk = tunableSS(...,Astruct)

Описание

Объект модели для создания настраиваемых моделей в пространстве состояний фиксированного порядка. tunableSS позволяет вам параметризовать модель в пространстве состояний данного распоряжения исследованиям параметра или автоматической настройке с настраивающимися командами, такими как systune или looptune.

tunableSS часть семейства Блоков Системы управления параметрических моделей. Другие Блоки Системы управления включают tunablePID, tunableGain, и tunableTF.

Конструкция

blk = tunableSS(name,Nx,Ny,Nu) создает непрерывное время параметрическая модель в пространстве состояний под названием name. Модель в пространстве состояний blk имеет Nx состояния, Ny выходные параметры и Nu входные параметры. Настраиваемые параметры являются записями в A, B, C и матрицах D модели в пространстве состояний.

blk = tunableSS(name,Nx,Ny,Nu,Ts) создает дискретное время параметрическая модель в пространстве состояний с шагом расчета Ts.

blk = tunableSS(name,sys) использует динамическую систему sys чтобы определить размеры параметрической модели в пространстве состояний, установите ее шаг расчета и инициализируйте настраиваемые параметры.

blk = tunableSS(...,Astruct) создает параметрическую модель в пространстве состояний чей A матрица ограничивается структурой, заданной в Astruct.

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

name

Параметрическая модель в пространстве состояний Name, заданный как вектор символов, такой как 'C0'. (См. Свойства.)

Nx

Неотрицательное целое число, задающее количество состояний (порядок) параметрической модели в пространстве состояний blk.

Ny

Неотрицательное целое число, задающее количество выходных параметров параметрической модели в пространстве состояний blk.

Nu

Неотрицательное целое число, задающее количество входных параметров параметрической модели в пространстве состояний blk.

Ts

Скалярный шаг расчета.

Astruct

Ограничения на форму A матрица параметрической модели в пространстве состояний blk, заданный как одно из следующих значений:

Значение для AstructСтруктура A матрица
'tridiag'A трехдиагонально. В трехдиагональной форме, A имеет свободные элементы только в основной диагонали, первой диагонали ниже основной диагонали и первой диагонали выше основной диагонали. Остающиеся элементы A фиксируются, чтобы обнулить.
'full'A полно (каждая запись в A свободный параметр).
'companion'A находится в сопутствующей форме. В сопутствующей форме характеристический полином системы появляется явным образом в крайнем правом столбце матрицы A. Смотрите canon для получения дополнительной информации.

Если вы не задаете Astruct, blk значения по умолчанию к 'tridiag' форма.

sys

Модель динамической системы, обеспечивающая количество состояний, количество вводов и выводов, шага расчета и начальных значений параметров blk. Получить размерности и начальные значения параметров, tunableSS преобразует sys к модели в пространстве состояний со структурой, заданной в Astruct. Если вы не используете Astruct, tunableSS преобразует sys в трехдиагональную форму пространства состояний.

Свойства

A, B, C, D

Параметризация матриц пространства состояний A, B, C и D настраиваемой модели в пространстве состояний blk.

blk.A, blk.B, blk.C, и blk.D param.Continuous объекты. Для получения общей информации о свойствах их param.Continuous объекты, смотрите param.Continuous страница ссылки на объект.

Следующие поля blk.A, blk.B, blk.C, и blk.D используются, когда вы настраиваете blk использование hinfstruct:

Поле Описание
Value

Текущие значения записей в параметрической матрице пространства состояний. Например, blk.A.Value содержит значения A матрица blk.

hinfstruct мелодии все записи в blk.A.Value, blk.B.Value, blk.C.Value, и blk.D.Value кроме тех, значения которых фиксируются blk.Gain.Free.

Free

2D массив логических значений, определяющих, фиксируются ли соответствующие параметры матрицы пространства состояний или свободные параметры. Например:

  • Если blk.A.Free(i,j) = 1, затем blk.A.Value(i,j) настраиваемый параметр.

  • Если blk.A.Free(i,j) = 0, затем blk.A.Value(i,j) фиксируется.

Значения по умолчанию: По умолчанию, все записи в BC, и D являются настраиваемыми. Свободные входы по умолчанию в A зависьте от значения Astruct:

  • 'tridiag' — записи на трех диагоналях blk.A.Free 1; остальные - 0.

  • 'full' — все записи в blk.A.Free 0.

  • 'companion'blk.A.Free(1,:) = 1 и blk.A.Free(j,j-1) = 1; всеми другими записями является 0.

Minimum

Минимальное значение параметра. Это свойство помещает нижнюю границу в настроенное значение параметра. Например, установка blk.A.Minimum(1,1) = 0 гарантирует что первая запись в A матрица остается положительной.

Значение по умолчанию: -Inf

Maximum

Максимальное значение параметра. Это свойство помещает верхнюю границу в настроенное значение параметра. Например, установка blk.A.Maximum(1,1) = 0 гарантирует что первая запись в A матрица остается отрицательной.

Значение по умолчанию: Inf

StateName

Имена состояния, заданные как одно из следующего:

  • Вектор символов — Для моделей первого порядка, например, 'velocity'.

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

  • '' — Для состояний без имени.

Значение по умолчанию: '' для всех состояний

StateUnit

Модули состояния, заданные как одно из следующего:

  • Вектор символов — Для моделей первого порядка, например, 'velocity'

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

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

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

Значение по умолчанию: '' для всех состояний

Ts

'SampleTime' . Для моделей непрерывного времени, Ts = 0. Для моделей дискретного времени, Ts положительная скалярная величина, представляющая период выборки. Это значение выражается в модуле, заданном TimeUnit свойство модели. Чтобы обозначить модель дискретного времени с незаданным шагом расчета, установите Ts = -1.

Изменение этого свойства не дискретизирует или передискретизирует модель.

Значение по умолчанию: 0 (непрерывное время)

TimeUnit

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

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

Изменение этого свойства не оказывает влияния на другие свойства, и поэтому изменяет полное поведение системы. Используйте chgTimeUnit преобразовывать между единицами измерения времени, не изменяя поведение системы.

Значение по умолчанию: 'seconds'

InputName

Введите названия канала, заданные как одно из следующего:

  • Вектор символов — Для моделей одно входа, например, 'controls'.

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

В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить входные имена для мультивходных моделей. Например, если sys 2D входная модель, введите:

sys.InputName = 'controls';

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

Можно использовать краткое обозначение u относиться к InputName свойство. Например, sys.u эквивалентно sys.InputName.

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

  • Идентификация каналов на отображении модели и графиках

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

  • Определение точек контакта, когда взаимосвязанные модели

Значение по умолчанию: '' для всех входных каналов

InputUnit

Введите модули канала, заданные как одно из следующего:

  • Вектор символов — Для моделей одно входа, например, 'seconds'.

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

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

Значение по умолчанию: '' для всех входных каналов

InputGroup

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

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

создает входные группы под названием controls и noise это включает входные каналы 1, 2 и 3, 5, соответственно. Можно затем извлечь подсистему из controls входные параметры ко всему выходному использованию:

sys(:,'controls')

Значение по умолчанию: Struct без полей

OutputName

Выведите названия канала, заданные как одно из следующего:

  • Вектор символов — Для моделей одно выхода. Например, 'measurements'.

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

В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить выходные имена для мультивыходных моделей. Например, если sys 2D выходная модель, введите:

sys.OutputName = 'measurements';

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

Можно использовать краткое обозначение y относиться к OutputName свойство. Например, sys.y эквивалентно sys.OutputName.

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

  • Идентификация каналов на отображении модели и графиках

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

  • Определение точек контакта, когда взаимосвязанные модели

Значение по умолчанию: '' для всех выходных каналов

OutputUnit

Выведите модули канала, заданные как одно из следующего:

  • Вектор символов — Для моделей одно выхода. Например, 'seconds'.

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

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

Значение по умолчанию: '' для всех выходных каналов

OutputGroup

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

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

создает выходные группы под названием temperature и measurement это включает выходные каналы 1, и 3, 5, соответственно. Можно затем извлечь подсистему от всех входных параметров до measurement выходное использование:

sys('measurement',:)

Значение по умолчанию: Struct без полей

Name

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

Значение по умолчанию: ''

Notes

Любой текст, который вы хотите сопоставить с системой, сохраненной как строка или массив ячеек из символьных векторов. Свойство хранит, какой бы ни тип данных вы обеспечиваете. Например, если 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.'

Значение по умолчанию: [0×1 string]

UserData

Любой тип данных вы хотите сопоставить с системой, заданной как любой тип данных MATLAB®.

Значение по умолчанию: []

Примеры

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

 blk = tunableSS('ssblock',5,1,1);
 blk.D.Value = 0;      % set D = 0
 blk.D.Free = false;   % fix D to zero

По умолчанию, A матрица находится в трехдиагональной форме. Чтобы параметризовать модель в сопутствующей форме, используйте 'companion' входной параметр:

 blk = tunableSS('ssblock',5,1,1,'companion');
 blk.D.Value = 0;      % set D = 0
 blk.D.Free = false;   % fix D to zero

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

blk = tunableSS('ssblock',5,2,2) % 5 states, 2 outputs, 2 inputs
blk.InputName = {'Xerror','Yerror'} % assign input names

Советы

  • Используйте Astruct входной параметр, чтобы ограничить структуру A матрица параметрической модели в пространстве состояний. Наложить дополнительную структуру ограничивает на матрицах пространства состояний, используйте поля blk.A.Free, blk.B.Free, blk.C.Free, и blk.D.Free зафиксировать значения определенных записей в матрицах параметра.

    Например, чтобы зафиксировать значение blk.B(i,j), установите   blk.B.Free(i,j) = 0. Позволить hinfstruct настроить blk.B(i,j), установите   blk.B.Free(i,j) = 1.

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

Вопросы совместимости

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

Поведение изменяется в R2016a

Введенный в R2016a

Для просмотра документации необходимо авторизоваться на сайте