exponenta event banner

tf

Модель передаточной функции

Описание

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

Передаточные функции - представление в частотной области линейных инвариантных по времени систем. Например, рассмотрим динамическую систему SISO непрерывного времени, представленную передаточной функцией sys(s) = N(s)/D(s), где s = jw и N(s) и D(s) называются числителем и многочленом знаменателя соответственно. tf объект модели может представлять функции передачи SISO или MIMO за непрерывное или дискретное время.

Объект модели передаточной функции можно создать либо путем непосредственного указания его коэффициентов, либо путем преобразования модели другого типа (например, модели state-space). ss) в форму transfer-function. Дополнительные сведения см. в разделе Передача функций.

Также можно использовать tf для создания обобщенного состояния-пространства (genss) модели или неопределенное состояние-пространство (uss (Надёжная панель инструментов управления)) модели.

Создание

Описание

пример

sys = tf(numerator,denominator) создает модель функции непрерывного переноса времени, устанавливая Numerator и Denominator свойства. Например, рассмотрим динамическую систему SISO непрерывного времени, представленную передаточной функцией sys(s) = N(s)/D(s), входные аргументы numerator и denominator являются коэффициентами N(s) и D(s)соответственно.

пример

sys = tf(numerator,denominator,ts) создает модель дискретно-временной передаточной функции, устанавливая Numerator, Denominator, и Ts свойства. Например, рассмотрим дискретную динамическую систему SISO, представленную передаточной функцией. sys(z) = N(z)/D(z), входные аргументы numerator и denominator являются коэффициентами N(z) и D(z)соответственно. Чтобы оставить время выборки неопределенным, установите ts входной аргумент для -1.

пример

sys = tf(numerator,denominator,ltiSys) создает модель передаточной функции со свойствами, унаследованными от динамической системной модели ltiSys, включая время выборки.

пример

sys = tf(m) создает модель передаточной функции, представляющую статический коэффициент усиления, m.

пример

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

пример

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

пример

sys = tf(ltiSys,component) преобразует указанное component из ltiSys для передачи формы функции. Использовать этот синтаксис только тогда, когда ltiSys - идентифицированная линейная инвариантная по времени (LTI) модель.

пример

s = tf('s') создает специальную переменную s которую можно использовать в рациональном выражении для создания модели функции переноса непрерывного времени. Использование рационального выражения иногда может быть проще и интуитивнее, чем указание полиномиальных коэффициентов.

пример

z = tf('z',ts) создает специальную переменную z которую можно использовать в рациональном выражении для создания модели дискретной функции переноса времени. Чтобы оставить время выборки неопределенным, установите ts входной аргумент для -1.

Входные аргументы

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

Числительные коэффициенты передаточной функции, указанные как:

  • Вектор строки полиномиальных коэффициентов.

  • Один Nyоколо-Nu массив ячеек векторов строк для задания функции передачи MIMO, где Ny - количество выходов, и Nu - количество входов.

При создании передаточной функции задайте числительные коэффициенты в порядке убывания мощности. Например, если числитель передаточной функции 3s^2-4s+5, затем укажите numerator как [3 -4 5]. Для дискретно-временной передаточной функции с числителем 2z-1, комплект numerator кому [2 -1].

Также является собственностью tf объект. Дополнительные сведения см. в разделе Числитель.

Коэффициенты знаменателя, указанные как:

  • Вектор строки полиномиальных коэффициентов.

  • Один Nyоколо-Nu массив ячеек векторов строк для задания функции передачи MIMO, где Ny - количество выходов и Nu - количество входов.

При создании передаточной функции задайте коэффициенты знаменателя в порядке убывания мощности. Например, если знаменателем передаточной функции является 7s^2+8s-9, затем укажите denominator как [7 8 -9]. Для дискретно-временной передаточной функции со знаменателем 2z^2+1, комплект denominator кому [2 0 1].

Также является собственностью tf объект. Дополнительные сведения см. в разделе Знаменатель.

Время выборки, указанное как скаляр. Также является собственностью tf объект. Дополнительные сведения см. в разделе Ts.

