viewSurf

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

Синтаксис

viewSurf(GS)
view(GS,xvar,xdata)
view(GS,xvar,xdata,yvar,ydata)

Описание

пример

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

пример

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

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

пример

view(GS,xvar,xdata,yvar,ydata) создает объемную поверхностную диаграмму 2D поверхности усиления, оцененной по сетке планирования значений переменных, данных 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)

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

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

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

Создайте скалярное усиление, которое отличается как квадратичная функция одной переменной планирования, t. Предположим, что вы линеаризовали свой объект каждые пять секунд от 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)

График показывает, что усиление изгибает изгибы в точках, заданных в 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]);

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

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

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

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

Когда вы создаете поверхность усиления использование 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);

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

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

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

Входные параметры

свернуть все

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

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

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

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

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

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

|

Введенный в R2015b

Для просмотра документации необходимо авторизоваться на сайте