idgrey

Линейная ОДУ (модель серого ящика) с идентифицируемыми параметрами

Синтаксис

sys = idgrey(odefun,parameters,fcn_type)
sys = idgrey(odefun,parameters,fcn_type,optional_args)
sys = idgrey(odefun,parameters,fcn_type,optional_args,Ts)
sys = idgrey(odefun,parameters,fcn_type,optional_args,Ts,Name,Value)

Описание

sys = idgrey(odefun,parameters,fcn_type) создает линейную модель «серый ящик» с идентифицируемыми параметрами, sys. odefun задает пользовательскую функцию, которая связывает параметры модели, parameters, в представление пространства состояний.

sys = idgrey(odefun,parameters,fcn_type,optional_args) создает линейную модель «серый ящик» с идентифицируемыми параметрами с помощью необязательных аргументов, требуемых odefun.

sys = idgrey(odefun,parameters,fcn_type,optional_args,Ts) создает линейную модель «серый ящик» с идентифицируемыми параметрами с заданным шагом расчета, Ts.

sys = idgrey(odefun,parameters,fcn_type,optional_args,Ts,Name,Value) создает линейную модель «серый ящик» с идентифицируемыми параметрами с дополнительными опциями, заданными одной или несколькими Name,Value аргументы в виде пар.

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

Один idgrey модель представляет систему как модель пространства состояний в непрерывном времени или дискретном времени с идентифицируемыми (оцениваемыми) коэффициентами.

Модель пространства состояний системы с входным вектором, u, выходным вектором, y и нарушением порядка, e, принимает следующую форму за непрерывное время:

x˙(t)=Ax(t)+Bu(t)+Ke(t)y(t)=Cx(t)+Du(t)+e(t)

В дискретном времени модель пространство состояний принимает форму:

x[k+1]=Ax[k]+Bu[k]+Ke[k]y[k]=Cx[k]+Du[k]+e[k]

Для idgrey модели, матрицы A, B, C и D пространства состояний выражаются как функция пользовательских параметров с помощью MATLAB® функция. Вы получаете доступ к предполагаемым параметрам, используя sys.Structures.Parameters, где sys является idgrey модель.

Используйте idgrey модель, когда вы знаете систему уравнений, управляющих динамикой системы явно. Вы должны уметь выразить эту динамику в виде обыкновенных дифференциальных или разностных уравнений. Вы задаете сложные связи и ограничения среди параметров, которые не могут быть сделаны через структурированные модели пространства состояний (idss).

Вы можете создать idgrey модель с использованием idgrey команда. Для этого запишите функцию MATLAB, которая возвращает A, B, C и матрицы D для заданных значений оценочных параметров и шага расчета. Функция MATLAB может также вернуть матрицу K и принять необязательные входные параметры. Возвращенные матрицы могут представлять модель в непрерывном времени или дискретном времени, как показано шагом расчета.

Используйте функции оценки pem или greyest для получения оценочных значений неизвестных параметров idgrey модель.

Вы можете преобразовать idgrey моделировать в другие динамические системы, такие как idpoly, idss, tf, ss и т.д. Вы не можете преобразовать динамическую систему в idgrey модель.

Примеры

свернуть все

Создайте idgrey модель для представления двигателя постоянного тока. Задайте моторную постоянную времени как оценочный параметр и что функция ODE может возвращать матрицы пространства состояний непрерывного или дискретного времени.

Создайте idgrey модель.

odefun = 'motorDynamics';
parameters = 1;
fcn_type = 'cd';
optional_args = 0.25; 
Ts = 0;
sys = idgrey(odefun,parameters,fcn_type,optional_args,Ts);

sys является idgrey модель, которая сконфигурирована для использования поставляемого файла motorDynamics.m чтобы вернуть A, B, C, D, и K матрицы. motorDynamics.m также возвращает начальные условия, X0. Моторная константа, τ, определяется в motorDynamics.m как оценочный параметр, и parameters = 1 задает его начальное значение как 1.

