Используйте usample
функция для случайной выборки неопределенной модели, возвращая один или несколько неопределенных образцы неопределенной модели.
Если A
является неопределенным объектом, тогда usample(A)
генерирует одну выборку A
.
Для примера - выборка a ureal
является скалярным double
.
A = ureal('A',6); B = usample(A) B = 5.7298
Создайте файл 1 на 3 umat
с A
и неопределенный комплексный параметр C
. Одна выборка этого umat
является даблом 1 на 3.
C = ucomplex('C',2+6j); M = [A C A*A]; usample(M) ans = 5.9785 1.4375 + 6.0290i 35.7428
Если A
является неопределенным объектом, тогда usample(A,N)
генерирует N
выборки A
.
Для примера 20 выборок a ureal
дает значение 1 на 1-20 double
массив.
B = usample(A,20); size(B) ans = 1 1 20
Точно так 30 выборки из 1 на 3 umat
M
приводит к массиву 1 на 3 на 30.
size(usample(M,30)) ans = 1 3 30
Смотрите Образец Неопределенных Элементов для Создания Массивов для получения дополнительной информации о выборке неопределенных объектов.
При дискретизации ultidyn
элемент или неопределенный объект, содержащий ultidyn
элемент, результатом всегда является пространство состояний (ss
) объект. Свойство SampleStateDimension
от ultidyn
класс определяет размерность состояний выборок. То же самое верно и при дискретизации umargin
объекты, поскольку это тип динамической неопределенности.
Создайте ultidyn
с ограничением по усилению 1 на 1 объект с ограничением по усилению 4. Проверьте, что размерность состояния по умолчанию для выборок равна 3.
del = ultidyn('del',[1 1],'Bound',4); del.SampleStateDimension
ans = 3
Дискретизируйте неопределенный элемент в 30 точках. Проверьте, что это создает ss
30 на 1 массив систем с 1 входом, 1 выходом, 1 состоянием.
rng(0) % for reproducibility
delS = usample(del,30);
size(delS)
30x1 array of state-space models. Each model has 1 outputs, 1 inputs, and 3 states.
Постройте график Годографа Найквиста этих выборок и добавьте диск радиуса 4, границы усиления del
.
nyquist(delS) hold on; theta = linspace(-pi,pi); plot(del.Bound*exp(sqrt(-1)*theta),'r'); hold off;
Изменение SampleStateDimension
чтобы 1, и повторите целую процедуру. Годографы Найквиста снова удовлетворяют границам усиления, но все Годографы Найквиста являются кругами, указывающими на системы 1-го порядка.
del.SampleStateDimension = 1; delS = usample(del,30); nyquist(delS) hold on; theta = linspace(-pi,pi); plot(del.Bound*exp(sqrt(-1)*theta),'r'); hold off;
С SampleStateDimension
= 1, все годографы Найквиста касаются контура усиления либо на (-1,0), либо на (1,0) (частота = 0 или Inf
). Более высокая размерность дискретизации приводит к кривой Найквиста, которая достигает границы усиления на больших частотах, получая более тщательное покрытие.
Создайте umargin
объект с использованием SampleStateDimension
по умолчанию. The
umargin
блок моделирует неопределенный коэффициент усиления и фазу. Смоделированные изменения находятся в ограниченных областях значений. В данном примере используйте umargin
блок, который захватывает относительные изменения коэффициента усиления в двух направлениях и изменения фазы ± 30 °.
DGM = getDGM(2,30,'tight'); F = umargin('F')
F = Uncertain gain/phase "F" with relative gain change in [0.5,2] and phase change of ±36.9 degrees.
Выборки umargin
блок также являются моделями пространства состояний.
Fs = usample(F,30); size(Fs)
30x1 array of state-space models. Each model has 1 outputs, 1 inputs, and 3 states.
Постройте график выборок на плоскости Найквиста.
nyquist(Fs)
Годограф Найквиста любой выборки F
остается внутри диска неопределенности, смоделированной F
. Чтобы подтвердить это ограничение, используйте plot
чтобы изучить диск неопределенности. Сравните Годограф Найквиста выше с правой стороной следующего графика.
plot(F)
Для получения дополнительной информации о модели неопределенности усиления и фазы смотрите umargin
.