exponenta event banner

viewSurf

Визуализация поверхности усиления как функции переменных планирования

Описание

пример

viewSurf(GS) строит график значений поверхности усиления 1-D или 2-D как функции переменных планирования. GS - настраиваемая поверхность усиления, создаваемая с помощью tunableSurface. На графике используются значения независимых переменных, указанные в GS.SamplingGrid. Для 2-D поверхностей усиления расчетные точки в GS.SamplingGrid должен лежать на прямоугольной сетке.

пример

view(GS,xvar,xdata) строит график поверхности усиления GS при значениях переменных планирования, перечисленных в xdata. Имя переменной xvar должно соответствовать имени переменной планирования в GS.SamplingGrid. Однако значения в xdata не обязательно совпадать с точками проектирования в GS.SamplingGrid.

Для 2-D поверхности усиления график показывает параметрическое семейство кривых с одной кривой на значение другой переменной планирования. В 2-D случае расчетные точки в GS.SamplingGrid должен лежать на прямоугольной сетке.

пример

view(GS,xvar,xdata,yvar,ydata) создает график поверхности 2-D поверхности усиления, вычисленный по сетке значений переменных планирования, заданных ndgrid(xdata,ydata). В этом случае расчетные точки GS не нужно лежать на прямоугольной сетке, и xdata и ydata не требуется совпадать с точками проектирования.

Примеры

свернуть все

Отображение настраиваемой поверхности усиления, которая зависит от двух независимых переменных.

Смоделировать скалярное усиление K с билинейной зависимостью от двух переменных планирования, α и V, следующим образом:

K (α, V) = K0 + K1x + K2y + K3xy.

Здесь x и y являются нормализованными переменными планирования. Предположим, что α - угол падения, который колеблется от 0 градусов до 15 градусов, а V - скорость, которая колеблется от 300 м/с до 600 м/с. Затем x и y задаются следующим образом:

x = α-7,57,5, y = V-450150.

Коэффициенты K0,...,K3 являются настраиваемыми параметрами этого переменного коэффициента усиления. Использовать tunableSurface для моделирования этого переменного коэффициента усиления.

[alpha,V] = ndgrid(0:1.5:15,300:30:600); 
domain = struct('alpha',alpha,'V',V);
shapefcn = @(x,y) [x,y,x*y];
K = tunableSurface('K',1,domain,shapefcn);

Как правило, коэффициенты настраиваются как часть системы управления. Затем вы будете использовать setBlockValue или setData чтобы записать настроенные коэффициенты обратно в Kи просмотрите настроенную поверхность усиления. В этом примере вместо настройки вручную установите коэффициенты на ненулевые значения и просмотрите результирующий коэффициент усиления.

Ktuned = setData(K,[100,28,40,10]);
viewSurf(Ktuned)

Figure contains an axes. The axes with title Gain K(alpha,V) contains an object of type surface.

viewSurf отображает поверхность усиления как функцию переменных планирования для диапазонов значений, указанных domain и хранятся в Ktuned.SamplingGrid.

Просмотр поверхности усиления 1-D, вычисленной в других конструктивных точках по сравнению с точками, заданными в поверхности усиления.

При создании поверхности усиления с помощью tunableSurface, задаются точки проектирования, в которых настраиваются коэффициенты усиления. Эти точки, как правило, являются переменными планирования, при которых производится выборка или линеаризация завода. Однако может потребоваться реализовать поверхность усиления в виде таблицы подстановки с точками останова, отличающимися от заданных точек проектирования. В этом примере создается поверхность усиления с набором конструктивных точек, а затем поверхность просматривается с использованием другого набора значений плановых переменных.

Создайте скалярное усиление, которое изменяется как квадратичная функция одной переменной планирования, т. Предположим, что вы линеаризовали растение каждые пять секунд от t = 0 до t = 40.

t = 0:5:40;
domain = struct('t',t);
shapefcn = @(x) [x,x^2];
GS = tunableSurface('GS',1,domain,shapefcn);

Как правило, коэффициенты настраиваются как часть системы управления. В этом примере вместо настройки вручную установите коэффициенты на ненулевые значения.

GS = setData(GS,[12.1,4.2,2]);

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

