slTuner

Интерфейс для настройки системы управления моделей Simulink

Описание

st = slTuner(mdl,tuned_blocks) создает slTuner интерфейс, st, для настройки блоков системы управления Simulink® модель, mdl. Интерфейс добавляет линейные аналитические точки, отмеченные в модели как аналитические точки st. Интерфейс также добавляет линейные аналитические точки, которые подразумевают открытие как постоянные открытия. Когда интерфейс выполняет линеаризацию, например, чтобы настроить блоки, это использует начальное условие модели в качестве рабочей точки.

st = slTuner(mdl,tuned_blocks,pt) добавляет заданная точка к списку аналитических точек для st, игнорирование линейных аналитических точек отмечено в модели.

st = slTuner(mdl,tuned_blocks,param) задает параметры, значения которых вы хотите варьироваться при настройке блоков модели.

st = slTuner(mdl,tuned_blocks,op) задает рабочие точки для настройки блоков модели.

st = slTuner(mdl,tuned_blocks,blocksub) задает линеаризацию замены блоков и подсистем. Используйте этот синтаксис, например, чтобы задать пользовательскую линеаризацию для блока. Можно также использовать этот синтаксис для блоков, которые не линеаризуют успешно, такие как блоки с разрывами или триггируемыми подсистемами.

st = slTuner(mdl,tuned_blocks,options) конфигурирует опции алгоритма линеаризации.

st = slTuner(mdl,tuned_blocks,pt,op,param,blocksub,options) использование любая комбинация входных параметров ptop , param, blocksub, и options создать st. Например, можно использовать:

  • st = slTuner(mdl,tuned_blocks,pt,param)

  • st = slTuner(mdl,tuned_blocks,op,param).

Описание объекта

slTuner обеспечивает интерфейс между моделью Simulink и настраивающимися командами systune и looptune. slTuner позволяет вам:

  • Задайте архитектуру управления.

  • Определяйте и параметрируйте блоки, которые будут настроены.

  • Настройте систему управления.

  • Подтвердите проект путем вычисления (линеаризовавшего) разомкнутого контура и ответов с обратной связью.

  • Запишите настроенные значения обратно к модели.

Поскольку настройка команд такой как systune работайте с линейными моделями, slTuner интерфейс автоматически вычисляет и хранит линеаризацию вашей модели Simulink. Эта линеаризация автоматически обновляется, когда вы изменяете любые свойства slTuner интерфейс. Обновление происходит, когда вы команды вызова, которые запрашивают линеаризацию, сохраненную в интерфейсе. Такие команды включают systune, looptune, getIOTransfer, и getLoopTransfer. Для получения дополнительной информации о линеаризации, смотрите то, Что Линеаризация?

Примеры

свернуть все

Создайте и сконфигурируйте slTuner интерфейс для модели Simulink®, которая задает который блоки настроиться с systune или looptune.

Откройте модель Simulink.

mdl = 'scdcascade';
open_system(mdl)

Система управления состоит из двух обратной связи, внутреннего цикла с ПИ-контроллером C2, и внешний контур с ПИ-контроллером C1. Предположим, что вы хотите настроить эту модель, чтобы достигнуть следующих целей управления:

  • Отследите изменения заданного значения к r в системе выход y1m с нулевой установившейся ошибкой и заданным временем нарастания.

  • Отклоните воздействие, представленное d2.

systune команда может совместно настроить блоки контроллера, чтобы соответствовать этим конструктивным требованиям, которые вы задаете использование TuningGoal объекты. slTuner интерфейс настраивает эту настраивающую задачу.

Создайте slTuner интерфейс для модели.

st = slTuner(mdl,{'C1','C2'});

Эта команда инициализирует slTuner взаимодействуйте через интерфейс и определяет два блока ПИ-контроллера как настраиваемые. Каждый настраиваемый блок автоматически параметрируется согласно его типу и инициализируется своим значением в модели Simulink. Линеаризация остающегося, ненастраиваемого фрагмента модели вычисляется и хранится в slTuner интерфейс.

