Построение и Работа со Сплайнами 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, потому что такие функции не могут быть интегрированы в закрытой форме.

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

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