exponenta event banner

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

Задание единиц времени модели

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

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 с частотными данными в ГГц.

load AnalyzerData;
sys = frd(resp,freq,'FrequencyUnit','GHz');

Можно независимо указать единицы измерения частотных точек и времени выборки в FrequencyUnit и TimeUnit соответственно. Можно также указать единицы измерения частоты genfrd аналогичным образом.

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

Примечание

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

Извлечение подсистем моделей Multi-Input, Multi-Output (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 является двумя входами, двумя выходами ss модель, содержащая каналы ввода-вывода из 'controls' входные данные для 'temperature' выходы.

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

Связанные темы