Можно использовать pem или greyest для уточнения сметы τ.

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

Создайте файл ОДУ, который связывает коэффициенты модели маятника с его представлением пространства состояний. Сохраните эту функцию как LinearPendulum.m таким образом, он находится в пути поиска файлов MATLAB ®.

function [A,B,C,D] = LinearPendulum(m,g,l,b,Ts)
A = [0 1; -g/l, -b/m/l^2];
B = zeros(2,0);
C = [1 0];
D = zeros(1,0);
end 

В этой функции:

  • m - маятниковая масса.

  • g - ускорение свободного падения.

  • l - длина маятника.

  • b - коэффициент вязкого трения.

  • Ts является моделью шага расчета.

Создайте линейную модель «серый ящик», связанную с функцией ODE.

odefun = 'LinearPendulum';

m = 1;
g = 9.81;
l = 1;
b = 0.2;
parameters = {'mass',m;'gravity',g;'length',l;'friction',b};

fcn_type = 'c';

sys = idgrey(odefun,parameters,fcn_type);

sys имеет четыре параметра.

Задайте известные параметры, m, g, и l, как фиксировано для оценки.

sys.Structure.Parameters(1).Free = false;
sys.Structure.Parameters(2).Free = false;
sys.Structure.Parameters(3).Free = false;

m, g, и l являются первыми тремя параметрами sys.

Задайте нулевую нижнюю границу для b, четвертый параметр sys.

sys.Structure.Parameters(4).Minimum = 0;

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

Создайте модель серого ящика с идентифицируемыми параметрами. Назовите входной и выходной каналы модели и задайте секунды для модулей времени модели.

Использование Name,Value пара аргументов, чтобы задать дополнительные свойства модели при создании модели.

odefun = 'motorDynamics';
parameters = 1;
fcn_type = 'cd';
optional_args = 0.25; 
Ts = 0;
sys = idgrey(odefun,parameters,fcn_type,optional_args,Ts,'InputName','Voltage',...
            'OutputName',{'Angular Position','Angular Velocity'});

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

sys.TimeUnit = 'seconds';

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

odefun1 = @motorDynamics;
parameters1 = [1 2];
fcn_type = 'cd';
optional_args1 = 1;
sys1 = idgrey(odefun1,parameters1,fcn_type,optional_args1);

odefun2 = 'motorDynamics';
parameters2 = {[1 2]};
optional_args2 = 0.5;
sys2 = idgrey(odefun2,parameters2,fcn_type,optional_args2);

sysarr = stack(1,sys1,sys2);

stack создает массив 2 на 1 idgrey модели, sysarr.

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

odefun

Функция MATLAB, которая связывает параметры модели с ее представлением пространства состояний.

odefun задает имя функции MATLAB (.m, .p, указатель на функцию или .mex * файл). Эта функция устанавливает связь между параметрами модели, parameters, и его представление в пространстве состояний. Функция может опционально связать параметры модели с матрицей нарушений порядка и начальными состояниями.

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

Синтаксис для odefun должны быть следующими:

[A,B,C,D] = odefun(par1,par2,...,parN,Ts,optional_arg1,optional_arg2,...)

Выходы функции описывают модель в следующей форме линейных инноваций в пространстве состояний:

xn(t)=Ax(t)+Bu(t)+Ke(t);x(0)=x0y(t)=Cx(t)+Du(t)+e(t)

В дискретном времени xn (t) = x (t + Ts) и за непрерывное время,xn(t)=x˙(t).

par1,par2,...,parN являются параметрами модели. Каждая запись может быть скаляром, вектором или матрицей.

Ts - шаг расчета.

optional_arg1,optional_arg2,... являются ли необязательными входами, которые odefun может потребовать. Значения необязательных входных параметров не изменяются в процессе оценки. Однако значения par1,par2,...,parN обновляются во время оценки в соответствии с данными. Используйте необязательные входные параметры, чтобы варьировать константы и коэффициенты, используемые вашей моделью, не редактируя odefun.

