Присоедините метаданные к моделям

Задайте единицы измерения времени модели

В этом примере показано, как задать единицы измерения времени модели передаточной функции.

TimeUnit свойство tf объект модели задает модули переменной времени, задержки (для моделей непрерывного времени), и шаг расчета Ts (для моделей дискретного времени). Единицами измерения времени по умолчанию является seconds.

Создайте модель передаточной функции SISO sys=4s+2s2+3s+10 с единицами измерения времени в миллисекундах:

num = [4 2];
den = [1 3 10];
sys = tf(num,den,'TimeUnit','milliseconds');

Можно задать единицы измерения времени любой динамической системы похожим способом.

Модули системного времени появляются на времени - и графики частотного диапазона. Для нескольких систем с различными единицами измерения времени используются модули первой системы, если временем и единицами частоты в Редакторе Настроек Тулбокса является auto.

Примечание

Изменение TimeUnit свойство изменяет поведение системы. Если вы хотите использовать различные единицы измерения времени, не изменяя поведение системы, используйте chgTimeUnit.

Взаимосвязанные модели с различными единицами измерения времени

В этом примере показано, как соединить модели передаточной функции с различными единицами измерения времени.

Чтобы соединить модели с помощью арифметических операций или соединительных команд, единицы измерения времени всех моделей должны соответствовать.

  1. Создайте две модели передаточной функции с единицами измерения времени миллисекунд и секунды, соответственно.

    sys1 = tf([1 2],[1 2 3],'TimeUnit','milliseconds');
    sys2 = tf([4 2],[1 3 10]);
    
  2. Измените единицы измерения времени sys2 к миллисекундам.

    sys2 = chgTimeUnit(sys2,'milliseconds');
    
  3. Соедините системы параллельно.

    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) модели

В этом примере показано, как извлечь подсистемы модели 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.

  1. Создайте модель в пространстве состояний с тремя входными параметрами и четырьмя выходными параметрами.

    H = rss(3,4,3);
  2. Сгруппируйте входные параметры можно следующим образом:

    • Входные параметры 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 структуры. Имя каждого поля в структуре является именем группы ввода или вывода. Значение каждого поля является вектором, который идентифицирует каналы в той группе.

  3. Извлеките подсистему, соответствующую controls входные параметры и temperature выходные параметры .

    Можно использовать названия группы, чтобы индексировать в подсистемы.

    Hc = H('temperature','controls')

    Hc 2D вход, 2D выход ss модель, содержащая ввод-вывод, образовывает канал от 'controls' введите к 'temperature' выходные параметры .

    Вы видите отношение между H и подсистема Hc на этом рисунке.

Похожие темы