Динамическая система, заданная как динамическая системная модель SISO или MIMO или массив динамических системных моделей. Динамические системы, которые можно использовать:

  • Непрерывные или дискретные числовые модели LTI, такие как tf, zpk, ss, или pid модели.

  • Обобщенные или неопределенные модели LTI, такие как genss или uss (Надежная панель инструментов управления). (Для использования неопределенных моделей требуется программное обеспечение Toolbox™ надежного управления.)

    Результирующая передаточная функция предполагает

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

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

  • Идентифицированные модели LTI, такие как idtf(Панель инструментов идентификации системы), idss(Панель инструментов идентификации системы), idproc(Панель инструментов идентификации системы), idpoly(панель инструментов идентификации системы), и idgrey(Панель инструментов идентификации системы). Чтобы выбрать компонент определенной модели для преобразования, укажите component. Если не указать component, tf преобразует измеренный компонент идентифицированной модели по умолчанию. (Для использования идентифицированных моделей требуется программное обеспечение System Identification Toolbox™.)

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

Компонент идентифицированной модели для преобразования, указанный как один из следующих:

  • 'measured' - Преобразовать измеренный компонент sys.

  • 'noise' - Преобразование шумовой составляющей sys

  • 'augmented' - Преобразовать как измеренные, так и шумовые компоненты sys.

component применяется только тогда, когда sys является идентифицированной моделью LTI.

Дополнительные сведения об идентифицированных моделях LTI и их измеренных и шумовых компонентах см. в разделе Идентифицированные модели LTI.

Выходные аргументы

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

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

  • Передаточная функция (tf) объект модели, когда numerator и denominator входные аргументы являются числовыми массивами.

  • Обобщённая модель состояния-пространства (genss) объект, когда numerator или denominator входные аргументы включают настраиваемые параметры, такие как realp параметры или обобщенные матрицы (genmat). Пример см. в разделе Настраиваемый фильтр нижних частот.

  • Неопределенная модель состояния-пространства (uss) объект, когда numerator или denominator входные аргументы включают неопределенные параметры. Для использования неопределенных моделей требуется программное обеспечение Rustible Control Toolbox. Пример см. в разделе Передача функции с неопределенными коэффициентами (надёжная панель инструментов управления).

Свойства

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

Числительные коэффициенты, указанные как:

  • Вектор строки полиномиальных коэффициентов в порядке степени убывания (для Variable ценности 's', 'z', 'p', или 'q') или в порядке возрастания мощности (для Variable ценности 'z^-1' или 'q^-1').

  • Один Nyоколо-Nu массив ячеек векторов строк для задания функции передачи MIMO, где Ny - количество выходов и Nu - количество входов. Каждый элемент массива ячеек определяет числительные коэффициенты для данной пары «вход-выход». При указании обоих Numerator и Denominator как массивы ячеек, они должны иметь одинаковые размеры.

Коэффициенты Numerator может быть либо вещественным, либо комплексным.

Коэффициенты знаменателя, указанные как:

  • Вектор строки полиномиальных коэффициентов в порядке степени убывания (для значений Variable ценности 's', 'z', 'p', или 'q') или в порядке возрастания мощности (для Variable ценности 'z^-1' или 'q^-1').

  • Один Nyоколо-Nu массив ячеек векторов строк для задания функции передачи MIMO, где Ny - количество выходов и Nu - количество входов. Каждый элемент массива ячеек определяет числительные коэффициенты для данной пары «вход-выход». При указании обоих Numerator и Denominator как массивы ячеек, они должны иметь одинаковые размеры.

Если все записи SISO функции передачи MIMO имеют одинаковый знаменатель, можно указать Denominator в качестве вектора строки при указании Numerator в виде массива ячеек.

Коэффициенты Denominator может быть либо вещественным, либо комплексным.

Переменная отображения передаточной функции, заданная как одно из следующих значений:

  • 's' - По умолчанию для моделей непрерывного времени

  • 'z' - По умолчанию для моделей дискретного времени

  • 'p' - Эквивалентно 's'

  • 'q' - Эквивалентно 'z'

  • 'z^-1' - Обратная 'z'

  • 'q^-1' - Эквивалентно 'z^-1'

