tf

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

Описание

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

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

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

Можно также использовать 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 модели. (Используя неопределенные модели требует программного обеспечения Robust Control Toolbox™.)

    Получившаяся передаточная функция принимает

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

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

  • Модели данных частотной характеристики, такие как frd модели.

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

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

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

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

  • 'noise' — Преобразуйте шумовой компонент sys

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

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

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

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

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

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

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

  • Обобщенная модель в пространстве состояний (genss) объект, когда numerator или denominator входные параметры включают настраиваемые параметры, такие как realp параметры или обобщенные матрицы (genmat). Для примера смотрите Настраиваемый Фильтр Lowpass.

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

Свойства

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

Коэффициенты числителя в виде:

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

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

Коэффициенты Numerator может быть или с действительным знаком или с комплексным знаком.

Коэффициенты знаменателя в виде:

  • Вектор-строка из полиномиальных коэффициентов в порядке убывающей степени (для значений Variable значения 's'ZP, или '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'ZP, или 'q', коэффициенты упорядочены в убывающих степенях переменной. Например, считайте вектор-строку [ak ... a1 a0]. Полиномиальный порядок задан как akzk+...+a1z+a0.

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

Для примеров смотрите, Задают Упорядоченное расположение Полинома в Передаточной функции Дискретного времени, Модели Передаточной функции Используя Рациональное выражение и Модели Передаточной функции Дискретного времени Используя Рациональное выражение.

Транспортная задержка в виде одного из следующего:

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

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

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

Введите задержку каждого входного канала в виде одного из следующего:

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

  • Nu- 1 вектор — Задают отдельные входные задержки входа мультивходной системы, где Nu количество входных параметров.

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

Для получения дополнительной информации смотрите Задержки Линейных систем.

Выведите задержку каждого выходного канала в виде одного из следующего:

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

  • Ny- 1 вектор — Задают отдельные выходные задержки выхода мультивыходной системы, где Ny количество выходных параметров.

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

Для получения дополнительной информации смотрите Задержки Линейных систем.

Шаг расчета в виде:

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

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

  • -1 для системы дискретного времени с незаданным шагом расчета.

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

Модули переменной Time в виде одного из следующего:

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

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

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

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

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

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

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

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 2D выходная модель, введите:

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 и slLinearizer заполните SamplingGrid автоматически.

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

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

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

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

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

Примеры

свернуть все

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

sys(s)=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.

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

Передаточная функция системы второго порядка, выраженной в терминах ее коэффициента затухания ζ и собственная частота ω0:

sys(s)=ω02s2+2ζω0s+ω02.

Принятие коэффициента затухания, ζ = 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)

График показывает ringdown, ожидаемый системы второго порядка с низким коэффициентом затухания.

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

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. Рассмотрите следующий одно вход, 2D выходную передаточную функцию:

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(s)=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].

Создайте модель в пространстве состояний с помощью матриц пространства состояний.

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
  -------------
  s^2 + 4 s + 5
 
  From input 2 to output:
  s^2 + 5 s + 8
  -------------
  s^2 + 4 s + 5
 
Continuous-time transfer function.

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

Загрузите модель ltiSys полинома Поля-Jenkins в 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+21s]

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

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

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Свойство.

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

F=as+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 чтобы создать настраиваемый lowpass фильтруют 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.

Рассмотрите следующий 2D вход, 2D выход статическая матрица усиления 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 передаточной функции усиления полученный выше, чтобы расположить каскадом его с другой моделью передаточной функции.

В данном примере создайте другой 2D вход, 2D выход дискретная модель передаточной функции и используйте 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