Матрица нарушения порядка, K и начальные значения состояний x0 не параметризованы. Вместо этого эти значения определяются отдельно, используя DisturbanceModel и InitialState опции оценки, соответственно. Для получения дополнительной информации об опциях оценки см. greyestOptions.

Хорошим выбором для достижения лучших результатов симуляции является установка DisturbanceModel опция для 'none', который исправляет K в нуле.

(Необязательно) Параметризация нарушения порядка: odefun можно также вернуть компонент нарушения порядка, K, используя синтаксис:

[A,B,C,D,K] = odefun(par1,par2,...,parN,Ts,optional_arg1,optional_arg2,...)

Если odefun возвращает значение для K, которое содержит NaN значения, тогда функция оценки принимает, что K не параметризована. В этом случае значение DisturbanceModel опция оценки определяет, как K обрабатывается.

(Необязательно) Параметризация начальных значений состояния: Чтобы сделать начальные состояния модели X0, зависимыми от параметров модели, используйте следующий синтаксис для odefun:

[A,B,C,D,K,X0] = odefun(par1,par2,...,parN,Ts,optional_arg1,optional_arg2,...)

Если odefun возвращает значение для X0, которое содержит NaN значения, тогда функция оценки принимает, что X0 не параметризована. В этом случае X0 могут быть зафиксированы в нуле или оценены отдельно, используя InitialStates опция оценки.

parameters

Начальные значения параметров, требуемых odefun.

Задайте parameters как массив ячеек, содержащий начальные значения параметров. Если ваша модель требует только один параметр, который может сам быть вектором или матрицей, можно задать parameters как матрица.

Можно также задать имена параметров, используя массив ячеек N -by-2, где N количество параметров. Первый столбец задает имена, а второй - значения параметров.

Для примера:

parameters = {'mass',par1;'stiffness',par2;'damping',par3}

fcn_type

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

fcn_type требуется одно из следующих значений:

  • 'c'odefun возвращает матрицы, соответствующие системе непрерывного времени, независимо от значения Ts.

  • 'd'odefun возвращает матрицы, соответствующие системе в дискретном времени, значения которой могут зависеть или не зависеть от значения Ts.

  • 'cd'odefun возвращает матрицы, соответствующие системе непрерывного времени, если Ts=0.

    В противном случае, если Ts>0, odefun возвращает матрицы, соответствующие системе дискретного времени. Выберите эту опцию, чтобы выборить модель с помощью значений, возвращаемых odefun, а не использование внутренних стандартных программ преобразования шагов расчета программного обеспечения.

optional_args

Необязательные входные параметры, требуемые odefun.

Задайте optional_args как массив ячеек.

Если odefun не требует необязательных входных параметров, задайте optional_args как {}.

Ts

Моделируйте шаг расчета.

Если Ts не задан, принято как:

  • -1 - Если fcn_type является 'd' или 'cd'.

    Ts = -1 указывает модель в дискретном времени с неизвестным шагом расчета.

  • 0 - Если fcn_type является 'c'.

    Ts = 0 указывает модель в непрерывном времени.

Name,Value

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы, где Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри одинарных кавычек (' '). Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Использование Name,Value аргументы для задания дополнительных свойств idgrey модели во время создания модели. Для примера, idgrey(odefun,parameters,fcn_type,'InputName','Voltage') создает idgrey модель с InputName значение свойства установлено в Voltage.

Свойства

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

A,B,C,D

Значения матриц пространства состояний.

  • A - Матрица A состояний, матрица Nx -by Nx, как возвращено функцией ODE, связанной с idgrey модель. Nx - количество состояний.

  • B - Матрица ввода в состояние B, матрица Nx -by Nu, как возвращено функцией ODE, связанной с idgrey модель. Nu - количество входов, а Nx - количество состояний.

  • C - матрица состояния вывода C, матрица Ny -by Nx, как возвращено функцией ODE, связанной с idgrey модель. Nx - количество состояний, а Ny - количество выходов.

  • D - матричная матрица D, матрица Ny -by Nu, как возвращено функцией ODE, связанной с idgrey модель. Ny - количество выходов, а Nu - количество входов.