Значение Variable отражается на дисплее, а также влияет на интерпретацию Numerator и Denominator векторы коэффициентов для дискретно-временных моделей.

  • Для Variable ценности 's', 'z', 'p', или 'q'коэффициенты упорядочены в степени убывания переменной. Например, рассмотрим вектор строки [ak ... a1 a0]. Порядок многочленов задается как akzk +... + a1z + a0.

  • Для Variable ценности 'z^-1' или 'q^-1'коэффициенты упорядочены по возрастающим степеням переменной. Например, рассмотрим вектор строки [b0 b1 ... bk]. Порядок многочленов задается как b0 + b1z − 1 +... + bkz − k.

Примеры см. в разделах Определение порядка многочленов в функции передачи дискретного времени, Модель передачи функции с использованием рационального выражения и Модель передачи дискретного времени с использованием рационального выражения.

Задержка транспортировки, указанная как одно из следующих значений:

  • Скаляр - укажите задержку передачи для системы SISO или ту же задержку передачи для всех пар ввода/вывода системы MIMO.

  • Nyоколо-Nu array - укажите отдельные задержки передачи для каждой пары ввода/вывода системы MIMO. Здесь, Ny - количество выходов и Nu - количество входов.

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

Задержка на входе для каждого входного канала, определяемая как одно из следующих значений:

  • Скаляр (Scalar) - задает задержку ввода для системы SISO или такую же задержку для всех входов системы с несколькими входами.

  • Nu-by-1 vector - Определение отдельных входных задержек для ввода системы с несколькими входами, где Nu - количество входов.

Для систем непрерывного времени укажите задержки на входе в единицу времени, указанную TimeUnit собственность. Для дискретно-временных систем укажите входные задержки в целых кратных времени выборки, Ts.

Дополнительные сведения см. в разделе Временные задержки в линейных системах.

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

  • Скаляр (Scalar) - указывает задержку вывода для системы SISO или такую же задержку для всех выходов системы с несколькими выходами.

  • Ny-by-1 vector - Определение отдельных выходных задержек для вывода системы с несколькими выходами, где Ny - количество выходов.

Для систем непрерывного времени укажите задержки на выходе в единицах времени, указанных TimeUnit собственность. Для дискретно-временных систем укажите задержки на выходе в целых числах, кратных времени выборки. Ts.

Дополнительные сведения см. в разделе Временные задержки в линейных системах.

Время выборки, указанное как:

  • 0 для систем непрерывного времени.

  • Положительный скаляр, представляющий период выборки дискретно-временной системы. Определить Ts в единице времени, указанной TimeUnit собственность.

  • -1 для дискретно-временной системы с неопределенным временем выборки.

Примечание

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

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

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

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

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

  • Символьный вектор для моделей с одним входом.

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

  • '', не указаны имена для каких-либо входных каналов.

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

sys.InputName = 'controls';

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

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

Использовать InputName кому:

  • Определение каналов на дисплее модели и графиках.

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

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

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

  • Символьный вектор для моделей с одним входом.

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

  • '', не указаны единицы измерения для каких-либо входных каналов.

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

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

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

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

sys(:,'controls')

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

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

  • Символьный вектор для моделей с одним выходом.

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

  • '', не указаны имена для каких-либо выходных каналов.

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

sys.OutputName = 'measurements';

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

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

Использовать OutputName кому:

  • Определение каналов на дисплее модели и графиках.

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

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

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

  • Символьный вектор для моделей с одним выходом.

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

  • '', не указаны единицы измерения для каких-либо выходных каналов.

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

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

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

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

sys('measurement',:)

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

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

Пользовательский текст, который требуется связать с системой, указанный как символьный вектор или массив ячеек символьных векторов. Например, 'System is MIMO'.

Пользовательские данные, которые необходимо связать с системой, указанные как любой тип данных MATLAB.

Сетка выборки для массивов модели, заданная как массив структуры.

Использовать SamplingGrid для отслеживания значений переменных, связанных с каждой моделью в массиве модели, включая идентифицированные линейные инвариантные по времени (IDLTI) массивы моделей.

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

