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 port 1 of scdcascade/setpoint
Point 2: Signal "y1m", located at port 1 of scdcascade/Sum
Point 3: 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 как одно из следующего:

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Массив рабочей точки возражает чьи соответствия размера та из сетки параметра, заданной 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Добавьте сигнал в список открытий для интерфейса slTuner или slLinearizer
addPointДобавьте сигнал в список аналитических точек для интерфейса slTuner или slLinearizer
getPointsПолучите список аналитических точек для интерфейса slTuner или slLinearizer
getOpeningsПолучите список открытий для интерфейса slTuner или slLinearizer
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Удалите точку из списка аналитических точек в интерфейсе slTuner или slLinearizer
removeAllPointsУдалите все точки из списка аналитических точек в интерфейсе slTuner или slLinearizer
removeAllOpeningsУдалите все открытия из списка постоянных открытий в интерфейсе slTuner или slLinearizer
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

Для просмотра документации необходимо авторизоваться на сайте