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

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

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

Свойство 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 на этом рисунке.

Похожие темы