uss/usample

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

Синтаксис

B = usample(A);
B = usample(A,N)
[B,SampleValues] = usample(A,N)
[B,SampleValues] = usample(A,Names,N)
[B,SampleValues] = usample(A,Names1,N1,Names2,N2,...)
[B,SampleValues] = usample(A,N,Wmax)
[B,SampleValues] = usample(A,Names,N,Wmax)

Описание

B = usample(A) заменяет случайной выборкой неопределенных объектов в A, возвращая определенное (т.е. весьма бесспорный) массив size [size(A)]. Вход A может быть любым неопределенным элементом, матрицей или системой, такой как ureal, umat, uss или ufrd. A может также быть любой обобщенной матрицей или системой, такой как genss или genmat, который содержит неопределенные блоки и другие типы Блоков Системы управления (Control System Toolbox). Если A содержит ненеопределенные блоки системы управления, они неизменны в B. Таким образом, например, usample применился к genss и с настраиваемыми и с неопределенными блоками, результатом является массив genss только с настраиваемыми блоками.

B = usample(A,N) замены случайные выборки N неопределенных объектов в A, возвращая определенное (т.е. весьма бесспорный) массив size [size(A) N].

[B,SampleValues] = usample(A,N) дополнительно возвращает определенные выбранные значения (как Struct, имена полей которого являются именами A' s неопределенные элементы) неопределенных элементов. Следовательно, B совпадает с usubs(A,SampleValues).

[B,SampleValues] = usample(A,Names,N) выборки только неопределенные элементы, перечисленные в переменной Names (ячейка или массив символов). Если Names не будет включать все неопределенные объекты в A, то B будет неопределенным объектом. Любые записи Names, которые не являются элементами of A, просто проигнорированы. Обратите внимание на то, что usample(A,fieldnames(A.Uncertainty),N) совпадает с usample(A,N).

[B,SampleValues] = usample(A,Names1,N1,Names2,N2,...) берет выборки N1 неопределенных элементов, перечисленных в Names1 и выборках N2 неопределенных элементов, перечисленных в Names2, и так далее. size(B) будет равняться [size(A) N1 N2 ...].

Скалярный параметр Wmax в

[B,SampleValues] = usample(A,N,Wmax)
[B,SampleValues] = usample(A,Names,N,Wmax) 
[B,SampleValues] = usample(A,Names,N,Wmax)

влияет, как элементы ultidyn в A выбираются, ограничивая полюса выборок. Если A будет непрерывно-разовый uss или ufrd, то полюса выбранного GainBounded элементы ultidyn в SampleValues будут каждый иметь значение <= BW. Если A является дискретным временем, то выбранный GainBounded элементы ultidyn получен преобразованием Тастина, с помощью BW/(2*TS) в качестве (непрерывного) связанного значения полюса. В этом случае BW должен быть < 1. Если типом ultidyn является PositiveReal, то выборки получены путем билинейного преобразования (см. Функции Нормализации для Неопределенных Элементов), элементы GainBounded, описанные выше.

Примеры

свернуть все

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

A = ureal('A',5); 
Asample = usample(A,500);

Исследуйте размер параметра и демонстрационного массива.

size(A)
Uncertain real scalar.
size(Asample)
ans = 1×3

     1     1   500

A является скалярным параметром. Размерности Asample отражают, что A является параметром 1 на 1. Исследуйте тип данных Asample.

class(Asample)
ans = 
'double'

Выборки скалярного параметра являются численными значениями.

Постройте гистограмму выбранных значений.

hist(Asample(:))

Этот пример иллюстрирует, как выбрать открытый и ответ с обратной связью неопределенной модели объекта управления для анализа Монте-Карло.

Создайте два неопределенных действительных параметра и неопределенный объект.

gamma = ureal('gamma',4); 
tau = ureal('tau',.5,'Percentage',30); 
P = tf(gamma,[tau 1]);

Создайте интегральный контроллер на основе номинальной стоимости неуверенности объекта.

KI = 1/(2*tau.Nominal*gamma.Nominal); 
C = tf(KI,[1 0]);

Теперь создайте неопределенную систему с обратной связью.

CLP = feedback(P*C,1);

Выберите объект в 20 значениях, распределенных однородно о tau и кубе параметра gamma.

[Psample1D,Values1D] = usample(P,20); 
size(Psample1D)
20x1 array of state-space models.
Each model has 1 outputs, 1 inputs, and 1 states.

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

Теперь выберите объект в 10 значениях tau и 15 значениях gamma.

[Psample2D,Values2D] = usample(P,'tau',10,'gamma',15); 
size(Psample2D)
10x15 array of state-space models.
Each model has 1 outputs, 1 inputs, and 1 states.

Постройте переходные процессы 1D выбранного объекта.

subplot(2,1,1); 
step(Psample1D)

Оцените неопределенную модель с обратной связью в тех же значениях с помощью usubs и постройте переходной процесс.

subplot(2,1,2); 
step(usubs(CLP,Values1D))

Чтобы видеть эффект ограничения пропускной способности выбранных моделей с Wmax, создайте два объекта ultidyn.

A = ultidyn('A',[1 1]); 
B = ultidyn('B',[1 1]);

Демонстрационные 10 экземпляров каждого, с помощью предела пропускной способности 1 рада/секунда на A и 20 радов/секунда на B.

Npts = 10; 
As = usample(A,Npts,1); 
Bs = usample(B,Npts,20);

Постройте 10-секундные переходные процессы для двух демонстрационных наборов.

step(As,'r',Bs,'b--',10)

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

Смотрите также

| | | | | | | | |

Представленный в R2009b