Модель передаточной функции
Используйте 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 динамической системы, включая шаг расчета.
s = tf('s') создает специальную переменную s, который можно использовать в рациональном выражении, чтобы создать непрерывно-разовую модель передаточной функции. Используя рациональное выражение может иногда быть легче и более интуитивным, чем определение полиномиальных коэффициентов.
numerator — Коэффициенты числителя передаточной функцииNy-by-Nu массив ячеек векторов - строкКоэффициенты числителя передаточной функции, заданной как:
Вектор - строка из полиномиальных коэффициентов.
Ny-by-Nu массив ячеек векторов - строк, чтобы задать передаточную функцию MIMO, где Ny является количеством выходных параметров и Nu, является количеством входных параметров.
Когда вы создаете передаточную функцию, задаете коэффициенты числителя в порядке убывающей степени. Например, если числителем передаточной функции является 3s^2-4s+5, то задайте numerator как [3 -4 5]. Для передаточной функции дискретного времени с числителем 2z-1, набор numerator к [2 -1].
Также свойство объекта tf. Для получения дополнительной информации смотрите Числитель.
denominator — Коэффициенты знаменателя передаточной функцииNy-by-Nu массив ячеек векторов - строкКоэффициенты знаменателя, заданные как:
Вектор - строка из полиномиальных коэффициентов.
Ny-by-Nu массив ячеек векторов - строк, чтобы задать передаточную функцию MIMO, где Ny является количеством выходных параметров и Nu, является количеством входных параметров.
Когда вы создаете передаточную функцию, задаете коэффициенты знаменателя в порядке убывающей степени. Например, если знаменателем передаточной функции является 7s^2+8s-9, то задайте denominator как [7 8 -9]. Для передаточной функции дискретного времени со знаменателем 2z^2+1, набор denominator к [2 0 1].
Также свойство объекта tf. Для получения дополнительной информации смотрите Знаменатель.
ts — 'SampleTime' Шаг расчета, заданный как скаляр. Также свойство объекта tf. Для получения дополнительной информации смотрите Ts.
ltiSys — Динамическая системаДинамическая система, заданная как 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™.)
m Статическое усилениеСтатическое усиление, заданное как скаляр или матрица. Статическое усиление усиления или устойчивого состояния системы представляет отношение вывода к входу при условии устойчивого состояния.
component — Компонент идентифицированной модели'measured' (значение по умолчанию) | 'noise' | 'augmented'Компонент идентифицированной модели, чтобы преобразовать, заданный как одно из следующего:
'measured' — Преобразуйте измеренный компонент sys.
'noise' — Преобразуйте шумовой компонент sys
'augmented' — Преобразуйте и измеренные и шумовые компоненты sys.
component только применяется, когда sys является идентифицированной моделью LTI.
Для получения дополнительной информации об идентифицированных моделях LTI и их измеренных и шумовых компонентах, см. Идентифицированные Модели LTI.
sys — Выведите системную модельtf | объект модели genss | объект модели ussВыведите системную модель, возвращенную как:
Передаточная функция (tf) объект модели, когда numerator и входные параметры denominator являются числовыми массивами.
Обобщенный объект (genss) модели в пространстве состояний, когда входные параметры numerator или denominator включают настраиваемые параметры, такие как параметры realp или обобщенные матрицы (genmat). Для примера смотрите Настраиваемый Фильтр нижних частот.
Неопределенный объект (uss) модели в пространстве состояний, когда входные параметры numerator или denominator включают неопределенные параметры. Используя неопределенные модели требует программного обеспечения Robust Control Toolbox. Для примера смотрите Передаточную функцию с Неопределенными Коэффициентами (Robust Control Toolbox).
Numerator — Коэффициенты числителяNy-by-Nu массив ячеек векторов - строкКоэффициенты числителя, заданные как:
Вектор - строка из полиномиальных коэффициентов в порядке убывающей степени (для значений Variable 's', 'z', 'p' или 'q') или в порядке возрастающей степени (для значений Variable 'z^-1' или 'q^-1').
Ny-by-Nu массив ячеек векторов - строк, чтобы задать передаточную функцию MIMO, где Ny является количеством выходных параметров и Nu, является количеством входных параметров. Каждый элемент массива ячеек задает коэффициенты числителя для данной пары ввода/вывода. Если вы задаете и Numerator и Denominator как массивы ячеек, у них должны быть те же размерности.
Коэффициенты Numerator могут быть или с действительным знаком или с комплексным знаком.
Denominator — Коэффициенты знаменателяNy-by-Nu массив ячеек векторов - строкКоэффициенты знаменателя, заданные как:
Вектор - строка из полиномиальных коэффициентов в порядке убывающей степени (для значений значения Variable 's', 'z', 'p' или 'q') или в порядке возрастающей степени (для значений Variable 'z^-1' или 'q^-1').
Ny-by-Nu массив ячеек векторов - строк, чтобы задать передаточную функцию MIMO, где Ny является количеством выходных параметров и Nu, является количеством входных параметров. Каждый элемент массива ячеек указывает, что коэффициенты числителя для данного вводят / выходная пара. Если вы задаете и Numerator и Denominator как массивы ячеек, у них должны быть те же размерности.
Если все записи SISO передаточной функции MIMO имеют тот же знаменатель, можно задать Denominator как вектор - строку при определении Numerator как массива ячеек.
Коэффициенты Denominator могут быть или с действительным знаком или с комплексным знаком.
Variable — Переменная отображения передаточной функции's' (значение по умолчанию) | 'z' | 'p' | 'q' | 'z^-1' | 'q^-1'Переменная отображения передаточной функции, заданная как одно из следующего:
S Значение по умолчанию для непрерывно-разовых моделей
Z Значение по умолчанию для моделей дискретного времени
P Эквивалентный 's'
Q Эквивалентный 'z'
'z^-1' — Инверсия 'z'
'q^-1' — Эквивалентный 'z^-1'
Значение Variable отражается в отображении, и также влияет на интерпретацию Numerator и векторов коэффициентов Denominator для моделей дискретного времени.
Для значений Variable 's', 'z', 'p' или 'q', коэффициенты упорядочены в убывающих степенях переменной. Например, считайте вектор - строку [ak ... a1 a0]. Полиномиальный порядок задан как .
Для значений Variable 'z^-1' или 'q^-1', коэффициенты упорядочены в возрастающих степенях переменной. Например, считайте вектор - строку [b0 b1 ... bk]. Полиномиальный порядок задан как .
Для примеров смотрите, Задают Упорядоченное расположение Полинома в Передаточной функции Дискретного времени, Модели Передаточной функции Используя Рациональное выражение и Модели Передаточной функции Дискретного времени Используя Рациональное выражение.
IODelay — Транспортная задержка0 (значение по умолчанию) | скаляр | Ny-by-Nu массивТранспортная задержка, заданная как одно из следующего:
Скаляр — Задает транспортную задержку системы SISO или ту же транспортную задержку всех пар ввода/вывода системы MIMO.
Ny-by-Nu массив — Задает отдельные транспортные задержки каждой пары ввода/вывода системы MIMO. Здесь, Ny является количеством выходных параметров, и Nu является количеством входных параметров.
Для непрерывно-разовых систем задайте транспортные задержки единицы измерения времени, заданной свойством TimeUnit. Для систем дискретного времени задайте транспортные задержки целочисленных множителей шага расчета, Ts.
InputDelay — Введите задержку0 (значение по умолчанию) | скаляр | Nu-by-1 векторВведите задержку каждого входного канала, заданного как одно из следующего:
Скаляр — Задает входную задержку системы SISO или ту же задержку всех входных параметров мультивходной системы.
Nu-by-1 вектор — Задает отдельные входные задержки входа мультивходной системы, где Nu является количеством входных параметров.
Для непрерывно-разовых систем задайте входные задержки единицы измерения времени, заданной свойством TimeUnit. Для систем дискретного времени задайте входные задержки целочисленных множителей шага расчета, Ts.
OutputDelay — Выведите задержку0 (значение по умолчанию) | скаляр | Ny-by-1 векторВыведите задержку каждого выходного канала, заданного как одно из следующего:
Скаляр — Задает выходную задержку системы SISO или ту же задержку всех выходных параметров мультивыходной системы.
Ny-by-1 вектор — Задает отдельные выходные задержки вывода мультивыходной системы, где Ny является количеством выходных параметров.
Для непрерывно-разовых систем задайте выходные задержки единицы измерения времени, заданной свойством TimeUnit. Для систем дискретного времени задайте выходные задержки целочисленных множителей шага расчета, Ts.
Ts — 'SampleTime' 0 (значение по умолчанию) | положительная скалярная величина | -1Шаг расчета, заданный как:
0 для непрерывно-разовых систем.
Положительная скалярная величина, представляющая период выборки системы дискретного времени. Задайте Ts в единице измерения времени, заданной свойством TimeUnit.
-1 для системы дискретного времени с незаданным шагом расчета.
Изменение Ts не дискретизирует или передискретизирует модель. Чтобы преобразовать между представлениями непрерывно-разового и дискретного времени, используйте c2d и d2c. Чтобы изменить шаг расчета системы дискретного времени, используйте d2d.
TimeUnit — Time'seconds' (значение по умолчанию) | 'nanoseconds' | 'microseconds' | 'milliseconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years' |...Модули переменной Time, заданные как одно из следующего:
'nanoseconds'
'microseconds'
'milliseconds'
'seconds'
'minutes'
'hours'
'days'
'weeks'
'months'
'years'
Изменение TimeUnit не имеет никакого эффекта на другие свойства, но изменяет полное поведение системы. Используйте chgTimeUnit, чтобы преобразовать между единицами измерения времени, не изменяя поведение системы.
Inputname Введите названия канала'' (значение по умолчанию) | вектор символов | массив ячеек из символьных векторовВведите названия канала, заданные как одно из следующего:
Вектор символов, для моделей одно входа.
Массив ячеек из символьных векторов, для мультивходных моделей.
'', никакие имена не заданы ни для каких входных каналов.
Также можно присвоить входные имена для мультивходных моделей с помощью автоматического векторного расширения. Например, если sys является 2D входной моделью, введите:
sys.InputName = 'controls';Входные имена автоматически расширяются до {'controls(1)';'controls(2)'}.
Можно использовать краткое обозначение u, чтобы относиться к свойству InputName. Например, sys.u эквивалентен sys.InputName.
Используйте InputName для:
Идентифицируйте каналы на образцовом отображении и графиках.
Извлеките подсистемы систем MIMO.
Задайте точки контакта когда взаимосвязанные модели.
InputUnit — Введите модули канала'' (значение по умолчанию) | вектор символов | массив ячеек из символьных векторовВведите модули канала, заданные как одно из следующего:
Вектор символов, для моделей одно входа.
Массив ячеек из символьных векторов, для мультивходных моделей.
'', никакие модули не заданы ни для каких входных каналов.
Используйте InputUnit, чтобы задать модули входного сигнала. InputUnit не имеет никакого эффекта на поведение системы.
InputGroup — Введите группы каналаВведите группы канала, заданные как структура. Используйте InputGroup, чтобы присвоить входные каналы систем MIMO в группы и относиться к каждой группе по наименованию. Имена полей InputGroup являются названиями группы, и значения полей являются входными каналами каждой группы. Например:
sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5];
создает входные группы под названием controls и noise, которые включают входные каналы 1 и 2, и 3 и 5, соответственно. Можно затем извлечь подсистему от входных параметров controls до всего выходного использования:
sys(:,'controls')По умолчанию InputGroup является структурой без полей.
OutputName — Выведите названия канала'' (значение по умолчанию) | вектор символов | массив ячеек из символьных векторовВыведите названия канала, заданные как одно из следующего:
Вектор символов, для моделей одно вывода.
Массив ячеек из символьных векторов, для мультивыходных моделей.
'', никакие имена не заданы ни для каких выходных каналов.
Также можно присвоить выходные имена для мультивыходных моделей с помощью автоматического векторного расширения. Например, если sys является 2D выходной моделью, введите:
sys.OutputName = 'measurements';Входные имена автоматически расширяются до {'measurements(1)';'measurements(2)'}.
Можно также использовать краткое обозначение y, чтобы относиться к свойству OutputName. Например, sys.y эквивалентен sys.OutputName.
Используйте OutputName для:
Идентифицируйте каналы на образцовом отображении и графиках.
Извлеките подсистемы систем MIMO.
Задайте точки контакта когда взаимосвязанные модели.
OutputUnit — Выведите модули канала'' (значение по умолчанию) | вектор символов | массив ячеек из символьных векторовВыведите модули канала, заданные как одно из следующего:
Вектор символов, для моделей одно вывода.
Массив ячеек из символьных векторов, для мультивыходных моделей.
'', никакие модули не заданы ни для каких выходных каналов.
Используйте OutputUnit, чтобы задать модули выходного сигнала. OutputUnit не имеет никакого эффекта на поведение системы.
OutputGroup — Выведите группы каналаВыведите группы канала, заданные как структура. Используйте 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'.
UserData Заданные пользователями данные[] (значение по умолчанию) | любой тип данных MATLAB®Заданные пользователями данные, которые вы хотите сопоставить с системой, заданной как любой тип данных MATLAB.
SamplingGrid — Выборка сетки для образцовых массивовВыборка сетки для образцовых массивов, заданных как массив структур.
Используйте 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 | Пропускная способность частотной характеристики |
zpk | Создайте модель нулей и полюсов; преобразуйте в модель нулей и полюсов |
ss | Создайте модель в пространстве состояний, преобразуйте в модель в пространстве состояний |
c2d | Преобразуйте модель от непрерывного до дискретного времени |
d2c | Преобразуйте модель от дискретного до непрерывного времени |
d2d | Передискретизируйте модель дискретного времени |
pidtune | Настраивающий алгоритм ПИДа для линейной модели объекта управления |
rlocus | График корневого годографа динамической системы |
lqr | Проект Линейно-квадратичного регулятора (LQR) |
lqg | Проект "линейного квадратичного гауссова" (LQG) |
lqi | Линейно-квадратично-интегральное управление |
kalman | Проект фильтра Калмана, Оценка состояния фильтра Калмана |
В данном примере рассмотрите следующую модель передаточной функции SISO:
Задайте числитель и коэффициенты знаменателя, упорядоченные в убывающих степенях s, и создайте модель передаточной функции.
numerator = 1; denominator = [2,3,4]; sys = tf(numerator,denominator)
sys =
1
---------------
2 s^2 + 3 s + 4
Continuous-time transfer function.
В данном примере считайте следующее дискретное время моделью передаточной функции SISO:
Задайте числитель и коэффициенты знаменателя, упорядоченные в убывающих степенях 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.25 и собственная частота, = 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, ожидаемый системы второго порядка с низким отношением затухания.
Создайте передаточную функцию в течение дискретного времени, мультивведите, мультивыведите модель:
с шагом расчета секунды 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 выходную передаточную функцию:
Задайте модель передаточной функции 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.
В данном примере создайте непрерывно-разовую модель передаточной функции, использующую рациональные выражения. Используя рациональное выражение может иногда быть легче и более интуитивным, чем определение полиномиальных коэффициентов числителя и знаменателя.
Рассмотрите следующую систему:
Чтобы создать модель передаточной функции, сначала задайте 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.
В данном примере создайте модель передаточной функции дискретного времени использование рационального выражения. Используя рациональное выражение может иногда быть легче и более интуитивным, чем определение полиномиальных коэффициентов.
Рассмотрите следующую систему:
Чтобы создать модель передаточной функции, сначала задайте 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 с 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 -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 является идентифицированной моделью дискретного времени формы: , где представляет измеренный компонент и шумовой компонент.
Извлеките измеренные и шумовые компоненты как передаточные функции.
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:
Модель имеет вход того Текущий, и два выходных параметров Закрутите и Угловая скорость.
Во-первых, задайте числитель и коэффициенты знаменателя модели.
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 секундами:
Создайте первую передаточную функцию дискретного времени путем определения коэффициентов 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:
Поскольку числитель и коэффициенты знаменателя блока 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 = [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. Получить модель передаточной функции:
Преобразуйте нелинейную идентифицированную модель в идентифицированную модель LTI с помощью linapp, idnlarx/linearize или idnlhw/linearize.
Затем преобразуйте получившуюся модель в модель передаточной функции использование tf.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.