exponenta event banner

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