В этом примере показано, как задать единицы измерения времени модели передаточной функции.
TimeUnit
свойство tf
объект модели задает модули переменной времени, задержки (для моделей непрерывного времени), и шаг расчета Ts (для моделей дискретного времени). Единицами измерения времени по умолчанию является seconds
.
Создайте модель передаточной функции SISO с единицами измерения времени в миллисекундах:
num = [4 2]; den = [1 3 10]; sys = tf(num,den,'TimeUnit','milliseconds');
Можно задать единицы измерения времени любой динамической системы похожим способом.
Модули системного времени появляются на времени - и графики частотного диапазона. Для нескольких систем с различными единицами измерения времени используются модули первой системы, если временем и единицами частоты в Редакторе Настроек Тулбокса является auto
.
Изменение TimeUnit
свойство изменяет поведение системы. Если вы хотите использовать различные единицы измерения времени, не изменяя поведение системы, используйте chgTimeUnit
.
В этом примере показано, как соединить модели передаточной функции с различными единицами измерения времени.
Чтобы соединить модели с помощью арифметических операций или соединительных команд, единицы измерения времени всех моделей должны соответствовать.
Создайте две модели передаточной функции с единицами измерения времени миллисекунд и секунды, соответственно.
sys1 = tf([1 2],[1 2 3],'TimeUnit','milliseconds'); sys2 = tf([4 2],[1 3 10]);
Измените единицы измерения времени sys2
к миллисекундам.
sys2 = chgTimeUnit(sys2,'milliseconds');
Соедините системы параллельно.
sys = sys1+sys2;
В этом примере показано, как задать модули точек частоты модели данных частотной характеристики.
FrequencyUnit
свойство задает модули вектора частоты в Frequency
свойство frd
объект модели. Единицами частоты по умолчанию является rad/TimeUnit
, где TimeUnit
единица измерения времени, заданная в TimeUnit
свойство.
Создайте модель данных частотной характеристики SISO с данными о частоте в GHz.
load AnalyzerData; sys = frd(resp,freq,'FrequencyUnit','GHz');
Можно независимо задать модули, в которых вы измеряете точки частоты и шаг расчета в FrequencyUnit
и TimeUnit
свойства, соответственно. Можно также задать единицы частоты genfrd
похожим способом.
Единицы частоты появляются на графиках частотного диапазона. Для нескольких систем с различными единицами частоты используются модули первой системы, если единицами частоты в Редакторе Настроек Тулбокса является auto
.
Изменение FrequencyUnit
свойство изменяет поведение системы. Если вы хотите использовать различные единицы частоты, не изменяя поведение системы, используйте chgFreqUnit
.
В этом примере показано, как извлечь подсистемы модели MIMO с помощью MATLAB® индексирующие и использующие названия канала.
Извлечение подсистем полезно, когда, например, вы хотите анализировать фрагмент сложной системы.
Создайте передаточную функцию MIMO.
G1 = tf(3,[1 10]); G2 = tf([1 2],[1 0]); G = [G1,G2];
Извлеките подсистему G
от первого входа до всех выходных параметров.
Gsub = G(:,1);
Эта команда использует индексацию MATLAB, чтобы задать подсистему как G(out,in)
, где out
задает выходные индексы и in
задает входные индексы.
Используя названия канала, можно использовать индексацию MATLAB, чтобы извлечь всю динамику, относящуюся к конкретному каналу. При помощи этого подхода можно избежать необходимости отслеживать порядок канала в комплексной модели MIMO.
Присвойте имена к входным параметрам модели.
G.InputName = {'temperature';'pressure'};
Поскольку G
имеет два входных параметров, используйте массив ячеек, чтобы задать эти два названия канала.
Извлеките подсистему G
это содержит всю динамику от 'temperature'
введите ко всем выходным параметрам.
Gt = G(:,'temperature');
Gt
та же подсистема как Gsub
.
Когда вы извлекаете подсистему из пространства состояний (ss
) модель, получившаяся модель в пространстве состояний не может быть минимальной. Используйте sminreal
устранить ненужные состояния в подсистеме.
В этом примере показано, как указать, что группы ввода и вывода образовывают канал в объекте модели и подсистемах извлечения с помощью групп.
Группы ввода и вывода полезны для отслеживания вводы и выводы в комплексных моделях MIMO.
Создайте модель в пространстве состояний с тремя входными параметрами и четырьмя выходными параметрами.
H = rss(3,4,3);
Сгруппируйте входные параметры можно следующим образом:
Входные параметры 1 и 2 в группе под названием controls
Выходные параметры 1 и 3 группе под названием temperature
Выходные параметры 1, 3, и 4 группе под названием measurements
H.InputGroup.controls = [1 2]; H.OutputGroup.temperature = [1 3]; H.OutputGroup.measurements = [1 3 4];
InputGroup
и OutputGroup
структуры. Имя каждого поля в структуре является именем группы ввода или вывода. Значение каждого поля является вектором, который идентифицирует каналы в той группе.
Извлеките подсистему, соответствующую controls
входные параметры и temperature
выходные параметры .
Можно использовать названия группы, чтобы индексировать в подсистемы.
Hc = H('temperature','controls')
Hc
2D вход, 2D выход ss
модель, содержащая ввод-вывод, образовывает канал от 'controls'
введите к 'temperature'
выходные параметры .
Вы видите отношение между H
и подсистема Hc
на этом рисунке.