fastRestartForLinearAnalysis

Быстро перезапустите для линейного анализа

Синтаксис

fastRestartForLinearAnalysis(model,'on')
fastRestartForLinearAnalysis(model,'on',Name,Value)
fastRestartForLinearAnalysis(model,'off')

Описание

пример

fastRestartForLinearAnalysis(model,'on') готовит model к одному рабочим процессам компиляции путем превращения быстрого перезапуска для линейного анализа 'on'. Если функция компиляции вызвана, модель останется скомпилированной после того, как функция будет закончена, выполняясь. Компиляция функций может затем быть позже названа без любых дополнительных компиляций. Если линейные аналитические точки или изменение замен блока с последующими вызовами компиляции функций, модель перекомпилирована.

пример

fastRestartForLinearAnalysis(model,'on',Name,Value) готовит model к одному рабочим процессам компиляции с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

пример

fastRestartForLinearAnalysis(model,'off') повороты быстро перезапускают для линейного анализа прочь, и восстанавливает параметры модели к их исходному значению. Simulink® не позволяет вам закрыть model, в то время как это находится в соответствовавшем состоянии. Используйте этот синтаксис, чтобы повернуть быстрый перезапуск для линейного анализа прочь, чтобы закрыть model.

Можно также щелкнуть по ссылке в, кажется, на верхней части скомпилированной модели Simulink выключает fastRestartForLinearAnalysis. Для получения дополнительной информации смотрите Советы.

Примеры

свернуть все

В этом примере вы будете обрезать и линеаризовать модель управления скорости вращения двигателя замкнутого цикла с fastRestartForLinearAnalysis.

Откройте модель управления скорости вращения двигателя и поймите аналитические мысли для линеаризации. Это сделано, чтобы предотвратить перекомпиляцию между первым вызовом findop и linearize.

model = 'scdspeedctrl';
open_system(model);
io = getlinio(model);
fopt = findopOptions('DisplayReport','off');

Сконфигурируйте контроллер PI, чтобы использовать переменные kp и ki базового рабочего пространства.

block = [model,'/PID Controller'];
set_param(block,'P','kp');
set_param(block,'I','ki');

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

vp = 0.0005:0.0005:0.003;
vi = 0.0025:0.0005:0.005;
[KP,KI] = ndgrid(vp,vi);
N = numel(KP);
sz = size(KP);

Инициализируйте переменные базового рабочего пространства kp и ki.

kp = KP(1);
ki = KI(1);

Включите fastRestartForLinearAnalysis и используйте io в качестве 'AnalysisPoints'.

fastRestartForLinearAnalysis(model,'on','AnalysisPoints',io);

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

ops = operspec(model); % operating point specifications
for i = N:-1:1
    kp = KP(i);
    ki = KI(i);
    Simulink.Block.eval(block); % evaluate the block
    op = findop(model,ops,fopt); % trim the model
    [j,k] = ind2sub(sz,i);
    sysFastRestartLoop(:,:,j,k) = linearize(model,io,op); % linearize the model
end

Выключите fastRestartForLinearAnalysis и закройте модель.

fastRestartForLinearAnalysis(model,'off');
bdclose(model);

Входные параметры

свернуть все

Имя модели Simulink, заданное как вектор символов, строка, slTuner или объект slLinearizer. Модель должна быть в текущей рабочей папке или на пути MATLAB®.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: ...,'UseBusSignalLabels','on'

Аналитический набор точки, который содержит входные параметры, выходные параметры и открытия, заданные как пара, разделенная запятой, состоящая из 'AnalysisPoints' и объекта I/O линеаризации или вектора объектов ввода-вывода линеаризации. Создать 'AnalysisPoints':

  • Задайте входные параметры, выходные параметры и открытия с помощью linio.

  • Если входные параметры, выходные параметры и открытия заданы в модели Simulink, извлекают эти точки из модели с помощью getlinio.

Каждый объект I/O линеаризации в 'AnalysisPoints' должен соответствовать модели Simulink model или некоторая модель - ссылка режима normal mode в иерархии модели.

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

Для получения дополнительной информации об определении входных параметров линеаризации видят выходные параметры и открытия, Задают Фрагмент Модели, чтобы Линеаризовать.

Замените линеаризацией блоки и подсистемы модели, заданные как пара, разделенная запятой, состоящая из 'BlockSubstitutions' и одно из следующего:

  • Массив структур

  • Массив строк

  • Вектор символов

  • Массив ячеек из символьных векторов

Используйте 'BlockSubstitutions', чтобы задать пользовательскую линеаризацию для блока или подсистемы. Например, можно задать линеаризацию для блоков, которые не имеют аналитической линеаризации, такой как блоки с разрывами или инициированными подсистемами.

Если изменение замен блока с последующими вызовами компиляции функционирует, модель перекомпилирована.

Отметьте указание, использовать ли номера каналов сигнала шины или имена, чтобы маркировать I/Os в линеаризовавшей модели, заданной как пара, разделенная запятой, состоящая из 'UseBusSignalLabels' и одно из следующего:

  • 'off' Используйте номера каналов сигнала шины для метки I/Os на сигналах шины в линеаризовавшей модели.

  • 'on' — Используйте имена сигнала шины к метке I/Os на сигналах шины в линеаризовавшей модели. Имена шины сигнала появляются в результатах, когда точки ввода-вывода при выводе следующих блоков:

    • Блок импорта корневого уровня, содержащий объект шины

    • Соедините шиной блок создателя

    • Блок Subsystem, источник которого прослеживает до вывода блока создателя шины

    • Блок Subsystem, источник которого прослеживает до импорта корневого уровня путем прохождения только через виртуальные или невиртуальные контуры подсистемы

Советы

Simulink не позволяет вам закрыть model, в то время как это находится в соответствовавшем состоянии. Поворот быстро перезапускает для линейного анализа прочь, чтобы закрыть model. Можно выключить fastRestartForLinearAnalysis одним из следующих способов:

  • Используйте синтаксис fastRestartForLinearAnalysis(model,'off').

  • Щелкните по ссылке в, появляется на верхней части модели Simulink.

Смотрите также

| | | | |

Введенный в R2019a