Сконфигурировать slTuner соедините интерфейсом, определяйте как аналитические точки любые местоположения сигнала отношения к вашим конструктивным требованиям. Добавьте выход и ссылочный вход для требования отслеживания. Кроме того, добавьте местоположение подавления помех.

addPoint(st,{'r','y1m','d2'});

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

Отобразите сводные данные slTuner интерфейсная настройка в командном окне.

st
 
slTuner tuning interface for "scdcascade":

2 Tuned blocks: (Read-only TunedBlocks property) 
--------------------------
Block 1: scdcascade/C1
Block 2: scdcascade/C2
 
3 Analysis points: 
--------------------------
Point 1: Signal "r", located at 'Output Port 1' of scdcascade/setpoint
Point 2: Signal "y1m", located at 'Output Port 1' of scdcascade/Sum
Point 3: 'Output Port 1' of scdcascade/d2
 
No permanent openings. Use the addOpening command to add new permanent openings.
Properties with dot notation get/set access:
      Parameters         : [] 
      OperatingPoints    : [] (model initial condition will be used.)
      BlockSubstitutions : []
      Options            : [1x1 linearize.SlTunerOptions]
      Ts                 : 0

Дисплейные списки обозначенные настраиваемые блоки, аналитические точки и другая информация об интерфейсе. В командном окне нажмите на любой подсвеченный сигнал видеть его местоположение в модели Simulink. Обратите внимание на то, что задавая имя блока 'd2' в addPoint команда эквивалентна обозначению что один выходной сигнал блока как аналитическая точка.

Можно теперь получить цели проекта с TuningGoal объекты и использование systune или looptune настроить систему управления, чтобы удовлетворить тем целям проекта.

В дополнение к определению целей проекта можно использовать аналитические точки для извлечения откликов системы. Например, извлеките и постройте переходной процесс между опорным сигналом 'r' и выход 'y1m'.

T = getIOTransfer(st,'r','y1m');
stepplot(T)

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

свернуть все

Имя модели Simulink в виде вектора символов или строки.

Пример: 'scdcascade'

Блоки, которые будут добавлены к списку настроенных блоков stВ виде:

  • Вектор символов или строка — Блок path. Можно задать полный блок path или частичный путь. Частичный путь должен совпадать с концом полного блока path и однозначно идентифицировать блок, чтобы добавить. Например, можно обратиться к блоку его именем, если имя блока появляется только однажды в модели Simulink.

    Например, blk = 'scdcascade/C1'.

  • Массив ячеек из символьных векторов или массив строк — пути к блоку Multiple.

    Например, blk = {'scdcascade/C1','scdcascade/C2'}.

Аналитическая точка, которая будет добавлена к списку анализа, указывает для stВ виде:

  • Вектор символов или строка — Аналитический идентификатор точки, который может быть любым следующим:

    • Имя сигнала, например, pt = 'torque'

    • Блок path для блока с одним выходным портом, например, pt = 'Motor/PID'

    • Блок path и порт, порождающий сигнал, например, pt = 'Engine Model/1'

  • Массив ячеек из символьных векторов или массив строк — Задают несколько аналитических идентификаторов точки. Например:

    pt = {'torque','Motor/PID','Engine Model/1'}
  • Вектор из объектов ввода-вывода линеаризации — Создает pt использование linio. Например:

    pt(1) = linio('scdcascade/setpoint',1,'input');
    pt(2) = linio('scdcascade/Sum',1,'output');

    Здесь, pt(1) задает вход и pt(2) задает выход.

    Интерфейс добавляет все точки, заданные pt и игнорирует их типы ввода-вывода. Интерфейс также добавляет весь 'loopbreak' введите сигналы как постоянные открытия.

