viewSurf

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

Описание

пример

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