Модель передаточной функции
Используйте 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.