Выборки параметра для линеаризации mdlВ виде:

  • Структура — Варьируется значение одного параметра путем определения param как структура со следующими полями:

    • Name — Название параметра в виде вектора символов или строки. Можно задать любой параметр модели, который является переменной в рабочем пространстве модели, MATLAB® рабочая область или словарь данных. Если переменная, используемая моделью, не является скалярной переменной, задайте название параметра как выражение, которое решает к значению числового скаляра. Например, чтобы использовать первый элемент векторного V в качестве параметра, использование:

      param.Name = 'V(1)';
    • Value — Демонстрационные значения параметра в виде двойного массива.

    Например, варьируйтесь значение параметра A в 10%-й области значений:

    param.Name = 'A';
    param.Value = linspace(0.9*A,1.1*A,3);
  • Массив структур — Варьируется значение нескольких параметров. Например, варьируйтесь значения параметров A и b в 10%-й области значений:

    [A_grid,b_grid] = ndgrid(linspace(0.9*A,1.1*A,3),...
                             linspace(0.9*b,1.1*b,3));
    params(1).Name = 'A';
    params(1).Value = A_grid;
    params(2).Name = 'b';
    params(2).Value = b_grid;

Для больше в информации, смотрите, Задают Выборки Параметра для Пакетной Линеаризации.

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

Для примера, показывающего, как пакетная линеаризация с выборкой параметра работает, смотрите, Варьируются Значения параметров и Получают Несколько Передаточных функций. Тот пример использование slLinearizer, но процесс является тем же самым для slTuner.

Чтобы вычислить смещения, требуемые блоком LPV System, задайте param, и набор st.Options.StoreOffsets к true. Можно затем возвратить дополнительную информацию о линеаризации при вызывании функций линеаризации такой как getIOTransfer, и извлеките использование смещений getOffsetsForLPV.

Рабочая точка для линеаризации mdlВ виде:

Если вы конфигурируете st.Parameters, затем задайте op как одно из следующего:

  • Один OperatingPoint или OperatingReport объект.

  • Массив OperatingPoint или OperatingReport объекты, соответствия размера которых та из сетки параметра заданы Parameters свойство. Когда вы обрабатываете в пакетном режиме, линеаризуют mdl, программное обеспечение использует только одну компиляцию модели. Чтобы получить рабочие точки, которые соответствуют комбинациям значения параметров, обработайте обрезку в пакетном режиме ваша модель с помощью param перед линеаризацией. Для примера, который использует linearize команда, смотрите, что Пакет Линеаризует Модель в Нескольких Рабочих точках, Выведенных из Изменений Параметра.

  • Несколько раз снимка состояния. Когда вы обрабатываете в пакетном режиме, линеаризуют mdl, программное обеспечение симулирует модель в течение каждого раза снимка состояния и комбинации узла решетки параметра. Эта операция может быть в вычислительном отношении дорогой.

Замените линеаризацией блоки и подсистемы модели в виде структуры или n-by-1 массив структур, где n является количеством блоков, для которых вы хотите задать линеаризацию. Используйте blocksub задавать пользовательскую линеаризацию для блока или подсистемы. Например, можно задать линеаризацию для блоков, которые не имеют аналитической линеаризации, такой как блоки с разрывами или триггируемыми подсистемами.

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

Если вы заменяете линеаризацией с шагом расчета, который отличается от того из исходного блока или подсистемы, это - лучшая практика, чтобы установить полный шаг расчета линеаризации (options.SampleTime) к значению не по умолчанию.

Каждая структура линеаризации замены имеет следующие поля.

Блок path блока, для которого вы хотите задать линеаризацию в виде вектора символов или строки.

