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 дешевле для оценки.

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

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

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

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

Также можно ввести sconds как вектор с целочисленными записями, с, по крайней мере, таким же количеством записей, как и ppform в f имеет межкомнатные пропуски. В этом случае sconds(i) задает количество условий сглаживания, используемых в ith interior пропуска. Если функция в 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, команда utility sprpp используется для преобразования B-формы всех полиномиальных частей в их локальную степень с помощью повторной вставки узла в левую конечную точку.

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

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

См. также

| | |