В этом примере показано, как задать временные модули модели передаточной функции.
The 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;
Этот пример показывает, как задать модули измерения частотных точек модели данных частотной характеристики.
The FrequencyUnit
свойство задает модули вектора частоты в Frequency
свойство frd
объект модели. Частотные модули по умолчанию rad/TimeUnit
, где TimeUnit
- время, модуль задано в TimeUnit
свойство.
Создайте модель данных частотной характеристики SISO с частотными данными в ГГц.
load AnalyzerData; sys = frd(resp,freq,'FrequencyUnit','GHz');
Можно независимо задать модули, в которой вы измеряете частотные точки и время расчета в FrequencyUnit
и TimeUnit
свойства, соответственно. Можно также задать частотные модули a 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
является двумя входами, двумя выходами ss
модель, содержащая каналы ввода-вывода от 'controls'
вход в 'temperature'
выходы.
Вы можете увидеть отношения между H
и подсистемы Hc
на этом рисунке.