Замените линеаризацией блок в виде одного из следующего:

  • Дважды — Задают линеаризацию блока SISO как усиление.

  • Массив типа double — Задает линеаризацию блока MIMO как nu-by-ny массив значений усиления, где nu является количеством входных параметров, и ny является количеством выходных параметров.

  • Модель LTI, неопределенная модель в пространстве состояний или неопределенный действительный объект — настройка ввода-вывода заданной модели должны совпадать с настройкой блока, заданного Name. Используя неопределенную модель требует программного обеспечения Robust Control Toolbox™.

  • Массив моделей LTI, неопределенных моделей в пространстве состояний или неопределенных действительных объектов — Пакет линеаризует модель с помощью нескольких замен блока. Настройка ввода-вывода каждой модели в массиве должна совпадать с настройкой блока, для которого вы задаете пользовательскую линеаризацию. Если вы:

    • Варьируйтесь параметры модели с помощью param и задайте Value как массив моделей, размерности Value должен совпадать с размером сетки параметра.

    • Замены блока Define на несколько блоков, и задают Value как массив моделей LTI больше чем для одного блока, должны соответствовать размерности массивов.

  • Структура со следующими полями:

    Поле Описание
    Specification

    Блокируйте линеаризацию в виде вектора символов, который содержит одно из следующих

    Заданное выражение или функция должны возвратить одно из следующего:

    • Линейная модель в форме D-матрицы

    • Объект модели LTI Control System Toolbox™

    • Неопределенная модель в пространстве состояний или неопределенный действительный объект (требует программного обеспечения Robust Control Toolbox),

    Настройка ввода-вывода возвращенной модели должна совпадать с настройкой блока, заданного Name.

    Type

    Тип спецификации в виде одного из следующего:

    • 'Expression'

    • 'Function'

    ParameterNames

    Имена параметров функции линеаризации в виде массива ячеек из символьных векторов. Задайте ParameterNames только, когда Type = 'Function' и ваша функция линеаризации блока требует входных параметров. Эти параметры только влияют на линеаризацию заданного блока.

    Необходимо также задать соответствующий blocksub.Value.ParameterValues поле .

    ParameterValues

    Значения параметра функции линеаризации в виде вектора из удваиваются. Порядок значений параметров должен соответствовать порядку названий параметра в blocksub.Value.ParameterNames. Задайте ParameterValues только, когда Type = 'Function' и ваша функция линеаризации блока требует входных параметров.

slTuner опции в виде slTunerOptions опция установлена.

Пример: options = slTunerOptions('IgnoreDiscreteStates','on')

Свойства

slTuner свойства объектов включают:

TunedBlocks

Блоки, которые будут настроены в mdlВ виде массива ячеек из символьных векторов.

Когда вы создаете slTuner интерфейс, TunedBlocks свойство автоматически заполняется с блоками, которые вы задаете в tuned_blocks входной параметр. Задавать дополнительные настраиваемые блоки в существующем slTuner интерфейс, использовать addBlock.

Ts

Время выборки для анализа и настройки mdlВ виде неотрицательного скаляра.

Установите это свойство с помощью записи через точку (st.Ts = Ts).

Значение по умолчанию: 0 (подразумевает непрерывное время),

Parameters

Выборки параметра для линеаризации mdlВ виде структуры или массива структур.

Установите это свойство с помощью param входной параметр или запись через точку (st.Parameters = param). param должно быть одно из следующего:

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

OperatingPoints

Рабочие точки для линеаризации mdlВ виде OperatingPoint объект, массив OperatingPoint объекты или массив положительных скалярных величин.

