主要内容

polyBasis

可调增益曲面的多项式基函数

描述

您可以使用基函数展开来参数化增益曲面,以调优增益调度控制器。polyBasis在任意数量的调度变量中生成标准多项式展开。使用结果函数创建可调增益曲面tunableSurface

例子

shapefcn= polyBasis(“规范”,学位生成一个计算输入变量幂的函数,x,直至学位

年代 h 一个 p e f c n x x x 2 ... x o r d e r

例子

shapefcn= polyBasis(“切比雪夫”,学位生成一个函数,计算Chebyshev多项式到学位

年代 h 一个 p e f c n x T 1 x ... T o r d e r x

切比雪夫多项式的递归定义为:

T 0 x 1 T 1 x x T + 1 x 2 x T x T 1 x

例子

shapefcn= polyBasis (___据nvar生成一个据nvar的外积来展开-维多项式据nvar一维多项式展开。得到的函数shapefcn需要据nvar输入参数并返回一个向量(学位+ 1)^ (nvars-1)条目。例如,对于据nvar= 3和正则多项式,

年代 h 一个 p e f c n x y z x y j z k 0 j k o r d e r + j + k > 0

因此,要在两个调度变量中指定一个双线性函数,请使用:

shapefcn = polyBasis(“规范”、1、2);
使用得到的函数tunableSurface定义如下形式的变量增益:

K x y K 0 + K 1 x + K 2 y + K 3. x y

在这里,x而且y为归一化调度变量,取值范围为[- 1,1]。(见tunableSurface以获取更多信息。)

若要在多个调度变量中指定基函数,其中每个变量的展开不同,请使用ndBasis

例子

shapefcn= polyBasis (___varnames指定变量名。将此语法与前面的任何语法一起使用,以命名中的变量shapefcn.类的可读性提高了tunableSurface对象显示和任何MATLAB®使用以下方法生成的代码codegen

例子

全部折叠

为增益创建基函数,增益随一个调度变量的三次函数变化。

shapefcn = polyBasis(“规范”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(“切比雪夫”3);

为双线性增益曲面创建基函数, x y x y .命名变量以使函数更具可读性。

shapefcn = polyBasis(“规范”, 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×30.2000 -0.5000 -0.1000

shapefcn等价于:

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

的基函数shapefcn这两个变量都是一阶的。要为每个变量创建一组不同程度的基函数,请使用ndBasis

输入参数

全部折叠

多项式展开的程度,用正整数表示。

调度变量的个数,指定为正整数。

生成的函数中的变量名shapefcn,指定为a:

  • 单变量基函数的特征向量。

  • 字符向量的单元数组,用于多变量基函数。

如果您没有指定varnames,然后将变量代入shapefcn命名{x1, x2,…}

例子:{“α”、“V”}

输出参数

全部折叠

多项式展开,指定为函数句柄。shapefcn参数所指定的变量数目作为输入参数据nvar.该函数计算这些变量中的多项式,直到指定的程度,并在向量中返回结果值。当你使用shapefcn为了创建增益曲面,tunableSurface自动为矢量中的每个多项式项生成可调系数。

版本历史

在R2015b中引入