tunableGain

Настраиваемый блок статического усиления

Синтаксис

blk = tunableGain(name,Ny,Nu)
blk = tunableGain(name,G)

Описание

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

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

Конструкция

blk = tunableGain(name,Ny,Nu) создает параметрический блок статического усиления под названием name. Этот блок имеет Ny выходные параметры и Nu входные параметры. Настраиваемые параметры являются усилениями через каждый Ny- Nu Каналы ввода-вывода.

blk = tunableGain(name,G) использует двойной массив G определить размеры блока и инициализировать настраиваемые параметры.

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

name

Блокируйте NameВ виде вектора символов, такого как 'K' или 'gain1'. (См. Свойства.)

Ny

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

Nu

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

G

Двойной массив статических значений усиления. Количество строк и столбцов G определите количество вводов и выводов blk. Записи G начальные значения параметрических параметров блоков усиления.

Свойства

Gain

Параметризация настраиваемого усиления.

blk.Gain param.Continuous объект. Для получения общей информации о свойствах param.Continuous Объект (Simulink Design Optimization) blk.Gain, смотрите param.Continuous страница ссылки на объект.

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

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

Текущее значение матрицы усиления. Для блока, который имеет Ny выходные параметры и Nu входные параметры, blk.Gain.Value Ny- Nu матрица.

Если вы используете G входной параметр, чтобы создать blk, blk.Gain.Value инициализирует к значениям G. В противном случае, все записи blk.Gain.Value инициализируйте, чтобы обнулить.

hinfstruct (Robust Control Toolbox) настраивает все записи в blk.Gain.Value кроме тех, значения которых фиксируются blk.Gain.Free.

Значение по умолчанию: Массив нулевых значений

Free

Массив логических значений, определяющих, ли записи усиления в blk.Gain.Value фиксируются или свободные параметры.

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

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

Значение по умолчанию: массив 1 (trueЗначения

Minimum

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

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

Maximum

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

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

Ts

Размер шага. Для моделей непрерывного времени, 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® тип данных.

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

Примеры

Создайте параметрический блок усиления 2 на 2 формы

[g100g2]

где g 1 и g 2 является настраиваемыми параметрами, и недиагональные элементы фиксируются, чтобы обнулить.

blk = tunableGain('gainblock',2,2);  % 2 outputs, 2 inputs
blk.Gain.Free = [1 0; 0 1];    % fix off-diagonal entries to zero

Все записи в blk.Gain.Value инициализируйте, чтобы обнулить. Инициализируйте диагональные значения к 1 можно следующим образом.

blk.Gain.Value = eye(2);    % set diagonals to 1

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

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

G = ones(3,2);
blk = tunableGain('gainblock',G);

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

blk = tunableGain('gainblock',2,2)   % 2 outputs, 2 inputs 
blk.InputName = {'Xerror','Yerror'}    % assign input names

Советы

  • Используйте blk.Gain.Free поле blk задавать дополнительную структуру или фиксировать значения определенных записей в блоке. Зафиксировать значение усиления от входа i к выходу j, установите   blk.Gain.Free(i,j) = 0. Позволить hinfstruct чтобы настроить это значение усиления, установите   blk.Gain.Free(i,j) = 1.

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

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

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

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

Введенный в R2016a