Построение и Работа со Сплайнами stform

Введение в stform

Многомерная функциональная форма, очень отличающаяся от построения продукта тензора, является рассеянным, переводит форму или stform для краткости Как следует из названия, это использует произвольный, или рассеянный переводит ψ (· –cj) одной стандартной функции ψ, в дополнение к некоторым полиномиальным терминам. Явным образом такая форма описывает функцию

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

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

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

В настоящее время тулбокс работает со всего одним видом stform, а именно, двумерный сплайн тонкой пластины и его первые частные производные. Для сплайна тонкой пластины основная функция является ψ (x) = φ (| x |2), с φ (t) = t logt, т.е. радиальная основная функция. Его полиномиальная часть является линейным полиномом, т.е. p (x) =x (1) a n – 2+x (2) a n – 1+an. Первая частная производная относительно ее первого использования аргумента, соответственно, основная функция ψ (x) = φ (| x |2), с φ (t) = (D 1 т) · (logt+1) и D 1t = D 1t (x) = 2x (1), и p (x) = a n.

Конструкция и Свойства stform

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

f = stmak(centers, coefs, type);

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

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

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

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

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

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

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

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

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

Работа с stform

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

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

  • fnval оценивать его

  • fnplt построить его

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

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

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