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)
sys = tf(numerator,denominator,ts)
sys = tf(numerator,denominator,ltiSys)
sys = tf(m)
sys = tf(___,Name,Value)
sys = tf(ltiSys)
sys = tf(ltiSys,component)
s = tf('s')
z = tf('z',ts)

Описание

пример

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-by-Nu массив ячеек векторов - строк, чтобы задать передаточную функцию MIMO, где Ny является количеством выходных параметров и Nu, является количеством входных параметров.

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

Также свойство объекта tf. Для получения дополнительной информации смотрите Числитель.

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

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

  • Ny-by-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. Если вы не задаете 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 включают неопределенные параметры. Используя неопределенные модели требует программного обеспечения Robust Control Toolbox. Для примера смотрите Передаточную функцию с Неопределенными Коэффициентами (Robust Control Toolbox).

Свойства

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

Коэффициенты числителя, заданные как:

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

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

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

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

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

  • Ny-by-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+b1z1+...+bkzk.

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

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

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

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

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

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

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

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

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

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

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

  • Ny-by-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Передискретизируйте модель дискретного времени
feedbackСвязь обратной связи двух моделей
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 array
    {'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 array
    {'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 - 4.441e-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.

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

Загрузите модель 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'.

В этом примере вы создадите фильтр нижних частот с одним настраиваемым параметром 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, чтобы создать настраиваемый фильтр нижних частот 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