Например, можно создать массив линейных моделей 11 на 1. sysarr, делая снимки линейной изменяющейся во времени системы в моменты времени t = 0:10. В следующем коде хранятся выборки времени с линейными моделями.

 sysarr.SamplingGrid = struct('time',0:10)

Аналогично, можно создать массив модели 6 на 9, M, путем независимой выборки двух переменных, zeta и w. Следующий код отображает (zeta,w) значения для M.

[zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>)
M.SamplingGrid = struct('zeta',zeta,'w',w)

При отображении M, каждая запись в массиве включает в себя соответствующую zeta и w значения.

M
M(:,:,1,1) [zeta=0.3, w=5] =
 
        25
  --------------
  s^2 + 3 s + 25
 

M(:,:,2,1) [zeta=0.35, w=5] =
 
         25
  ----------------
  s^2 + 3.5 s + 25
 
...

Для массивов моделей, созданных путем линеаризации модели Simulink ® в нескольких значениях параметров или рабочих точках, программа заполняетSamplingGrid автоматически со значениями переменных, которые соответствуют каждой записи в массиве. Например, команды Simulink Control Design™ linearize (Simulink Control Design) и slLinearizer (Simulink Control Design) заполнить SamplingGrid автоматически.

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

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

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

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

stepГрафик ступенчатой реакции динамической системы; данные ответа на шаг
impulseграфик импульсной характеристики динамической системы; данные импульсной характеристики
lsimПостройте график моделируемой временной реакции динамической системы на произвольные входы; смоделированные данные ответа
bodeГрафик Моде частотной характеристики, или данные о величине и фазе
nyquistНайквистский график частотной характеристики
nicholsДиаграмма частотной характеристики Николса
bandwidthПолоса пропускания частотного отклика
poleПолюса динамической системы
zeroНули и усиление динамической системы SISO
pzplotНулевой график динамической модели системы с опциями настройки графика
marginЗапас усиления, запас фазы и переходные частоты
zpkМодель с нулевым коэффициентом усиления
ssМодель пространства состояний
c2dПреобразование модели из непрерывного в дискретное время
d2cПреобразование модели из дискретного в непрерывное время
d2dПовторная выборка дискретно-временной модели
feedbackОбратная связь нескольких моделей
connectБлок-схема взаимосвязей динамических систем
seriesПоследовательное соединение двух моделей
parallelПараллельное соединение двух моделей
pidtuneАлгоритм настройки PID для линейной модели установки
rlocusГрафик корневого локуса динамической системы
lqrКонструкция линейного квадратичного регулятора (LQR)
lqgЛинейно-квадратично-гауссова (LQG) конструкция
lqiЛинейно-квадратично-интегральное управление
kalmanПроектирование фильтра Калмана для оценки состояния

Примеры

свернуть все

В этом примере рассмотрим следующую модель передаточной функции SISO:

sys = 12s2 + 3s + 4.

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

numerator = 1;
denominator = [2,3,4];
sys = tf(numerator,denominator)
sys =
 
         1
  ---------------
  2 s^2 + 3 s + 4
 
Continuous-time transfer function.

В этом примере рассмотрим следующую модель функции передачи SISO с дискретным временем:

sys (z) = 2z4z3 + 3z-1.

Укажите числитель и коэффициенты знаменателя, упорядоченные в степени убывания z и время выборки 0,1 секунды. Создайте модель функции переноса дискретного времени.

numerator = [2,0];
denominator = [4,0,3,-1];
ts = 0.1;
sys = tf(numerator,denominator,ts)
sys =
 
        2 z
  ---------------
  4 z^3 + 3 z - 1
 
Sample time: 0.1 seconds
Discrete-time transfer function.

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

Передаточная функция системы второго порядка, выраженная в пересчете на её коэффициент демпфирования, а также на собственную частоту

sys (s) =

Принимая отношение демпфирования, ζ = 0.25 и собственная частота, ω0 = 3 рад/с, создают вторую функцию заказа перемещения.

zeta = 0.25;
w0 = 3;
numerator = w0^2;
denominator = [1,2*zeta*w0,w0^2];
sys = tf(numerator,denominator)
sys =
 
         9
  ---------------
  s^2 + 1.5 s + 9
 
Continuous-time transfer function.