Значения A,B,C,D возвращаются функцией ODE, связанной с idgrey модель. Таким образом, можно только считать эти матрицы; вы не можете задать их значения.

K

Значение матрицы нарушения порядка состояния, K

K is Nx -by - Ny матрица, где Nx - количество состояний и Ny - количество выходов.

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

  • Если odefun не параметризирует матрицу K, тогда K является нуль матрицей размера Nx -by- Ny. Nx - количество состояний, а Ny - количество выходов. Значение обрабатывается как фиксированное значение матрицы K во время оценки. Чтобы сделать значение оценочным, используйте DisturbanceModel опция оценки.

  • Независимо от того, параметризирована ли матрица K odefun или нет, можно задать значение K свойство явным образом как Nx -by - Ny матрица. Nx - количество состояний, а Ny - количество выходов. Заданное значение обрабатывается как фиксированное значение матрицы K во время оценки. Чтобы сделать значение оценочным, используйте DisturbanceModel опция оценки.

Чтобы создать набор опций оценки для idgrey модели, использование greyestOptions.

StateName

Имена состояний, заданные как одно из следующих:

  • Вектор символов - Для моделей первого порядка, например, 'velocity'.

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

  • '' - Для неназванных состояний.

По умолчанию: '' для всех состояний

StateUnit

Состояние модулей, заданное как одно из следующих:

  • Вектор символов - Для моделей первого порядка, например, 'velocity'

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

  • '' - Для состояний без заданных модулей

Использование StateUnit для отслеживания модулей измерения каждое состояние выражается в. StateUnit не влияет на поведение системы.

По умолчанию: '' для всех состояний

Structure

Информация об оценочных параметрах idgrey модель.

Structure сохраняет информацию о функции MATLAB, которая параметризирует idgrey модель.

  • Structure.Function - Имя или указатель на функцию функции MATLAB, используемый для создания idgrey модель.

  • Structure.FunctionType - Указывает, параметризирована ли модель в непрерывном времени, дискретном времени или в обоих случаях.

  • Structure.Parameters - Информация о предполагаемых параметрах. Structure.Parameters содержит следующие поля:

    • Value - Значения параметров. Для примера, sys.Structure.Parameters(2).Value содержит начальные или оценочные значения второго параметра.

      NaN представляет неизвестные значения параметров.

    • Minimum - Минимальное значение, которое параметр может принять во время оценки. Для примера, sys.Structure.Parameters(1).Minimum = 0 определяет, что первый параметр больше или равен нулю.

    • Maximum - Максимальное значение, которое параметр может принять во время оценки.

    • Free - Логическое значение, определяющее, является ли параметр оцениваемым. Если вы хотите исправить значение параметра во время оценки, установите Free = false для соответствующей записи.

    • Scale - Шкала значения параметра. Scale не используется в оценке.

    • Info - Массив структур для хранения модулей измерения и меток параметров. Структура имеет Label и Unit поля.

      Задайте модули и метки параметров как векторы символов. Для примера, 'Time'.

  • Structure.ExtraArguments - необязательные входные параметры, требуемые функцией ODE.

  • Structure.StateName - Имена состояний модели.

  • Structure.StateUnit - Модули состояний модели.

NoiseVariance

Отклонение (ковариационная матрица) инноваций модели, e.

Идентифицированная модель включает белый, Гауссов шумовой компонент, e (t). NoiseVariance - отклонение этого шумового компонента. Как правило, функция оценки модели (такая как самый серый или pem) определяет это отклонение.

Для моделей SISO, NoiseVariance является скаляром. Для моделей MIMO, NoiseVariance является Ny -by - Ny матрицей, где Ny - количество выходов в системе.

Report

