Упорядочить состояния в линеаризированной модели

Управляйте порядком состояний линеаризированной модели с помощью Model Linearizer

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

  1. Откройте и сконфигурируйте модель для линеаризации путем определения ввода-вывода линеаризации и рабочей точки для линеаризации. Можно выполнить этот шаг, как показано, например, в Linearize at Trimmed Operating Point. Чтобы предварительно сконфигурировать модель в командной строке, используйте следующие команды.

    sys = 'magball';
    open_system(sys)
    sys_io(1) = linio('magball/Controller',1,'input');
    sys_io(2) = linio('magball/Magnetic Ball Plant',1,'openoutput');
    setlinio(sys,sys_io)
    opspec = operspec(sys);
    op = findop(sys,opspec);

    Эти команды определяют линеаризацию объекта управления и вычисляют установившуюся рабочую точку.

  2. Откройте Model Linearizer для модели.

    В Simulink® В окне модели в Apps галерее нажмите Model Linearizer.

  3. Откройте диалоговое окно Опции для точной линеаризации.

    На вкладке Linear Analysis нажмите More Options.

  4. На вкладке State Ordering проверьте Enable state ordering.

  5. Задайте требуемый порядок состояний с помощью кнопок Move Up и Move Down.

    Совет

    Если вы меняете модель, пока ее Model Linearizer открыта, нажмите Sync with Model, чтобы обновить список состояний.

    Щелкните, чтобы закрыть диалоговое окно.

  6. Включите средство просмотра результатов линеаризации. На вкладке Linear Analysis проверьте Result Viewer.

    Когда эта опция установлена, средство просмотра результатов появляется при линеаризации модели, что позволяет просматривать и подтверждать упорядоченное расположение состояния.

    Совет

    Если вы не проверяете Result Viewer или закрываете средство просмотра результатов, можно открыть средство просмотра результатов для ранее линеаризированной модели. Для этого на вкладке Plots and Results выберите линейную модель в Рабочей области линейного анализа и нажмите Result Viewer.

  7. Линеаризируйте модель. Для примера щелкните Bode.

    Новая линеаризированная модель, linsys1, появляется в Linear Analysis Workspace. Откроется средство просмотра результатов линеаризации, отображающее информацию об этой модели.

    Линейные состояния модели появляются в заданном порядке.

Управляйте порядком состояний линеаризированной модели с использованием кода MATLAB

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

  1. Загрузите и сконфигурируйте модель для линеаризации.

    sys = 'magball';
    load_system(sys);
    sys_io(1)=linio('magball/Controller',1,'input');
    sys_io(2)=linio('magball/Magnetic Ball Plant',1,'openoutput');
    opspec = operspec(sys);
    op = findop(sys,opspec);

    Эти команды определяют линеаризацию объекта управления и вычисляют установившуюся рабочую точку.

  2. Линеаризируйте модель и покажите состояния линейной модели.

    linsys = linearize(sys,sys_io);
    linsys.StateName

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

    ans = 
        'height'
        'Current'
        'dhdt'
    
  3. Задайте другой порядок состояний.

    stateorder = {'magball/Magnetic Ball Plant/height';...
                  'magball/Magnetic Ball Plant/dhdt';...
                  'magball/Magnetic Ball Plant/Current'};
  4. Снова линеаризируйте модель и покажите состояния линейной модели.

    linsys = linearize(sys,sys_io,'StateOrder',stateorder);
    linsys.StateName

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

    ans = 
        'height'
        'dhdt'
        'Current'