Проверьте ответ этой передаточной функции на ввод шага.

stepplot(sys)

Figure contains an axes. The axes contains an object of type line. This object represents sys.

На графике показано кольцевое подавление, ожидаемое от системы второго порядка с низким коэффициентом демпфирования.

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

sys (z) = [1z + 0 .3zz + 0 .3-z + 2z + 0 33z + 0,3]

со временем выборки ts = 0.2 секунд.

Задайте числительные коэффициенты в виде матрицы 2 на 2.

numerators = {1 [1 0];[-1 2] 3};

Укажите коэффициенты общего знаменателя как вектор строки.

denominator = [1 0.3];

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

ts = 0.2;
sys = tf(numerators,denominator,ts)
sys =
 
  From input 1 to output...
          1
   1:  -------
       z + 0.3
 
       -z + 2
   2:  -------
       z + 0.3
 
  From input 2 to output...
          z
   1:  -------
       z + 0.3
 
          3
   2:  -------
       z + 0.3
 
Sample time: 0.2 seconds
Discrete-time transfer function.

Дополнительные сведения о создании функций передачи MIMO см. в разделе Функции передачи MIMO.

В этом примере модель передаточной функции MIMO создается путем объединения моделей передаточной функции SISO. Рассмотрим следующую передаточную функцию с одним входом и двумя выходами:

sys (s) = [s-1s + 1s + 2s2 + 4s + 5].

Укажите модель функции передачи MIMO путем объединения записей SISO.

sys1 = tf([1 -1],[1 1]);		
sys2 = tf([1 2],[1 4 5]);
sys = [sys1;sys2]
sys =
 
  From input to output...
       s - 1
   1:  -----
       s + 1
 
           s + 2
   2:  -------------
       s^2 + 4 s + 5
 
Continuous-time transfer function.

Дополнительные сведения о создании функций передачи MIMO см. в разделе Функции передачи MIMO.

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

Рассмотрим следующую систему:

sys = ss2 + 2s + 10.

Чтобы создать модель передаточной функции, сначала укажите s в качестве tf объект.

s = tf('s')
s =
 
  s
 
Continuous-time transfer function.

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

sys = s/(s^2 + 2*s + 10)
sys =
 
        s
  --------------
  s^2 + 2 s + 10
 
Continuous-time transfer function.

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

Рассмотрим следующую систему:

sys (z) = z-1z2-1.85z + 0,9 .Дискретная функция переноса времени

Чтобы создать модель передаточной функции, сначала укажите z в качестве tf объект и время выборки Ts.

ts = 0.1;
z = tf('z',ts)
z =
 
  z
 
Sample time: 0.1 seconds
Discrete-time transfer function.

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

sys = (z - 1) / (z^2 - 1.85*z + 0.9)
sys =
 
        z - 1
  ------------------
  z^2 - 1.85 z + 0.9
 
Sample time: 0.1 seconds
Discrete-time transfer function.

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

sys1 (s) = 2ss2 + 8sandsys2 (s) = s-17s4 + 2s3 + 9.

Для этого примера создайте sys1 с TimeUnit и InputDelay свойство имеет значение «»minutes'.

numerator1 = [2,0];
denominator1 = [1,8,0];
sys1 = tf(numerator1,denominator1,'TimeUnit','minutes','InputUnit','minutes')
sys1 =
 
     2 s
  ---------
  s^2 + 8 s
 
Continuous-time transfer function.
propValues1 = [sys1.TimeUnit,sys1.InputUnit]
propValues1 = 1x2 cell
    {'minutes'}    {'minutes'}

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

numerator2 = [1,-1];
denominator2 = [7,2,0,0,9];
sys2 = tf(numerator2,denominator2,sys1)
sys2 =
 
        s - 1
  -----------------
  7 s^4 + 2 s^3 + 9
 
Continuous-time transfer function.
propValues2 = [sys2.TimeUnit,sys2.InputUnit]
propValues2 = 1x2 cell
    {'minutes'}    {'minutes'}

Обратите внимание, что модель передаточной функции sys2 имеет те же свойства, что и sys1.

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

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

sys = tf(zeros(1,1,3));

