exponenta event banner

rsampleBlock

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

Описание

пример

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

пример

Msamp = rsampleBlock(M,names1,N1,names2,N2,...,namesM,NM) берет N1 образцы блоков, перечисленных в names1, N2 образцы блоков, перечисленных в names2и так далее. Результат Msamp является массивом модели размера [size(M) N1 N2 ... NM].

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

Примеры

свернуть все

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

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

Ограничить tau только для неотрицательных значений.

G.Blocks.tau.Minimum = 0;

Создать 20 случайных выборок G. Результатом является массив 20 на 1 моделей первого порядка со случайными значениями tau взято из диапазона tau.

Gs = rsampleBlock(G,'tau',20);
size(Gs)
20x1 array of state-space models.
Each model has 1 outputs, 1 inputs, and 1 states.

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

Создайте неопределённую модель G (s) = a/( starts + 1), где a - неопределённый параметр, изменяющийся в интервале [3,5], и start= = 0,5 +/- 30%. Кроме того, создайте настраиваемый PI-контроллер и сформируйте систему с замкнутым контуром из настраиваемого контроллера и неопределенной системы.

a = ureal('a',4);
tau = ureal('tau',.5,'Percentage',30);
G = tf(a,[tau 1]);
C = tunablePID('C','pi');
T = feedback(G*C,1);

Т - обобщённая модель состояния-пространства с двумя неопределёнными блоками, a и tauи один настраиваемый блок, C. Образец T при 20 случайных (a,tau) пар.

[Ts,samples] = rsampleBlock(T,{'a','tau'},20);

Ts является массивом 20 на 1 genss модели. Настраиваемый блок C, который не взят, сохраняется в Ts. Структура samples имеет поля samples.a и samples.tau , которые содержат значения, при которых производится выборка этих блоков.

Группировка a и tau в массив ячеек rsampleBlock пробовать их вместе, как (a,tau) пар. Выборка блоков независимо генерирует массивы с более высокой размерностью. Например, независимо взяв 10 случайных выборок a и 5 образцов tau создает массив модели 10 на 5.

[TsInd,samples] = rsampleBlock(T,'a',10,'tau',5);
TsInd
TsInd =

  10x5 array of generalized continuous-time state-space models.
  Each model has 1 outputs, 1 inputs, 2 states, and the following blocks:
    C: Tunable PID controller, 1 occurrences.

Type "ss(TsInd)" to see the current value, "get(TsInd)" to see all properties, and "TsInd.Blocks" to interact with the blocks.

В этом массиве a варьируется вдоль одного измерения и tau меняется вдоль другой.

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

свернуть все

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

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

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

  • Неопределенная модель (uss(Панель инструментов надежного управления) или ufrd (Надёжная панель инструментов управления))

  • Неопределенная матрица (umat (Надёжная панель инструментов управления))

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

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

Msamp = rsampleBlock(M,{'t1','u2'},10);

Для независимой выборки параметров не группируйте их. Например, следующий код генерирует массив моделей 10 на 20, где t1 изменяется вдоль первого измерения и u2 изменяется вдоль второго размера.

Msamp = rsampleBlock(M,'t1',10,'u2',20);

rsampleBlock игнорирует любую запись в names который не отображается в M.

Число выборок предыдущего блока или блоков, указанных как положительное целое число.

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

свернуть все

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

Msamp1 = rsampleBlock(M,'u1',10);

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

Msamp2 = rsampleBlock(M,{'u1','u2'},10);

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

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

[Msamp,samples] = rsampleBlock(M,{'t1','t2'},10);

Затем, samples.t1 содержит 10 значений t1 и samples.t2 содержит 10 значений t2. При выборке блока, не имеющего скалярного значения, соответствующее поле samples содержит значения, совместимые с блоком. Например, если вы пробуете tunablePID блок, samples содержит массив моделей пространства состояний, которые представляют контроллеры PID.

См. также

| | | | | (инструментарий надежного управления)

Представлен в R2016a