Модель передаточной функции
Используйте tf
создать модели передаточной функции с комплексным знаком или с действительным знаком или преобразовать модели динамической системы в форму передаточной функции.
Передаточные функции являются представлением частотного диапазона линейных независимых от времени систем. Например, считайте непрерывное время динамической системой SISO представленный передаточной функцией sys(s) = N(s)/D(s)
, где s = jw
и N(s)
и D(s)
называются полиномом числителя и полиномом знаменателя, соответственно. tf
объект модели может представлять SISO или передаточные функции MIMO в непрерывное время или дискретное время.
Можно создать объект модели передаточной функции или путем определения его коэффициентов непосредственно, или путем преобразования модели другого типа (таких как модель в пространстве состояний ss
) к форме передаточной функции. Для получения дополнительной информации смотрите Передаточные функции.
Можно также использовать tf
создать обобщенное пространство состояний (genss
) модели или неопределенное пространство состояний (uss
) модели.
создает модель передаточной функции непрерывного времени, устанавливая sys
= tf(numerator
,denominator
)Numerator
и Denominator
свойства. Например, считайте непрерывное время динамической системой SISO представленный передаточной функцией sys(s) = N(s)/D(s)
, входные параметры numerator
и denominator
коэффициенты N(s)
и D(s)
, соответственно.
создает модель передаточной функции дискретного времени, устанавливая sys
= tf(numerator
,denominator
,ts
)Numerator
, Denominator
, и Ts
свойства. Например, считайте дискретное время динамической системой SISO представленный передаточной функцией sys(z) = N(z)/D(z)
, входные параметры numerator
и denominator
коэффициенты N(z)
и D(z)
, соответственно. Оставить шаг расчета незаданным, набор ts
входной параметр к -1
.
создает модель передаточной функции со свойствами, наследованными от модели sys
= tf(numerator
,denominator
,ltiSys
)ltiSys
динамической системы, включая шаг расчета.
s = tf('s')
создает специальную переменную s
то, что можно использовать в рациональном выражении, чтобы создать модель передаточной функции непрерывного времени. Используя рациональное выражение может иногда быть легче и более интуитивным, чем определение полиномиальных коэффициентов.
numerator
— Коэффициенты числителя передаточной функцииNy
- Nu
массив ячеек векторов-строкКоэффициенты числителя передаточной функции в виде:
Вектор-строка из полиномиальных коэффициентов.
Ny
- Nu
массив ячеек векторов-строк, чтобы задать передаточную функцию MIMO, где Ny
количество выходных параметров и Nu
количество входных параметров.
Когда вы создаете передаточную функцию, задаете коэффициенты числителя в порядке убывающей степени. Например, если числителем передаточной функции является 3s^2-4s+5
, затем задайте numerator
как [3 -4 5]
. Для передаточной функции дискретного времени с числителем 2z-1
, установите numerator
к [2 -1]
.
Также свойство tf
объект. Для получения дополнительной информации смотрите Числитель.
denominator
— Коэффициенты знаменателя передаточной функцииNy
- Nu
массив ячеек векторов-строкКоэффициенты знаменателя в виде:
Вектор-строка из полиномиальных коэффициентов.
Ny
- 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
). Для примера смотрите Настраиваемый Фильтр Lowpass.
Неопределенная модель в пространстве состояний (uss
) объект, когда numerator
или denominator
входные параметры включают неопределенные параметры. Используя неопределенные модели требует программного обеспечения Robust Control Toolbox. Для примера смотрите Передаточную функцию с Неопределенными Коэффициентами (Robust Control Toolbox).
Numerator
— Коэффициенты числителяNy
- Nu
массив ячеек векторов-строкКоэффициенты числителя в виде:
Вектор-строка из полиномиальных коэффициентов в порядке убывающей степени (для Variable
значения 's'
Z
P
, или 'q'
) или в порядке возрастающей степени (для Variable
значения 'z^-1'
или 'q^-1'
).
Ny
- Nu
массив ячеек векторов-строк, чтобы задать передаточную функцию MIMO, где Ny
количество выходных параметров и Nu
количество входных параметров. Каждый элемент массива ячеек задает коэффициенты числителя для данной пары ввода/вывода. Если вы задаете оба Numerator
и Denominator
как массивы ячеек, у них должны быть те же размерности.
Коэффициенты Numerator
может быть или с действительным знаком или с комплексным знаком.
Denominator
— Коэффициенты знаменателяNy
- Nu
массив ячеек векторов-строкКоэффициенты знаменателя в виде:
Вектор-строка из полиномиальных коэффициентов в порядке убывающей степени (для значений Variable
значения 's'
Z
P
, или 'q'
) или в порядке возрастающей степени (для Variable
значения 'z^-1'
или 'q^-1'
).
Ny
- 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
— Транспортная задержка
(значение по умолчанию) | скаляр | Ny
- Nu
массивТранспортная задержка в виде одного из следующего:
Скаляр — Задает транспортную задержку системы SISO или ту же транспортную задержку всех пар ввода/вывода системы MIMO.
Ny
- Nu
массив — Задает отдельные транспортные задержки каждой пары ввода/вывода системы MIMO. Здесь, Ny
количество выходных параметров и Nu
количество входных параметров.
Для систем непрерывного времени задайте транспортные задержки единицы измерения времени, заданной TimeUnit
свойство. Для систем дискретного времени задайте транспортные задержки целочисленных множителей шага расчета, Ts
.
InputDelay
— Введите задержку
(значение по умолчанию) | скаляр | Nu
- 1 векторВведите задержку каждого входного канала в виде одного из следующего:
Скаляр — Задает входную задержку системы SISO или ту же задержку всех входных параметров мультивходной системы.
Nu
- 1 вектор — Задают отдельные входные задержки входа мультивходной системы, где Nu
количество входных параметров.
Для систем непрерывного времени задайте входные задержки единицы измерения времени, заданной TimeUnit
свойство. Для систем дискретного времени задайте входные задержки целочисленных множителей шага расчета, Ts
.
Для получения дополнительной информации смотрите Задержки Линейных систем.
OutputDelay
— Выведите задержку
(значение по умолчанию) | скаляр | Ny
- 1 векторВыведите задержку каждого выходного канала в виде одного из следующего:
Скаляр — Задает выходную задержку системы SISO или ту же задержку всех выходных параметров мультивыходной системы.
Ny
- 1 вектор — Задают отдельные выходные задержки выхода мультивыходной системы, где Ny
количество выходных параметров.
Для систем непрерывного времени задайте выходные задержки единицы измерения времени, заданной TimeUnit
свойство. Для систем дискретного времени задайте выходные задержки целочисленных множителей шага расчета, Ts
.
Для получения дополнительной информации смотрите Задержки Линейных систем.
Ts
'SampleTime'
(значение по умолчанию) | положительная скалярная величина | -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
структура без полей.
Name
— Имя системы''
(значение по умолчанию) | вектор символовИмя системы в виде вектора символов. Например, 'system_1'
.
Notes
— Заданный пользователями текст{}
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторовЗаданный пользователями текст, который вы хотите сопоставить с системой в виде вектора символов или массива ячеек из символьных векторов. Например, '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 | Пропускная способность частотной характеристики |
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
{'minutes'} {'minutes'}
Создайте вторую модель передаточной функции со свойствами, наследованными от sys1
.
numerator2 = [1,-1]; denominator2 = [7,2,0,0,9]; sys2 = tf(numerator2,denominator2,sys1)
sys2 = s - 1 ----------------- 7 s^4 + 2 s^3 + 9 Continuous-time transfer function.
propValues2 = [sys2.TimeUnit,sys2.InputUnit]
propValues2 = 1x2 cell
{'minutes'} {'minutes'}
Заметьте что модель sys2
передаточной функции имеет те же самые свойства как
sys1
.
Можно использовать for
цикл, чтобы задать массив моделей передаточной функции.
Во-первых, предварительно выделите массив передаточной функции с нулями.
sys = tf(zeros(1,1,3));
Первые два индекса представляют количество выходных параметров и входных параметров для моделей, в то время как третий индекс является количеством моделей в массиве.
Создайте массив моделей передаточной функции с помощью рационального выражения в for
цикл.
s = tf('s'); for k = 1:3 sys(:,:,k) = k/(s^2+s+k); end sys
sys(:,:,1,1) = 1 ----------- s^2 + s + 1 sys(:,:,2,1) = 2 ----------- s^2 + s + 2 sys(:,:,3,1) = 3 ----------- s^2 + s + 3 3x1 array of continuous-time transfer functions.
В данном примере вычислите передаточную функцию следующей модели в пространстве состояний:
Создайте модель в пространстве состояний с помощью матриц пространства состояний.
A = [-2 -1;1 -2]; B = [1 1;2 -1]; C = [1 0]; D = [0 1]; ltiSys = ss(A,B,C,D);
Преобразуйте модель в пространстве состояний ltiSys
к передаточной функции.
sys = tf(ltiSys)
sys = From input 1 to output: s ------------- s^2 + 4 s + 5 From input 2 to output: s^2 + 5 s + 8 ------------- s^2 + 4 s + 5 Continuous-time transfer function.
В данном примере извлеките измеренные и шумовые компоненты идентифицированной полиномиальной модели в две отдельных передаточных функции.
Загрузите модель ltiSys
полинома Поля-Jenkins в
identifiedModel.mat
.
load('identifiedModel.mat','ltiSys');
ltiSys
идентифицированная модель дискретного времени формы: , где представляет измеренный компонент и шумовой компонент.
Извлеките измеренные и шумовые компоненты как передаточные функции.
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
Свойство.
В этом примере вы создадите фильтр lowpass с одним настраиваемым параметром a:
Начиная с числителя и коэффициентов знаменателя tunableTF
блок независим, вы не можете использовать tunableTF
представлять F
. Вместо этого создайте F
использование настраиваемого действительного объекта параметра realp
.
Создайте действительный настраиваемый параметр с начальным значением 10
.
a = realp('a',10)
a = Name: 'a' Value: 10 Minimum: -Inf Maximum: Inf Free: 1 Real scalar parameter.
Используйте tf
чтобы создать настраиваемый lowpass фильтруют F
.
numerator = a; denominator = [1,a]; F = tf(numerator,denominator)
F = Generalized continuous-time state-space model with 1 outputs, 1 inputs, 1 states, and the following blocks: a: Scalar parameter, 2 occurrences. Type "ss(F)" to see the current value, "get(F)" to see all properties, and "F.Blocks" to interact with the blocks.
F
genss
объект, который имеет настраиваемый параметр a
в его Blocks
свойство. Можно соединить F
с другими настраиваемыми или числовыми моделями, чтобы создать более комплексные модели системы управления. Для примера смотрите Систему управления с Настраиваемыми Компонентами.
В этом примере вы создадите статическое усиление модель передаточной функции MIMO.
Рассмотрите следующий 2D вход, 2D выход статическая матрица усиления m
:
Задайте матрицу усиления и создайте статическую модель передаточной функции усиления.
m = [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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.