sampleBlock

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

Описание

пример

Msamp = sampleBlock(M,name,vals) производит один блок Control Design в обобщенной модели M. Результат Msamp массив моделей размера [size(M) N] полученный, заменяя блок на заданные значения, где N количество значений в vals.

пример

Msamp = sampleBlock(M,nameset,valset) одновременно выборки несколько блоков, заданных как массив ячеек имен блока. valset массив ячеек N демонстрационные значения для каждого блока. Результат Msamp массив моделей размера [size(M) N].

пример

Msamp = sampleBlock(M,nameset1,valset1,nameset2,valset2,...,namesetM,valsetM) независимо выборки несколько блоков. nameset1,nameset2,...,namesetM может каждый быть одно имя блока (см. name) или массив ячеек имен (см. nameset). Модель M производится по сетке размера [N1 N2 ... NM], где N1 количество значений в valset1, N2 количество значений в valset2, и так далее. Получившийся Msamp массив размера [size(M) N1 N2 ... NM].

[Msamp,samples] = sampleBlock(___) также возвращает структуру данных, содержащую заменяющие значения блока для каждой точки выборки. Можно использовать этот синтаксис с любой из предыдущих комбинаций входных аргументов.

Примеры

свернуть все

Создайте модель первого порядка G(s)=1/(τs+1), где τ настраиваемый действительный параметр.

tau = realp('tau',5);
G = tf(1,[tau 1]);

Оцените эту передаточную функцию для τ = 3,4.., 7. Результатом является массив 5 на 1 моделей первого порядка.

Gs = sampleBlock(G,'tau',3:7);
size(Gs)
5x1 array of state-space models.
Each model has 1 outputs, 1 inputs, and 1 states.

Создайте модель с полюсом в s = a и усиление b*c, где aB, и c настраиваемые скаляры.

a = realp('a',1);  
b = realp('b',3);  
c = realp('c',1);
G = tf(b*c,[1 a]);

Выберите 5 выборок для a и 3 выборки для (b,c) пары. Оцените G по соответствию 5 3 сетка (a,b,c) комбинации.

as = 0.8:0.1:1.2;
bs = 2:4;
cs = [0.5 1 1.5];
Gs = sampleBlock(G,'a',as,{'b','c'},{bs,cs});

Группировка значений для b и c в массивах ячеек вызывает sampleBlock обрабатывать их как (b,c) пары, (2 0.5), (3,1), и (1,5). Gs 5 3 массив моделей в пространстве состояний, в который a варьируется по первому измерению и (b,c) варьируется вдоль второго измерения. Таким образом, например, Gs(:,:,3,2) соответствует a = 1, (b,c) = (3,1).

График шага показывает набор ответов для каждого трех (b,c) пары. Каждый набор содержит ответ для каждого пяти a значения.

stepplot(Gs)

Если вы не группируете значения, sampleBlock замены все значения независимо, приводя к 5 3х3 массивом моделей.

GsInd = sampleBlock(G,'a',as,'b',bs,'c',cs);
size(GsInd)
5x3x3 array of state-space models.
Each model has 1 outputs, 1 inputs, and 1 states.

Например, в GsInd, Gs(:,:,3,2,1) модель с a = 1, b = 3, и c = 0.5.

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

свернуть все

Модель к выборке в виде a:

  • Обобщенная модель (genss или genfrd)

  • Обобщенная матрица (genmat)

  • Неопределенная модель (uss (Robust Control Toolbox) или ufrd (Robust Control Toolbox))

  • Неопределенная матрица (umat (Robust Control Toolbox))

Блок Control Design к выборке в виде вектора символов. Например, предположите тот M isa genss модель с настраиваемыми блоками t1 и t2. Затем любой 't1' или 't2' возможное значение для name.

Демонстрационные значения блока в виде числового массива или массива моделей. Значения должны быть совместимы с типом блока. Например, если name настраиваемый действительный параметр (realp), затем vals числовой массив длины N, количество выборок. Если name настраиваемый ПИД-регулятор (tunablePID), затем vals массив моделей LTI, совместимых со структурой ПИДа.

Система управления блокируется к выборке одновременно в виде массива ячеек из символьных векторов. Записи в nameset соответствуйте именам, по крайней мере, подмножества блоков Системы управления в M. Например, предположите тот M isa genss модель с настраиваемыми блоками t1 и t2, и неопределенные блоки u1 и u2. Затем {'t1','u2'} одно возможное значение для nameset.

Собирание в группу имен блока в массиве ячеек генерирует выборки группы, а не независимые выборки. Например, следующий код генерирует массив 10 на 1 моделей, где каждая запись в массиве имеет соответствующее значение для парного (t1,u2).

t1s = 1:10;
u2s = 2:2:20;
valset = {t1s,t2s};
Msamp = sampleBlock(M,{'t1','u2'},valset);

sampleBlock игнорирует любую запись в nameset это не появляется в M.

Демонстрационные значения блока в виде массива ячеек. Каждая запись в массиве ячеек является самостоятельно массивом N демонстрационные значения для каждого блока в nameset. Например, следующие примеры кода модель M в (t1,u2) пары (1,2), (2,4)... (10,20).

t1s = 1:10;
u2s = 2:2:20;
valset = {t1s,t2s};
Msamp = sampleBlock(M,{'t1','u2'},valset);

Значения в valset должно быть совместимо с соответствующим типом блока.

Выходные аргументы

свернуть все

Массив выборок модели, возвращенных как обобщенный массив моделей, ss массив, frd массив или числовой массив. Msamp имеет тот же тип как M, если все блоки не производятся. В этом случае, Msamp числовой массив, ss массив, или frd массив. Например, предположите тот M isa uss модель с неопределенными блоками u1 и u2. Следующая команда возвращает массив uss модели, с неопределенным блоком u2.

Msamp1 = sampleBlock(M,'u1',1:10);

Следующие выборки команды оба блока и возвращают массив ss модели.

Msamp2 = sampleBlock(M,{'u1','u2'},{1:10,2:20});

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

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