Установите это свойство с помощью op входной параметр или запись через точку (st.OperatingPoints = opop должно быть одно из следующего:

Если вы конфигурируете st.Parameters, затем задайте op как одно из следующего:

  • Один OperatingPoint или OperatingReport объект.

  • Массив OperatingPoint или OperatingReport объекты, соответствия размера которых та из сетки параметра заданы Parameters свойство. Когда вы обрабатываете в пакетном режиме, линеаризуют mdl, программное обеспечение использует только одну компиляцию модели. Чтобы получить рабочие точки, которые соответствуют комбинациям значения параметров, обработайте обрезку в пакетном режиме ваша модель с помощью param перед линеаризацией. Для примера, который использует linearize команда, смотрите, что Пакет Линеаризует Модель в Нескольких Рабочих точках, Выведенных из Изменений Параметра.

  • Несколько раз снимка состояния. Когда вы обрабатываете в пакетном режиме, линеаризуют mdl, программное обеспечение симулирует модель в течение каждого раза снимка состояния и комбинации узла решетки параметра. Эта операция может быть в вычислительном отношении дорогой.

BlockSubstitutions

Замените линеаризацией блоки и подсистемы модели в виде структуры или массива структур.

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

Установите это свойство с помощью blocksub входной параметр или запись через точку (st.BlockSubstitutions = blocksubs). Для получения информации о необходимой структуре смотрите blocksub.

Options

Опции алгоритма линеаризации в виде опции устанавливают созданное использование slTunerOptions.

Установите это свойство с помощью opt входной параметр или запись через точку (st.Options = opt).

Model

Имя модели Simulink, которая будет линеаризоваться в виде вектора символов входным параметром mdl.

TimeUnit

Модуль переменной времени. Это свойство задает единицы измерения времени для линеаризовавших моделей, возвращенных getIOTransfer, getLoopTransfer, getSensitivity, и getCompSensitivity. Используйте любое из следующих значений:

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

Значение по умолчанию: 'seconds'

Функции объекта

addBlockДобавьте блок в список настроенных блоков для slTuner интерфейс
addOpeningДобавьте сигнал в список открытий для slLinearizer или slTuner интерфейс
addPointДобавьте сигнал в список аналитических точек для slLinearizer или slTuner интерфейс
getPointsПолучите список аналитических точек для slLinearizer или slTuner интерфейс
getOpeningsПолучите список открытий для slLinearizer или slTuner интерфейс
getBlockParamПолучите параметризацию настроенного блока в slTuner интерфейс
getBlockValueПолучите текущее значение настроенной параметризации блока в slTuner интерфейс
getTunedValueПолучите текущее значение настроенной переменной в slTuner интерфейс
getBlockRateConversionПолучите настройки преобразования уровня для настроенного блока в slTuner интерфейс
setBlockParamУстановите параметризацию настроенного блока в slTuner интерфейс
setBlockValueУстановите значение настроенной параметризации блока в slTuner интерфейс
setBlockRateConversionУстановите настройки преобразования уровня для настроенного блока в slTuner интерфейс
systuneНастройте параметры системы управления в Simulink с помощью slTuner интерфейс
looptuneНастройте обратную связь MIMO в Simulink с помощью slTuner интерфейс
loopviewГрафически анализируйте результаты настройки системы управления с помощью slTuner интерфейс
looptuneSetupСоздайте регулируемый параметр для looptune к регулируемому параметру для systune использование slTuner интерфейс
showTunableПокажите значение параметризации настраиваемых блоков slTuner интерфейс
getIOTransferПередаточная функция для заданного набора ввода-вывода с помощью slLinearizer или slTuner интерфейс
getLoopTransferПередаточная функция разомкнутого контура в заданной точке с помощью slLinearizer или slTuner интерфейс
getSensitivityФункция чувствительности в заданной точке с помощью slLinearizer или slTuner интерфейс
getCompSensitivityДополнительная функция чувствительности в заданной точке с помощью slLinearizer или slTuner интерфейс
writeBlockValueОбновите значения блока в модели Simulink
writeLookupTableDataОбновите фрагмент настроенной интерполяционной таблицы
removePointУдалите точку из списка аналитических точек в slLinearizer или slTuner интерфейс
removeAllPointsУдалите все точки из списка аналитических точек в slLinearizer или slTuner интерфейс
removeAllOpeningsУдалите все открытия из списка постоянных открытий в slLinearizer или slTuner интерфейс
refreshРесинхронизируйте slLinearizer или slTuner интерфейс с состоянием текущей модели

Больше о

свернуть все

Аналитические точки

Analysis points, используемый slLinearizer и slTuner интерфейсы, идентифицируйте местоположения в модели, которые важны для линейного анализа и настройки системы управления. Вы используете аналитические точки в качестве входных параметров к командам линеаризации, такой как getIOTransfer, getLoopTransfer, getSensitivity, и getCompSensitivity. Как входные параметры к командам линеаризации, аналитические точки могут задать любой разомкнутый контур или передаточную функцию с обратной связью в модели. Можно также использовать аналитические точки, чтобы задать конструктивные требования при настройке систем управления с помощью команд такой как systune.

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

Можно добавить, что анализ указывает на slLinearizer или slTuner интерфейсы, когда вы создаете интерфейс. Например:

s = slLinearizer('scdcascade',{'u1','y1'});

В качестве альтернативы можно использовать addPoint команда.

Просмотреть все аналитические точки s, введите s в командной строке, чтобы отобразить интерфейсное содержимое. Для каждой аналитической точки s, отображение включает имя блока и номер порта и имя сигнала, который происходит в этой точке. Можно также программно получить список всего аналитического использования точек getPoints.

Для получения дополнительной информации о том, как можно использовать аналитические точки, смотрите представляющего интерес Марка Сигнэлса для Анализа и проектирования Системы управления и представляющего интерес Марка Сигнэлса для Пакетной Линеаризации.

Постоянные открытия

Permanent openings, используемый slLinearizer и slTuner интерфейсы, идентифицируйте местоположения в модели, где программное обеспечение повреждает поток сигналов. Программное обеспечение осуществляет эти открытия для линеаризации и настройку. Используйте постоянные открытия, чтобы изолировать определенный компонент модели. Предположим, что у вас есть крупномасштабная модель, получая динамику самолета, и вы хотите выполнить линейный анализ корпуса только. Можно использовать постоянные открытия, чтобы исключить все другие компоненты модели. Другой пример - когда вы расположили каскадом циклы в своей модели, и вы хотите анализировать определенный цикл.

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

Можно добавить постоянные открытия в slLinearizer или slTuner интерфейсы, когда вы создаете интерфейс или при помощи addOpening команда. Чтобы удалить местоположение из списка постоянных открытий, используйте removeOpening команда.

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

Пользовательская функция линеаризации

Можно задать линеаризацию замены для блока или подсистемы в модели Simulink с помощью пользовательской функции на пути MATLAB.

Ваша пользовательская функция линеаризации должна иметь один BlockData входной параметр, который является структурой, которую программное обеспечение создает и передает функции. BlockData имеет следующие поля:

Поле Описание
BlockNameИмя блока, для которого вы задаете пользовательскую линеаризацию.
ParametersЗначения параметров блоков в виде массива структур с Name и Value поля . Parameters содержит имена и значения параметров, которые вы задаете в blocksub.Value.ParameterNames и blocksub.Value.ParameterValues поля .
Inputs

Входные сигналы с блоком, для которого вы задаете линеаризацию в виде массива структур с одной структурой для каждого входа блока. Каждая структура в Inputs имеет следующие поля:

Поле Описание
BlockNameПолный блок path блока, выход которого соединяется с соответствующим введенным блоком.
PortIndexВыходной порт блока задан BlockName это соединяется с соответствующим входом блока.
ValuesЗначение сигнала задано BlockName и PortIndex. Если этот сигнал является векторным сигналом, то Values вектор с той же размерностью.
nyКоличество выходных каналов линеаризации блока.
nuКоличество входных каналов линеаризации блока.
BlockLinearizationТекущая линеаризация по умолчанию блока в виде модели в пространстве состояний. Можно задать линеаризацию блока, которая зависит от линеаризации по умолчанию с помощью BlockLinearization.

Ваша пользовательская функция должна возвратить модель с nu входные параметры и ny выходные параметры . Эта модель должна быть одним из следующего:

  • Линейная модель в форме D-матрицы

  • Объект модели LTI Control System Toolbox

  • Неопределенная модель в пространстве состояний или неопределенный действительный объект (требует программного обеспечения Robust Control Toolbox),

Например, следующая функция умножает текущую линеаризацию блока по умолчанию задержкой Td = 0.5 секунды. Задержка представлена фильтром Thiran с шагом расчета Ts = 0.1. Задержка и шаг расчета являются параметрами, сохраненными в BlockData.

function sys = myCustomFunction(BlockData)
    Td = BlockData.Parameters(1).Value;
    Ts = BlockData.Parameters(2).Value;
    sys = BlockData.BlockLinearization*Thiran(Td,Ts);
end 

Сохраните эту функцию в местоположение на пути MATLAB.

Чтобы использовать эту функцию в качестве пользовательской линеаризации для блока или подсистемы, задайте blocksub.Value.Specification и blocksub.Value.Type поля .

blocksub.Value.Specification = 'myCustomFunction';
blocksub.Value.Type = 'Function';

Чтобы установить задержку и значения параметров шага расчета, задайте blocksub.Value.ParameterNames и blocksub.Value.ParameterValues поля .

blocksub.Value.ParameterNames = {'Td','Ts'};
blocksub.Value.ParameterValues = [0.5 0.1];

Алгоритмы

slTuner линеаризует вашу модель Simulink с помощью алгоритмов, описанных в Точном Алгоритме Линеаризации.

Введенный в R2014a