tvals = [0,4,11,18,25,32,39,42];
viewSurf(GS,'t',tvals)

Figure contains an axes. The axes with title Gain GS(t) contains an object of type line.

График показывает, что кривая усиления изгибается в точках, указанных в tvals, а не точки проектирования, указанные в domain. Также, tvals включает значения, выходящие за пределы диапазона переменных планирования domain. При попытке экстраполировать слишком далеко из диапазона значений, используемых для настройки, программа выдает предупреждение.

Постройте график значений поверхности усиления как функции одной независимой переменной для поверхности усиления, которая зависит от двух независимых переменных.

Создайте поверхность усиления, которая является билинейной функцией двух независимых переменных, α и V.

[alpha,V] = ndgrid(0:1.5:15,300:30:600);
domain = struct('alpha',alpha,'V',V);
shapefcn = @(x,y) [x,y,x*y];
GS = tunableSurface('GS',1,domain,shapefcn);

Как правило, коэффициенты настраиваются как часть системы управления. В этом примере вместо настройки вручную установите коэффициенты на ненулевые значения.

GS = setData(GS,[100,28,40,10]);

Постройте график усиления при выбранных значениях В.

Vplot = [300:50:600];
viewSurf(GS,'V',Vplot);

Figure contains an axes. The axes with title Gain GS(V) contains 11 objects of type line.

viewSurf оценивает поверхность усиления при заданных значениях V и строит график зависимости от V для всех значений α в domain. При щелчке любой из линий на графике отображается соответствующее значение α. Этот график полезен для визуализации всего диапазона вариаций усиления из-за одной независимой переменной.

Просмотр поверхности усиления 2-D, оцениваемой при различных значениях переменных планирования из расчетных точек, указанных в поверхности усиления.

При создании поверхности усиления с помощью tunableSurface, задаются точки проектирования, в которых настраиваются коэффициенты усиления. Эти точки, как правило, являются переменными планирования, при которых производится выборка или линеаризация завода. Однако может потребоваться реализовать поверхность усиления в виде таблицы подстановки с точками останова, отличающимися от заданных точек проектирования. В этом примере создается поверхность усиления с набором конструктивных точек, а затем поверхность просматривается с использованием другого набора значений переменных планирования.

Создайте поверхность усиления, которая является билинейной функцией двух независимых переменных, α и V.

[alpha,V] = ndgrid(0:1.5:15,300:30:600);
domain = struct('alpha',alpha,'V',V);
shapefcn = @(x,y) [x,y,x*y];
GS = tunableSurface('GS',1,domain,shapefcn);

Как правило, коэффициенты настраиваются как часть системы управления. В этом примере вместо настройки вручную установите коэффициенты на ненулевые значения.

GS = setData(GS,[100,28,40,10]);

Постройте график усиления при выбранных значениях α и V.

alpha_vec = [7:1:13];
V_vec = [500:25:625];
viewSurf(GS,'alpha',alpha_vec,'V',V_vec);

Figure contains an axes. The axes with title Gain GS(alpha,V) contains an object of type surface.

Точки останова, в которых оценивается поверхность усиления, не должны попадать в диапазон, заданный domain. Однако при попытке оценить коэффициент усиления за пределами диапазона, используемого для настройки, программа выдает предупреждение.

Точки останова также не должны регулярно располагаться на расстоянии друг от друга. Кроме того, можно указать переменные планирования в любом порядке, чтобы получить другую перспективу формы поверхности. Переменная, заданная первой, используется в качестве оси X на графике.

alpha_vec2 = [1,3,6,10,15];
V_vec2 = [300,350,425,575];
viewSurf(GS,'V',V_vec2,'alpha',alpha_vec2);

Figure contains an axes. The axes with title Gain GS(V,alpha) contains an object of type surface.

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

свернуть все

Поверхность усиления для построения графика, заданная как tunableSurface объект. GS может зависеть от одной или двух переменных планирования и должен иметь скалярное значение.

Переменная оси X на графике, заданная как символьный вектор. Имя переменной xvar должно соответствовать имени переменной планирования в GS.SamplingGrid.

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

Переменная оси Y на графике, заданная как символьный вектор. Имя переменной yvar должно соответствовать имени переменной планирования в GS.SamplingGrid.

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

См. также

|

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