fn2fm

Преобразуйте в заданную форму

Синтаксис

g = fn2fm(f,form)
sp = fn2fm(f,'B-',sconds)
fn2fm(f)

Описание

g = fn2fm(f,form) описывает ту же функцию, как описан f, но в форме, заданной вектором символов form. Выбором для form является 'B-', 'pp', 'BB', 'rB', 'rp', для B-формы, ppform, BBform и двух рациональных форм сплайна, соответственно.

B-форма описывает функцию как взвешенную сумму B-сплайнов данного порядка k для данной последовательности узла, и BBform (или, форма Бернстайна-Безира) является особым случаем, когда каждый узел в той последовательности появляется с максимальной кратностью, k. ppform описывает функцию с точки зрения ее локальных полиномиальных коэффициентов. B-форма хороша для построения и/или формирования функции, в то время как ppform является более дешевой, чтобы оценить.

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

Преобразование в или от stform не возможно в настоящее время.

Если form является 'B-'f находится в ppform), то фактическая гладкость функции в f через каждый из ее внутренних пропусков должна быть предположена. Это сделано путем взгляда, для каждого внутреннего пропуска, для первой производной, скачок которой через тот пропуск не является маленьким по сравнению с размером той производной поблизости. Допуском по умолчанию, используемым в этом, является 1.e-12.

sp = fn2fm(f,'B-',sconds) разрешения вы, чтобы предоставить, как входной параметр sconds, допуск (строго между 0 и 1), чтобы использоваться в преобразовании от ppform до B-формы.

Также можно ввести sconds как вектор с целочисленными записями, с, по крайней мере, столькими же записей, сколько ppform в f имеет внутренние пропуски. В этом случае sconds(i) задает количество условий гладкости, которые будут использоваться через i th внутренний пропуск. Если функция в f является продуктом тензора, то sconds, если дали, должен быть массивом ячеек.

fn2fm(f) преобразовывает возможно старую версию формы в ее текущую версию.

Примеры

sp = fn2fm(spline(x,y),'B-') дает интерполирующий кубический сплайн, обеспеченный командой MATLAB® spline, но в B-форме, а не в ppform.

p0 = ppmak([0 1],[3 0 0]);
p1 = fn2fm(fn2fm(fnrfn(p0,[.4 .6]),'B-'),'pp');

дает p1, идентичный p0 (до округления в коэффициентах), поскольку сплайн не имеет никакого разрыва ни в какой производной через дополнительные пропуски, введенные fnrfn, следовательно преобразование в B-форму игнорирует эти дополнительные пропуски, и преобразование в ppform не сохраняет кратности узла (как введенная кратность узла, преобразованием в B-форму, в конечных точках основного интервала сплайна).

Предостережение

При движении от B-формы до ppform будет потерян любой разрыв скачка на уровне первого и последнего узла, t(1) или t(end), поскольку ppform полагает, что f задан вне его основного интервала расширением первого, соответственно, последней полиномиальной части. Например, в то время как sp=spmak([0 1],1) дает характеристическую функцию интервала [0.. 1], pp=fn2fm(spmak([0 1],1),'pp') является постоянным полиномом, x | → 1.

Алгоритмы

Для многомерного (продукт тензора) функционируют, одномерные алгоритмы применяются в каждой переменной.

Для преобразования из B-формы (или BBform) к ppform, служебная команда sprpp используется, чтобы преобразовать B-форму всех полиномиальных частей к их локальной форме степени, с помощью повторенной вставки узла в левой конечной точке.

Преобразование от B-формы до BBform выполняется путем вставки каждого узла достаточно раз, чтобы увеличить его кратность до порядка сплайна.

Преобразование от ppform до B-формы использует двойной functionals, обсужденный в. Без дополнительной информации такое преобразование должно установить фактическую гладкость через каждый внутренний пропуск функции в f.

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

| | |

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