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) использует любую комбинацию входных параметров pt, op, 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.

The systune команда может совместно настроить блоки контроллеров так, чтобы они соответствовали этим проектом требованиям, которые вы задаете используя TuningGoal объекты. The 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, заданный как:

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

    Для примера, blk = 'scdcascade/C1'.

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

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

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

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

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

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

    • Блокируйте путь и порт, инициирующие сигнал, например 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 в области значений:

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

    [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;

Для получения дополнительной информации смотрите Specify Parameter Samples для пакетной линеаризации.

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

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

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

Рабочая точка для линеаризации mdl, заданный как:

  • Объект рабочей точки, созданный с помощью findop с одной спецификацией рабочей точки или с одним временем моментального снимка.

  • Массив объектов рабочей точки, задающий несколько рабочих точек.

    Чтобы создать массив объектов рабочих точек, можно:

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

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

  • Одна рабочая точка.

  • Массив объектов рабочей точки, размер которых соответствует размеру сетки параметров, заданной Parameters свойство. При пакетной линеаризации mdlпрограммное обеспечение использует только одну компиляцию модели. Чтобы получить рабочие точки, которые соответствуют комбинациям значений параметров, пакет обрезает вашу модель, используя param перед линеаризацией. Для примера, который использует linearize команда, см. Пакетная линеаризация модели в нескольких рабочих точках, выведенных из изменений параметра.

  • Несколько моментальных снимков. При пакетной линеаризации mdlпрограммное обеспечение моделирует модель для каждой комбинации моментального снимка и параметра grid point. Эта операция может быть дорогостоящей в вычислительном отношении.

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

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

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

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

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

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

  • Double - Задайте линеаризацию блока SISO как коэффициент усиления.

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

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

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

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

    • Задайте подстановки блоков для нескольких блоков и задайте Value как массив моделей LTI для нескольких блоков, размерности массивов должны совпадать.

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

    ОбластьОписание
    Specification

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

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

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

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

    • Модель неопределенного пространства состояний или неопределенный реальный объект (требует программного обеспечения 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, заданный как объект рабочей точки, массив объектов рабочей точки или массив положительных скалярных величин.

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

  • Объект рабочей точки, созданный с помощью findop с одной спецификацией рабочей точки или с одним временем моментального снимка.

  • Массив объектов рабочей точки, задающий несколько рабочих точек.

    Чтобы создать массив объектов рабочих точек, можно:

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

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

  • Одна рабочая точка.

  • Массив объектов рабочей точки, размер которых соответствует размеру сетки параметров, заданной Parameters свойство. При пакетной линеаризации mdlпрограммное обеспечение использует только одну компиляцию модели. Чтобы получить рабочие точки, которые соответствуют комбинациям значений параметров, пакет обрезает вашу модель, используя param перед линеаризацией. Для примера, который использует linearize команда, см. Пакетная линеаризация модели в нескольких рабочих точках, выведенных из изменений параметра.

  • Несколько моментальных снимков. При пакетной линеаризации mdlпрограммное обеспечение моделирует модель для каждой комбинации моментального снимка и параметра grid point. Эта операция может быть дорогостоящей в вычислительном отношении.

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, при создании интерфейса. Для примера:

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

Кроме того, можно использовать addPoint команда.

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

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

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

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

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

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

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

Настраиваемая функция линеаризации

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

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

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

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

ОбластьОписание
BlockNameПолный путь блока, выход которого соединяется с соответствующим входом блока.
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
Для просмотра документации необходимо авторизоваться на сайте