gridureal

Сетка ureal параметры равномерно в своей области значений

Синтаксис

B = gridureal(A,N)
[B,SampleValues] = gridureal(A,N)
[B,SampleValues] = gridureal(A,NAMES,N)
[B,SampleValues] = gridureal(A,NAMES1,N1,NAMES2,N2,...)

Описание

B = gridureal(A,N) подстановки N равномерно разнесенные выборки неопределенных реальных параметров в A. Выборки выбираются так, чтобы срезать «по диагонали» кубик пространства неопределенности действительного параметра. Область массива B имеет размер, равный [size(A) N]. Например, предположим A имеет 3 неопределенных реальных параметра, скажем X, Y и Z. Предположим (x1, x2 , , and xN) обозначают N равномерные выборки X по своей области значений. Аналогично для Y и Z. Затем выборка A в точках (x1, y1, z1), (x2, y2, z2), и (xN, yN, zN) для получения результата B.

Если A зависит от дополнительных неопределенных объектов, тогда B будет неопределенным объектом.

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

[B,SampleValues] = gridureal(A,NAMES,N) отбирает только неопределенные остатки, перечисленные в NAMES переменная (cell, или char массив). Все записи NAMES которые не являются элементами A просто игнорируются. Обратите внимание, что gridureal(A, fieldnames(A.Uncertainty),N) то же, что и gridureal(A,N).

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

Примеры

свернуть все

Создайте два неопределенных вещественных параметра gamma и tau. Номинальное значение gamma равен 4, и его область значений составляет от 3 до 5. Номинальное значение tau составляет 0,5 и его значение может варьироваться на +/- 30 процентов.

gamma = ureal('gamma',4); 
tau = ureal('tau',.5,'Percentage',30);

Эти неопределенные параметры используются, чтобы создать неопределенную передаточную функцию p. Интегральный контроллер, c, синтезируется для объекта p на основе номинальных значений gamma и tau. Неопределенная система с обратной связью clp формируется.

p = tf(gamma,[tau 1]); 
KI = 1/(2*tau.Nominal*gamma.Nominal); 
c = tf(KI,[1 0]); 
clp = feedback(p*c,1);

Рисунок ниже показывает переходную характеристику модуля (верхний график) и отклик замкнутого контура (нижний график) для сетки с 20 значениями gamma и tau.

subplot(2,1,1); step(gridureal(p,20),6) 
title('Open-loop plant step responses') 
subplot(2,1,2); step(gridureal(clp,20),6)

Figure contains 2 axes. Axes 1 contains 20 objects of type line. This object represents untitled1. Axes 2 contains 20 objects of type line. This object represents untitled1.

График иллюстрирует низкочастотную нечувствительность к системе с обратной связью, достигаемую системой управления ПИ.

Этот пример иллюстрирует различные опции в сетке с высокой размерностью (например n больше 2) пространств параметров.

Создайте неопределенную матрицу, m, из четырех неопределенных реальных параметров, a, b, c, и d, каждый из которых составляет отдельные записи в m.

a = ureal('a',1); 
b = ureal('b',2); 
c = ureal('c',3); 
d = ureal('d',4); 
m = [a b;c d];

Во-первых, постройте сетку (a,b) пространство в пяти местах и (c,d) пространство в трех местах.

m1 = gridureal(m,{'a';'b'},5,{'c';'d'},3);

gridureal вычисляет неопределенную матрицу m в этих 15 точках сетки, получая числовую матрицу m1.

Далее выполните сетку (a,b,c,d) пространство в 15 местах.

m2 = gridureal(m,{'a';'b';'c';'d'},15);

gridureal дискретизирует неопределенную матрицу m в этих 15 точках, в результате чего получается числовая матрица m2.

(2,1) запись m является всего лишь неопределенным вещественным параметром c. Постройте гистограммы (2,1) записи обоих m1 и m2. (2,1) запись m1 принимает только три различных значения, в то время как (2,1) запись m2 принимает 15 различных значений равномерно через свою область значений.

subplot(2,1,1) 
hist(squeeze(m1(2,1,:))) 
title('2,1 entry of m1') 
subplot(2,1,2) 
hist(squeeze(m2(2,1,:)))
title('2,1 entry of m2')

Figure contains 2 axes. Axes 1 with title 2,1 entry of m1 contains an object of type patch. Axes 2 with title 2,1 entry of m2 contains an object of type patch.

См. также

|

Представлено до R2006a