exponenta event banner

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 находится в компаньонной форме. В компаньонной форме характерный многочлен системы появляется явно в крайнем правом столбце матрицы А. Посмотрите 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 Страница ссылок на объект (Simulink Design Optimization).

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

ОбластьОписание
Value

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

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

Free

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

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

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

Дефолты: По умолчанию, все записи в B, C, и 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'.

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

  • '' - Для неназванных состояний.

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

StateUnit

Государственные единицы, указанные как одно из следующих:

  • Символьный вектор - для моделей первого порядка, например, 'velocity'

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

  • '' - Для состояний без указанных единиц

Использовать StateUnit для отслеживания единиц, в которых выражается каждое состояние. StateUnit не влияет на поведение системы.

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

Ts

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

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

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

TimeUnit

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

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

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

По умолчанию: 'seconds'

InputName

Имена входных каналов, указанные как одно из следующих:

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

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

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

sys.InputName = 'controls';

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

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

Имена входных каналов имеют несколько применений, в том числе:

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

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

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

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

InputUnit

Блоки входных каналов, указанные как одно из следующих:

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

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

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

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

InputGroup

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

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

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

sys(:,'controls')

По умолчанию: структура без полей

OutputName

Имена выходных каналов, указанные как одно из следующих:

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

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

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

sys.OutputName = 'measurements';

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

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

Имена выходных каналов имеют несколько применений, в том числе:

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

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

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

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

OutputUnit

Единицы выходного канала, указанные как одно из следующих:

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

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

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

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

OutputGroup

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

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

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

sys('measurement',:)

По умолчанию: структура без полей

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 ®.

По умолчанию: []

Примеры

Создание параметризованной модели SISO 5-го порядка с нулем 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 матрица параметрической модели состояния-пространства. Чтобы наложить дополнительные структурные ограничения на матрицы state-space, используйте поля 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 параметрическая модель к числовому (не настраиваемому) объекту модели, используйте команды модели, такие как ss, tf, или zpk.

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

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

В R2016a изменилось поведение

Представлен в R2016a