Этот пример показывает, как задать единицы измерения времени модели передаточной функции.
Свойство 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
на этом рисунке.