sampleBlock

Образцы блоков Система Управления в обобщенной модели

Описание

пример

Msamp = sampleBlock(M,name,vals) дискретизирует один блок Система Управления в обобщенной модели 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, где a, b, и 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)

Figure contains an axes. The axes contains 15 objects of type line. This object represents 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.

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

свернуть все

Модель для выборки, заданная как:

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

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

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

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

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

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

Системы управления для параллельной выборки, заданной как массив ячеек из векторов символов. Записи в nameset соответствуют именам хотя бы подмножества блоков Система Управления в M. Например, предположим, что M является 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 является uss модель с неопределенными блоками u1 и u2. Следующая команда возвращает массив из uss модели с неопределенными блочными u2.

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

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

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

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

Введенный в R2016a