tunableTF

Настраиваемая передаточная функция с постоянным числом полюсов и нулей

Синтаксис

blk = tunableTF(name,Nz,Np)
blk = tunableTF(name,Nz,Np,Ts)
blk = tunableTF(name,sys)

Описание

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

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

Конструкция

blk = tunableTF(name,Nz,Np) создает параметрическую передаточную функцию SISO:

blk=amsm+am1sm1++a1s+a0sn+bn1sn1++b1s+b0.

 n = Np максимальное количество полюсов blk, и  m = Nz максимальное количество нулей. Настраиваемые параметры являются числителем и коэффициентами знаменателя a 0 ..., am и b 0 ..., b n –1. Ведущий коэффициент знаменателя фиксируется к 1.

blk = tunableTF(name,Nz,Np,Ts) создает дискретное время параметрическая передаточная функция с шагом расчета Ts.

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

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

name

Параметрическая передаточная функция NameВ виде вектора символов, такого как 'filt' или 'DM'. (См. Свойства.)

Nz

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

Np

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

Ts

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

sys

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

Свойства

Numerator, Denominator

Параметризация коэффициентов числителя am ..., a 0 и коэффициенты знаменателя 1, b n –1 ..., b 0 из настраиваемой передаточной функции blk.

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

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

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

Массив текущих значений числителя am ..., a 0 или коэффициенты знаменателя 1, b n –1 ..., b 0. blk.Numerator.Value имеет длину Nz + 1. blk.Denominator.Value имеет длину Np + 1. Ведущий коэффициент знаменателя (blk.Denominator.Value(1)) всегда фиксируется к 1.

По умолчанию коэффициенты инициализируют к значениям, которые дают к устойчивой, строго соответствующей передаточной функции. Используйте вход sys инициализировать коэффициенты к различным значениям.

hinfstruct (Robust Control Toolbox) настраивает все значения кроме тех чей Free поле является нулем.

Free

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

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

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

Значение по умолчанию: blk.Denominator.Free(1) = 0; все другие записи равняются 1.

Minimum

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

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

Maximum

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

Значение по умолчанию: 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® тип данных.

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

Примеры

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

Передаточная функция с интегратором включает фактор 1/s. Поэтому, чтобы гарантировать, что параметрированная передаточная функция имеет по крайней мере один интегратор независимо от значений параметров, зафиксируйте коэффициент самый низкоуровневый знаменателя, чтобы обнулить.

  blk = tunableTF('tfblock',2,4);  % two zeros, four poles
  blk.Denominator.Value(end) = 0;   % set last denominator entry to zero
  blk.Denominator.Free(end) = 0;    % fix it to zero

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

blk = tunableTF('tfblock',2,3);   
blk.InputName = {'error'};      % assign input name
blk.OutputName = {'control'};    % assign output name

Советы

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

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

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

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

Введенный в R2016a