exponenta event banner

Выбор моделей из массива

В этом примере показано, как выбрать отдельные модели или наборы моделей из массива модели с помощью индексирования массива.

  1. Загрузить массив передаточных функций m2d в рабочую область MATLAB ®.

    load LTIexamples m2d
    
  2. (Необязательно) Постройте график ответа на шаг m2d.

    step(m2d)

    Ответ на шаг показывает, что m2d содержит шесть моделей с одним входом и двумя выходами. step команда выводит на печать все модели в массиве на одном графике.

  3. (Необязательно) Изучить размеры m2d.

    arraydim = size(m2d)
    

    Эта команда дает результат:

    arraydim =
    
         2     1     2     3
    • Первые записи arraydim, 2 и 1, показать, что m2d представляет собой массив функций передачи с двумя выходами и одним входом.

    • Остальные записи в arraydim задать размеры массива m2d, 2 на 3.

    В общем случае размеры массива модели равны [Ny,Nu,S1,...,Sk]. Ny и Nu - количество выходов и входов каждой модели в массиве. S1,...,Sk - размеры массива. Таким образом, Si - количество моделей вдоль i-го размера массива.

  4. Выберите функцию переноса во второй строке, первом столбце m2d.

    Для этого используйте индексирование массива MATLAB.

    sys = m2d(:,:,2,1)

    Совет

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

    sys = m2d(:,:,4)
    выбирает ту же модель, что и m2d(:,:,2,1).

  5. Выберите массив подсистем от первого входа до первого выхода каждой модели в m2d.

    m11 = m2d(1,1,:,:)
  6. (Необязательно) Постройте график ответа на шаг m11.

    step(m11)

    Ответ на шаг показывает, что m11 представляет собой массив из шести моделей с одним входом и одним выходом (SISO).

    Примечание

    Для моделей данных частотного отклика (FRD) за индексами массива может следовать ключевое слово 'frequency' и некоторое выражение, выбирающее подмножество частотных точек, как в:

    sys(outputs,inputs,n1,...,nk,'frequency',SelectedFreqs)
    

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