exponenta event banner

showStateInfo

Сведения о разделе состояния

    Синтаксис

    Описание

    пример

    showStateInfo(sys) печатает сводку разделов x или q векторы, то есть то, как они разбиты на компоненты, интерфейсы и сигналы. Интерфейсы и сигнальные группы захватывают соединения между подкомпонентами системы. Интерфейсы представляют собой физические соединения между подкомпонентами.

    Примеры

    свернуть все

    В этом примере рассмотрим sparseSOSignal.mat содержит разреженную модель второго порядка. Определите исполнительный механизм, датчик и контроллер и соедините их с установкой в контуре обратной связи.

    Загрузите разреженные матрицы и создайте mechss объект.

    load sparseSOSignal.mat
    plant = mechss(M,C,K,B,F,[],[],'Name','Plant');

    Затем создайте исполнительный механизм и датчик с помощью функций передачи.

    act = tf(1,[1 0.5 3],'Name','Actuator');
    sen = tf(1,[0.02 7],'Name','Sensor');

    Создайте объект контроллера PID для завода.

    con = pid(1,1,0.1,0.01,'Name','Controller');

    Используйте feedback команда на соединение установки, датчика, привода и контроллера в контуре обратной связи.

    sys = feedback(sen*plant*act*con,1)
    Sparse continuous-time second-order model with 1 outputs, 1 inputs, and 7111 nodes.
    
    Use "spy" and "showStateInfo" to inspect model structure. 
    Type "properties('mechss')" for a list of model properties. 
    Type "help mechssOptions" for available solver options for this model.
    

    Результирующая система sys является mechss объект с mechss объекты имеют приоритет над всеми другими типами объектов модели.

    Использовать showStateInfo для просмотра групп компонентов и сигналов.

    showStateInfo(sys)
    The state groups are:
    
        Type          Name       Size
      -------------------------------
      Component      Sensor         1
      Component      Plant       7102
      Signal                        1
      Component     Actuator        2
      Signal                        1
      Component    Controller       2
      Signal                        1
      Signal                        1
    

    Использовать xsort для сортировки компонентов и сигналов, а затем просмотра групп компонентов и сигналов.

    sysSort = xsort(sys);
    showStateInfo(sysSort)
    The state groups are:
    
        Type          Name       Size
      -------------------------------
      Component      Sensor         1
      Component      Plant       7102
      Component     Actuator        2
      Component    Controller       2
      Signal                        4
    

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

    Можно также визуализировать массив разреженности результирующей системы с помощью spy.

    spy(sysSort)

    Figure contains an axes. The axes with title nnz: M=170134, C=5, K=340360, B=3, F=1. contains 17 objects of type line. These objects represent K, B, F, D.

    Для этого примера рассмотрим структурную модель, которая состоит из двух квадратных пластин, соединенных со столбами в каждой вершине, как показано на рисунке ниже. Нижняя плита жестко прикреплена к земле, а стойки жестко прикреплены к каждой вершине квадратной плиты.

    Загрузить матрицы модели конечных элементов, содержащиеся в platePillarModel.mat и создать разреженную модель второго порядка, представляющую вышеуказанную систему.

    load('platePillarModel.mat')
    sys = ...
       mechss(M1,[],K1,B1,F1,'Name','Plate1') + ...
       mechss(M2,[],K2,B2,F2,'Name','Plate2') + ...
       mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar3') + ...
       mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar4') + ...
       mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar5') + ...
       mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar6');

    Использовать showStateInfo для проверки компонентов mechss объект модели.

    showStateInfo(sys)
    The state groups are:
    
        Type        Name      Size
      ----------------------------
      Component    Plate1     2646
      Component    Plate2     2646
      Component    Pillar3     132
      Component    Pillar4     132
      Component    Pillar5     132
      Component    Pillar6     132
    

    Теперь загрузите данные индекса интерфейсного узла из nodeData.mat и использовать interface для создания физических соединений между двумя пластинами и четырьмя стойками. nodes является 6x7 массив ячеек, где первые две строки содержат данные индекса узла для первой и второй пластин, в то время как остальные четыре строки содержат данные индекса для четырех столбов.

    load('nodeData.mat','nodes')
    for i=3:6
       sys = interface(sys,"Plate1",nodes{1,i},"Pillar"+i,nodes{i,1});
       sys = interface(sys,"Plate2",nodes{2,i},"Pillar"+i,nodes{i,2});
    end

    Укажите соединение между нижней пластиной и землей.

    sysCon = interface(sys,"Plate2",nodes{2,7});

    Использовать showStateInfo для подтверждения физических интерфейсов.

    showStateInfo(sysCon)
    The state groups are:
    
        Type            Name         Size
      -----------------------------------
      Component        Plate1        2646
      Component        Plate2        2646
      Component       Pillar3         132
      Component       Pillar4         132
      Component       Pillar5         132
      Component       Pillar6         132
      Interface    Plate1-Pillar3      12
      Interface    Plate2-Pillar3      12
      Interface    Plate1-Pillar4      12
      Interface    Plate2-Pillar4      12
      Interface    Plate1-Pillar5      12
      Interface    Plate2-Pillar5      12
      Interface    Plate1-Pillar6      12
      Interface    Plate2-Pillar6      12
      Interface    Plate2-Ground        6
    

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

    spy(sysCon)

    Figure contains an axes. The axes with title nnz: M=95256, K=249052, B=1, F=1. contains 37 objects of type line. These objects represent K, B, F, D.

    Набор данных для этого примера предоставил Виктор Долк из ASML.

    Входные аргументы

    свернуть все

    Модель разреженного состояния-пространства, заданная как sparss или mechss объект модели.

    Представлен в R2020b