fourierBasis

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

Описание

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

пример

shapefcn = fourierBasis(N) генерирует функцию, которая оценивает первое N гармоники eiπx:

F(x)=[cos(πx),sin(πx),cos(2πx),sin(2πx),,cos(Nπx),sin(Nπx)].

F - функция, представленная shapefcn. Срок F - первый 2*N базисные функции в расширении ряда Фурье периодически изменяющегося усиления, K (x), с K (-1) = K (1). Это расширение определяется:

K(x)=a02+k{akcos(kπx)+bksin(kπx)}.

пример

shapefcn = fourierBasis(N,nvars) генерирует nvars-мерный базис Фурье для периодических функций на области [-1,1]nvars. Этот базис является векторным произведением nvars Фурье- основы с N гармоники по каждой размерности. Получившаяся функция shapefcn принимает nvars Входные параметры и возвраты вектор с (2*N+1)^(nvars-1)-1 записи.

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

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

Примеры

свернуть все

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

shapefcn = fourierBasis(2);

shapefcn является указателем на функцию от одной переменной, которая возвращает массив из четырех значений, соответствующих первым двум гармонике периодической функции на x = [-1,1]:

F(x)=[cos(πx),sin(πx),cos(2πx),sin(2πx)].

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

K(x)=K0+K1cos(πx)+K2sin(πx)+K3cos(2πx)+K4sin(2πx).

Переменная x является нормированной версией переменной планирования для настраиваемой поверхности. Потому что базисные функции, созданные fourierBasis действуйте на нормированные переменные, ваша система с запланированным коэффициентом усиления должна использовать проекты, значения конечных точек которых определяют ровно один период. Например, предположим, что вы используете следующие точки проекта:

alpha = [-7,-4,-1,2,5];
domain = struct('alpha',alpha);
K = tunableSurface('K',0,domain,shapefcn);

При нормализации области программное обеспечение принимает, что поверхность усиления, K, периодически в alpha таким образом K(-7) = K(5).

Создайте двумерный базис Фурье для периодических функций x и y в области координат [-1,1]N. Функции базиса должны подняться до третьей гармоники как в размерностях x, так и y.

F2D = fourierBasis(3,2);

Эта функция является векторным произведением двух векторов:

x = fourierBasis(3);
y = fourierBasis(3);

Эквивалентно, вы можете получить векторное произведение с помощью ndBasis.

F = fourierBasis(3);
F2D = ndBasis(F,F);

Значения в векторе, возвращенные F включать перекрестные термины, такие как sin(πx)cos(πy) и sin(3πx)cos(2πy).

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

свернуть все

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

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

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

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

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

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

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

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

свернуть все

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

Совет

  • Если поверхность усиления K является периодическим в переменной планирования x с P периода, убедитесь, что соответствующая запись в K.Normalization.InputScaling установлено на P/2, чтобы гарантировать согласованность с fourierBasis период, P = 2. При использовании нормализации по умолчанию x значения в K.SamplingGrid Чтобы удовлетворить этому требованию, необходимо охватить только один период [a, a+P]. Смотрите Normalization свойство tunableSurface для получения дополнительной информации.

См. также

| |

Введенный в R2015b