Сводный отчет, который содержит информацию об опциях оценки и результатах, когда модель «серый ящик» получена с помощью greyest команда оценки. Использование Report запросить модель для того, как она была оценена, включая ее:

  • Метод оценки

  • Опции оценки

  • Условия окончания поиска

  • Подгонка данных оценки и другие метрики качества

Содержимое Report нерелевантны, если модель была создана конструкцией.

odefun = 'motorDynamics';
m = idgrey(odefun,1,'cd',0.25,0);
m.Report.OptionsUsed
ans =

     []

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

load(fullfile(matlabroot,'toolbox','ident','iddemos','data','dcmotordata'));
data = iddata(y,u,0.1,'Name','DC-motor');
odefun = 'motorDynamics';
init_sys = idgrey('motorDynamics',1,'cd',0.25,0);
m = greyest(data,init_sys);
m.Report.OptionsUsed
InitialState: 'auto'
    DisturbanceModel: 'auto'
               Focus: 'prediction'
  EstimateCovariance: 1
             Display: 'off'
         InputOffset: []
        OutputOffset: []
      Regularization: [1x1 struct]
        OutputWeight: []
        SearchMethod: 'auto'
       SearchOptions: [1x1 idoptions.search.identsolver]
            Advanced: [1x1 struct]

Report является свойством только для чтения.

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

InputDelay

Входная задержка для каждого входного канала, заданная как скалярное значение или числовой вектор. Для систем непрерывного времени задайте задержки на входе в модуле времени, сохраненной в TimeUnit свойство. Для систем в дискретном времени задайте входные задержки в целочисленных множителях шага расчета Ts. Для примера, InputDelay = 3 означает задержку в три шагов расчета.

Для системы с Nu входы, задайте InputDelay в Nu-by-1 вектор. Каждый элемент этого вектора является числовым значением, которое представляет входу задержку для соответствующего канала входа.

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

По умолчанию: 0

OutputDelay

Выходные задержки.

Для идентифицированных систем, таких как idgrey, OutputDelay фиксируется в нуле.

Ts

Шаг расчета.

Для моделей в непрерывном времени, Ts = 0. Для моделей в дискретном времени, Ts - положительная скалярная величина, представляющая шаг расчета, выраженную в модуле, заданной TimeUnit свойство модели. Чтобы обозначить модель в дискретном времени с неопределенным шагом расчета, установите Ts = -1.

Изменение этого свойства не дискретизирует и не переопределяет модель.

Для idgrey модели, нет уникального значения по умолчанию для Ts. Ts зависит от значения fcn_type.

TimeUnit

Модули измерения для временной переменной, шага расчета Ts, и любые задержки в модели, заданные как одно из следующих значений:

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

Изменение этого свойства не влияет на другие свойства и, следовательно, изменяет общее поведение системы. Использовать chgTimeUnit (Control System Toolbox) для преобразования между единицами времени без изменения поведения системы.

По умолчанию: 'seconds'

InputName

Входные имена каналов, заданные как одно из следующих:

  • Вектор символов - Для моделей с одним входом, например, 'controls'.

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

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

sys.InputName = 'controls';

Имена входа автоматически расширяются на {'controls(1)';'controls(2)'}.

Когда вы оцениваете модель, используя iddata объект, dataпрограммное обеспечение автоматически устанавливает InputName на data.InputName.

Можно использовать сокращённое обозначение u для ссылки на InputName свойство. Для примера, sys.u эквивалентно sys.InputName.

Входные имена каналов имеют несколько применений, включая:

  • Идентификация каналов на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Определение точек соединения при соединении моделей

По умолчанию: '' для всех входных каналов

InputUnit

Входные модули канала, заданные как один из следующих:

  • Вектор символов - Для моделей с одним входом, например, 'seconds'.

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

Использование InputUnit отслеживать модули входных сигналов. InputUnit не влияет на поведение системы.

По умолчанию: '' для всех входных каналов

InputGroup

Входные группы каналов. The InputGroup свойство позволяет вам назначить входные каналы систем MIMO в группы и ссылаться на каждую группу по имени. Задайте входные группы как структуру. В этой структуре имена полей являются именами групп, а значения полей - входными каналами, принадлежащими каждой группе. Для примера:

sys.InputGroup.controls = [1 2];
sys.InputGroup.noise = [3 5];

создает входные группы с именем controls и noise которые включают входные каналы 1, 2 и 3, 5, соответственно. Затем можно извлечь подсистему из controls входы для всех выходов с помощью:

sys(:,'controls')

По умолчанию: Struct без полей

OutputName

Выходы каналов, заданные как одно из следующих:

  • Вектор символов - Для моделей с одним выходом. Для примера, 'measurements'.

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

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

sys.OutputName = 'measurements';

Выходы данных автоматически расширяются на {'measurements(1)';'measurements(2)'}.

Когда вы оцениваете модель, используя iddata объект, dataпрограммное обеспечение автоматически устанавливает OutputName на data.OutputName.

Можно использовать сокращённое обозначение y для ссылки на OutputName свойство. Для примера, sys.y эквивалентно sys.OutputName.

Имена выходных каналов имеют несколько применений, включая:

  • Идентификация каналов на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Определение точек соединения при соединении моделей

По умолчанию: '' для всех выходных каналов

OutputUnit

Выход модулей канала, заданный как один из следующих:

  • Вектор символов - Для моделей с одним выходом. Для примера, 'seconds'.

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

Использование OutputUnit отслеживать выход модулей сигнала. OutputUnit не влияет на поведение системы.

По умолчанию: '' для всех выходных каналов

OutputGroup

Выходы каналов. The OutputGroup свойство позволяет вам назначить выходные каналы систем MIMO в группы и ссылаться на каждую группу по имени. Задайте выходные группы как структуру. В этой структуре имена полей являются именами групп, а значения полей - выходными каналами, принадлежащими каждой группе. Для примера:

sys.OutputGroup.temperature = [1];
sys.InputGroup.measurement = [3 5];

создает выходные группы с именем temperature и measurement которые включают выходные каналы 1, и 3, 5, соответственно. Затем можно извлечь подсистему из всех входов в measurement выходы с использованием:

sys('measurement',:)

По умолчанию: Struct без полей

Name

Имя системы, заданное как вектор символов. Для примера, 'system_1'.

По умолчанию: ''

Notes

Любой текст, который вы хотите связать с системой, сохраненный как строка или массив ячеек из векторов символов. Свойство сохраняет любой тип данных, которые вы предоставляете. Для образца, если sys1 и sys2 являются динамические системы моделями, можно задать их Notes свойства следующим образом:

sys1.Notes = "sys1 has a string.";
sys2.Notes = 'sys2 has a character vector.';
sys1.Notes
sys2.Notes
ans = 

    "sys1 has a string."


ans =

    'sys2 has a character vector.'

По умолчанию: [0×1 string]

UserData

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

По умолчанию: []

SamplingGrid

Сетка дискретизации для массивов моделей, заданная как структура данных.

Для массивов идентифицированных линейных (IDLTI) моделей, которые получают путем выборки одной или нескольких независимых переменных, это свойство отслеживает значения переменных, сопоставленные с каждой моделью. Эта информация появляется при отображении или построении графика массива моделей. Используйте эту информацию для отслеживания результатов к независимым переменным.

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

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

nominal_engine_rpm = [1000 5000 10000];
sys.SamplingGrid = struct('rpm', nominal_engine_rpm)

где sys - массив, содержащий три идентифицированные модели, полученные в rpms 1000, 5000 и 10000 соответственно.

Для массивов моделей, сгенерированных линеаризацией Simulink® моделируйте в нескольких значениях параметров или рабочих точках, программное обеспечение заполняет SamplingGrid автоматически со значениями переменных, соответствующими каждой записи в массиве. Например, команды Simulink Control Design™ linearize (Simulink Control Design) и slLinearizer (Simulink Control Design) заполните SamplingGrid таким образом.

По умолчанию: []

Представлено до R2006a