Первые два индекса представляют количество выходов и входов для моделей, в то время как третий индекс представляет количество моделей в массиве.

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

s = tf('s');                                                  
for k = 1:3                                                             
    sys(:,:,k) = k/(s^2+s+k);                                          
end
sys
sys(:,:,1,1) =
 
       1
  -----------
  s^2 + s + 1
 

sys(:,:,2,1) =
 
       2
  -----------
  s^2 + s + 2
 

sys(:,:,3,1) =
 
       3
  -----------
  s^2 + s + 3
 
3x1 array of continuous-time transfer functions.

В этом примере вычислите передаточную функцию следующей модели состояния-пространства:

A = [-2-11-2], B = [112-1], C = [10], D = [01].

Создайте модель state-space с помощью матриц state-space.

A = [-2 -1;1 -2];
B = [1 1;2 -1];
C = [1 0];
D = [0 1];
ltiSys = ss(A,B,C,D);

Преобразование модели «состояние-пространство» ltiSys в передаточную функцию.

sys = tf(ltiSys)
sys =
 
  From input 1 to output:
  s + 6.28e-16
  -------------
  s^2 + 4 s + 5
 
  From input 2 to output:
  s^2 + 5 s + 8
  -------------
  s^2 + 4 s + 5
 
Continuous-time transfer function.

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

Загрузить модель полинома Бокса (Box) - Дженкинса (Jenkins) ltiSys в identifiedModel.mat.

load('identifiedModel.mat','ltiSys');

ltiSys - идентифицированная дискретно-временная модель вида: y (t) = BFu (t) + CDe (t), где BF представляет измеренную составляющую и CD составляющую шума.

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

sysMeas = tf(ltiSys,'measured') 
sysMeas =
 
  From input "u1" to output "y1":
            -0.1426 z^-1 + 0.1958 z^-2
  z^(-2) * ----------------------------
           1 - 1.575 z^-1 + 0.6115 z^-2
 
Sample time: 0.04 seconds
Discrete-time transfer function.
sysNoise = tf(ltiSys,'noise')
sysNoise =
 
  From input "v@y1" to output "y1":
           0.04556 + 0.03301 z^-1
  ----------------------------------------
  1 - 1.026 z^-1 + 0.26 z^-2 - 0.1949 z^-3
 
Input groups:        
    Name     Channels
    Noise       1    
                     
Sample time: 0.04 seconds
Discrete-time transfer function.

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

Объекты модели передаточной функции включают данные модели, которые помогают отслеживать представление модели. Например, можно назначить имена входам и выходам модели.

Рассмотрим следующую модель функции передачи MIMO непрерывного времени:

sys (s) = [s + 1s2 + 2s + 21 s]

Модель имеет один вход - Ток и два выхода - Крутящий момент и Угловая скорость.

Сначала задайте числитель и коэффициенты знаменателя модели.

numerators = {[1 1] ; 1};
denominators = {[1 2 2] ; [1 0]};

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

sys = tf(numerators,denominators,'InputName','Current',...
        'OutputName',{'Torque' 'Angular Velocity'})
sys =
 
  From input "Current" to output...
                s + 1
   Torque:  -------------
            s^2 + 2 s + 2
 
                      1
   Angular Velocity:  -
                      s
 
Continuous-time transfer function.

Для этого примера укажите порядок многочленов в моделях дискретно-временных передаточных функций с помощью 'Variable'свойство.

Рассмотрим следующие функции передачи дискретного времени с временем выборки 0,1 секунды:

sys1 (z) = z2z2 + 2z + 3sys2 (z-1) = 11 + 2z-1 + 3z-2.

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

numerator = [1,0,0];
denominator = [1,2,3];
ts = 0.1;
sys1 = tf(numerator,denominator,ts)
sys1 =
 
       z^2
  -------------
  z^2 + 2 z + 3
 
Sample time: 0.1 seconds
Discrete-time transfer function.

Коэффициенты sys1 упорядочены в нисходящих степенях z.

tf соглашения о переключениях на основе значения 'Variable'свойство. С тех пор sys2 является моделью обратной передаточной функции sys1, укажите 'Variable'как'z^-1"и использовать те же числительные и знаменательные коэффициенты.

