Построение и работа со сплайнами в виде сплайнов

Введение в stform

Многомерная форма функции, довольно отличная от конструкции тензор-продукт, является формой рассеянного преобразования или формой, краткой. Как следует из имени, он использует произвольные или рассеянные переводы и (- c j) одной фиксированной функции, в сложение к некоторым полиномам терминам. Явно такая форма описывает функцию

f(x)=j=1nkψ(xcj)aj+p(x)

с точки зрения основной функции ψ, последовательность (c j) мест назвала центры и соответствующую последовательность (a j) n коэффициентов, с финалом k коэффициенты, <reservedrangesplaceholder5> <reservedrangesplaceholder4> - <reservedrangesplaceholder3> +1..., <reservedrangesplaceholder2> <reservedrangesplaceholder1>, вовлеченный в многочленную часть, p.

Когда основная функция радиально симметрична, означая, что ψ (<reservedrangesplaceholder3>) зависит только от Евклидовой длины | x | ее аргумента, x, тогда ψ называют радиальной основной функцией, и, соответственно, f тогда часто называют RBF.

В настоящее время тулбокс работает только с одним видом формы, а именно с двухмерным тонким сплайном и его первыми частными производными. Для сплайна тонкой пластины основная функция - ψ (<reservedrangesplaceholder1>) = φ (| x |2), с, (t) = t журнала t, т.е. радиальной функцией базиса. Его многочленная часть - линейный полином, т.е. p (<reservedrangesplaceholder10>) = x (1) <reservedrangesplaceholder8> <reservedrangesplaceholder7> - 2 + x (2) <reservedrangesplaceholder5> <reservedrangesplaceholder4> - 1 + <reservedrangesplaceholder3> <reservedrangesplaceholder2>. Первая частная производная относительно ее первого использования аргумента, соответственно, основная функция ψ (<reservedrangesplaceholder1>) = φ (| x |2), с φ (<reservedrangesplaceholder12>) = (D 1 т) · (зарегистрируйте <reservedrangesplaceholder10> +1), и <reservedrangesplaceholder9> 1 <reservedrangesplaceholder8> = <reservedrangesplaceholder7> 1 <reservedrangesplaceholder6> (<reservedrangesplaceholder5>) = 2 x (1), и p (<reservedrangesplaceholder2>) = <reservedrangesplaceholder1> <reservedrangesplaceholder0>.

Конструкция и свойства опоры

Функция в stform может быть собрана из своей центральной последовательности centers и его последовательность коэффициентов coefs по команде

f = stmak(centers, coefs, type);

со строкой type один из 'tp00', 'tp10', 'tp01'для указания, соответственно, тонкопластинчатого сплайна, первой части тонкопластинчатого сплайна относительно первого аргумента и первой части тонкопластинчатого сплайна относительно второго аргумента. Есть еще один выбор, 'tp'; он обозначает тонкопластинчатый сплайн без какой-либо полиномиальной части и, вероятно, будет использоваться только при конструкции тонкопластинчатого сплайна, как в tpaps.

Функция, f в stform, зависит линейно от своих коэффициентов, что означает, что

f(x)=j=1nψj(x)aj

с, как с переводом базисной функции, так и с некоторым полиномом. Предположим, что вы хотели определить эти коэффициенты a j, чтобы f функции совпадал с предписанными значениями в предписанных сайтах x i. Тогда вам понадобится матрица словосочетания ( Вы можете получить эту матрицу по командеstcol(centers,x,type). Фактически, поскольку форма имеет a j как j-й столбец, coefs(:,j), из его массива коэффициентов, стоит отметить, что stcol может также предоставить транспонирование матрицы коллокации. Таким образом, команда

values = coefs*stcol(centers,x,type,'tr');

обеспечит значения в записях x функции st, заданной как centers и type.

Ступень привлекательна, потому что, в отличие от кусочного полинома форм, её сложность одинакова в любом количестве переменных. Это довольно просто, но, из-за полной свободы в выборе центров, очень гибкий и адаптируемый.

Что касается отрицательной стороны, наиболее привлекательный выбор для функции радиального базиса разделяет с тонкопластинчатым сплайном, что оценка в любом месте включает все коэффициенты. Для примера построение графика скалярного сплайна с тонким диском через fnplt включает оценку на сетке участков 51 на 51, нетривиальную задачу, когда существует 1000 коэффициентов или более. Ситуация хуже, когда вы хотите определить эти 1000 коэффициенты, чтобы получить stform функции, которая совпадает со значениями функции в 1000 сайтах данных, так как это требует решения полной линейной системы 1000 порядка, задачи, требующей O (10 ^ 9) флоппинга, если это сделано прямым методом. Проста конструкция матрицы словосочетания для этой линейной системы (по stcol) принимает O (10 ^ 6) флопс.

Команда tpaps, который создает тонкопластинчатые сплайн интерполяции и аппроксимации, использует итерационные методы, когда существует более 728 точек данных, но сходимость такой итерации может быть медленной.

Работа с формой

После построения аппроксимирующего или интерполирующего сплайна с тонким диском st с помощью tpaps (или непосредственно через stmak), можно использовать следующие команды:

  • fnbrk получить его части или изменить его основной интервал,

  • fnval чтобы оценить его

  • fnplt чтобы построить его

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

    Это лишь одно из указаний на то, что stform по своей природе довольно отличается от других форм в этом тулбоксе, следовательно, другое fn... команды по большому счету не работают со стандартными формами. Для примера нет смысла использовать fnjmp, и fnmin или fnzeros работать только для одномерных функций. Также нет смысла использовать fnint на функцию в stform, потому что такие функции не могут быть интегрированы в закрытой форме.

  • Область команды Ast = fncmb(st,A) может использоваться на st, при условии A это то, что можно применить к значениям функции, описанной в st. Для примера, A может быть 'sin', в каком случае Ast является формой функции, коэффициенты которой являются синусом коэффициентов st. В эффект, Ast описывает функцию, полученную при составлении A с st. Но из-за особенностей в производных более высокого порядка тонкопластинчатого сплайна, кажется, мало точки делать fndir или fntlr применимо к такому st.