polyBasis

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

Описание

Вы используете расширения основной функции, чтобы параметризовать поверхности усиления для настройки запланированных на усиление контроллеров. polyBasis генерирует стандартные полиномиальные расширения в любом количестве планирования переменных. Используйте получившиеся функции, чтобы создать настраиваемые поверхности усиления с tunableSurface.

пример

shapefcn = polyBasis('canonical',degree) генерирует функцию, которая оценивает степени входной переменной, x, до degree:

shapefcn(x)=[x,x2,,xorder].

пример

shapefcn = polyBasis('chebyshev',degree) генерирует функцию, которая оценивает Полиномы Чебышева до degree:

shapefcn(x)=[T1(x),,Torder(x)].

Полиномы Чебышева заданы рекурсивно:

T0(x)=1;T1(x)=x;Ti+1(x)=2xTi(x)Ti1(x).

пример

shapefcn = polyBasis(___,nvars) генерирует nvars- размерное полиномиальное расширение путем взятия векторного произведения nvars 1D полиномиальные расширения. Получившийся функциональный shapefcn берет nvars входные параметры и возвращают вектор с (degree+1)^(nvars-1) записи. Например, для nvars = 3 и канонические полиномы,

shapefcn(x,y,z)=[xiyjzk:  0i,j,korder,i+j+k>0].

Таким образом, чтобы задать билинейную функцию в двух переменных планирования, используйте:

shapefcn = polyBasis('canonical',1,2);
Используя получившуюся функцию с tunableSurface задает переменное усиление формы:

K(x,y)=K0+K1x+K2y+K3xy.

Здесь, x и y являются нормированными переменными планирования, значения которых находятся в диапазоне [–1,1]. (См. tunableSurface для получения дополнительной информации.

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

пример

shapefcn = polyBasis(___,varnames) задает имена переменных. Используйте этот синтаксис с любым из предыдущих синтаксисов, чтобы назвать переменные в shapefcn. Используя имена переменных улучшает удобочитаемость tunableSurface отображение объекта и любого кода MATLAB® вы генерируете использование codegen.

Примеры

свернуть все

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

shapefcn = polyBasis('canonical',3);

shapefcn указатель на функцию одной переменной, которая возвращает массив значений, соответствующих первым трем степеням его входа. Другими словами, shapefcn(x) = [x x^2 x^3]. Например, исследуйте shapefcn(-0.2).

x = -0.2;
shapefcn(x)
ans = 1×3

   -0.2000    0.0400   -0.0080

Оценка [x x^2 x^3] для x =-0.2 возвращает тот же результат.

[x x^2 x^3]
ans = 1×3

   -0.2000    0.0400   -0.0080

Используйте shapefcn как входной параметр к tunableSurface задавать полиномиальную поверхность усиления. Этот shapefcn эквивалентно использованию:

shapefcn = @(x) [x x^2 x^3];

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

shapefcn = polyBasis('chebyshev',3);

Создайте основные функции для билинейной поверхности усиления, [x,y,xy]. Назовите переменные, чтобы сделать функцию более читаемой.

shapefcn = polyBasis('canonical',1,2,{'x','y'})
shapefcn = function_handle with value:
    @(x,y)utFcnBasisOuterProduct(FDATA_,x,y)

Подтвердите значения, возвращенные shapefcn для детали (x,y) пара.

x = 0.2;
y = -0.5;
shapefcn(x,y)
ans = 1×3

    0.2000   -0.5000   -0.1000

Этот shapefcn эквивалентно:

shapefcn = @(x,y)[x,y,x*y];

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

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

свернуть все

Степень полиномиального расширения, заданного как положительное целое число.

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

Имена переменных в сгенерированном функциональном shapefcn, заданный как a:

  • Вектор символов, для монопеременных основных функций.

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

Если вы не задаете varnames, затем переменные в shapefcn названы {'x1','x2',...}.

Пример: {'alpha','V'}

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

свернуть все

Полиномиальное расширение, определенный функцией указатель. shapefcn берет в качестве входных параметров количество переменных, заданных nvars. Функция оценивает полиномы в тех переменных до заданной степени и возвращает получившиеся значения в векторе. Когда вы используете shapefcn создать поверхность усиления, tunableSurface автоматически генерирует настраиваемые коэффициенты для каждого полиномиального термина в векторе.

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

| |

Введенный в R2015b