sys2 = tf(numerator,denominator,ts,'Variable','z^-1')
sys2 =
 
           1
  -------------------
  1 + 2 z^-1 + 3 z^-2
 
Sample time: 0.1 seconds
Discrete-time transfer function.

Коэффициенты sys2 теперь упорядочены в восходящих силах z^-1.

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

В этом примере создается фильтр нижних частот с одним настраиваемым параметром a:

F = как + a

Так как числитель и знаменатель коэффициентов tunableTF блоки независимы, использовать нельзя tunableTF представлять F. Вместо этого постройте F использование настраиваемого объекта вещественных параметров realp.

Создание реального настраиваемого параметра с начальным значением 10.

a = realp('a',10)
a = 
       Name: 'a'
      Value: 10
    Minimum: -Inf
    Maximum: Inf
       Free: 1

Real scalar parameter.

Использовать tf для создания настраиваемого фильтра нижних частот F.

numerator = a;
denominator = [1,a];
F = tf(numerator,denominator)
F =

  Generalized continuous-time state-space model with 1 outputs, 1 inputs, 1 states, and the following blocks:
    a: Scalar parameter, 2 occurrences.

Type "ss(F)" to see the current value, "get(F)" to see all properties, and "F.Blocks" to interact with the blocks.

F является genss объект, имеющий настраиваемый параметр a в своем Blocks собственность. Вы можете подключиться F с другими настраиваемыми или числовыми моделями для создания более сложных моделей системы управления. Пример см. в разделе Система управления с перестраиваемыми компонентами.

В этом примере создается модель функции передачи MIMO статического усиления.

Рассмотрим следующую матрицу статического усиления с двумя входами и двумя выходами m:

m = [2435]

Укажите матрицу усиления и создайте модель статической функции передачи усиления.

m = [2,4;...
    3,5];
sys1 = tf(m)
sys1 =
 
  From input 1 to output...
   1:  2
 
   2:  3
 
  From input 2 to output...
   1:  4
 
   2:  5
 
Static gain.

Можно использовать модель функции передачи статического усиления sys1 полученный выше для каскадирования его с другой моделью передаточной функции.

Для этого примера создайте другую модель дискретной передаточной функции с двумя входами и используйте series для соединения двух моделей.

numerators = {1,[1,0];[-1,2],3};
denominator = [1,0.3];
ts = 0.2;
sys2 = tf(numerators,denominator,ts)
sys2 =
 
  From input 1 to output...
          1
   1:  -------
       z + 0.3
 
       -z + 2
   2:  -------
       z + 0.3
 
  From input 2 to output...
          z
   1:  -------
       z + 0.3
 
          3
   2:  -------
       z + 0.3
 
Sample time: 0.2 seconds
Discrete-time transfer function.
sys = series(sys1,sys2)
sys =
 
  From input 1 to output...
       3 z^2 + 2.9 z + 0.6
   1:  -------------------
       z^2 + 0.6 z + 0.09
 
       -2 z^2 + 12.4 z + 3.9
   2:  ---------------------
        z^2 + 0.6 z + 0.09
 
  From input 2 to output...
       5 z^2 + 5.5 z + 1.2
   1:  -------------------
       z^2 + 0.6 z + 0.09
 
       -4 z^2 + 21.8 z + 6.9
   2:  ---------------------
        z^2 + 0.6 z + 0.09
 
Sample time: 0.2 seconds
Discrete-time transfer function.

Ограничения

  • Модели передаточных функций плохо подходят для численных вычислений. После создания преобразуйте их в форму «состояние-пространство», прежде чем объединять их с другими моделями или выполнять преобразования модели. Затем можно преобразовать полученные модели обратно в форму функции переноса для целей контроля.

  • Идентифицированная нелинейная модель не может быть непосредственно преобразована в модель передаточной функции с помощью tf. Для получения модели передаточной функции:

    1. Преобразование нелинейной идентифицированной модели в идентифицированную модель LTI с помощью linapp(Панель инструментов идентификации системы), idnlarx/linearize(Панель инструментов идентификации системы), или idnlhw/linearize(Панель инструментов идентификации системы).

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

Представлен до R2006a