Сплайны Curve Fitting Toolbox и сплайны MATLAB

Сплайны Curve Fitting Toolbox

Функции сплайна Curve Fitting Toolbox™ содержат версии существенных программ MATLAB® пакета B-сплайна (расширенный, чтобы обработать также сплайны с векторным знаком), как описано в Практическом Руководстве по Сплайнам, (Прикладная Математика. Научное Издание 27, Springer Verlag, Нью-Йорк (1978), xxiv + 392 пункта; исправленное издание (2001), xviii+346p), в дальнейшем именуемая PGS. Тулбокс дает возможность создавать и работать с функциями кусочного полинома.

Типичное использование, предполагаемое для этого тулбокса, включает конструкцию и последующее использование кусочно-полиномиальной аппроксимации. Эта конструкция включила бы подбор кривой данных, но существует широкий спектр возможных данных, которые могли быть подходящими. В самой простой ситуации каждому дают точки (t i,yi) и ищет функцию кусочного полинома f, который удовлетворяет f (t i) = y i, весь i, более или менее. Точная подгонка включила бы интерполяцию, аппроксимированная подходящая сила включают приближение наименьших квадратов или сплайн сглаживания. Но функция, которая будет аппроксимирована, может также быть описана большим количеством неявных способов, например, как решение дифференциального или интегрального уравнения. В таком случае данные имели бы форму (Af) (t i) с A некоторый дифференциальный оператор или оператор интеграла. С другой стороны, каждый может, хотят создать сплайновую кривую, точное местоположение которой менее важно, чем его полная форма. Наконец, во все это, каждый может искать функции больше чем одной переменной, такие как сплайны продукта тензора.

Заботу соблюдали, чтобы сделать эту работу максимально безболезненной и интуитивной. В частности, пользователь не должен волноваться о, как сплайны создаются или хранятся для дальнейшего использования, ни нуждаются в беспокойстве обычного пользователя о таких элементах как “пропуски” или “узлы” или “коэффициенты”. Достаточно знать, что каждая созданная функция является только другой переменной, которая свободно применима, как введено (где это необходимо), ко многим командам, включая все команды, начинающиеся с fn, который обозначает function. Время от времени может быть также полезно знать, что, внутренний к тулбоксу, сплайны хранятся в различных формах с командой fn2fm, доступный, чтобы преобразовать между формами.

В настоящее время тулбокс поддерживает две главных формы для представления функций кусочного полинома, потому что каждый, как находили, превосходил другой в определенных общих ситуациях. B-форма особенно полезна во время конструкции сплайна, в то время как ppform более эффективна, когда функция кусочного полинома должна быть выполнена экстенсивно. Этими двумя формами является почти точно B-представление и представление стр, используемое в Практическом Руководстве по Сплайнам.

Но за эти годы функции сплайна Curve Fitting Toolbox пошли вне программ в Практическом Руководстве по Сплайнам. Тулбокс теперь поддерживает 'рассеянный, переводит' форму или stform, в порядке обработать конструкцию и использование двумерных сплайнов тонкой пластины, и также два способа представлять рациональные сплайны, rBform и rpform, в порядке обработать NURBS.

Сплайны могут быть очень эффективными для подбора кривой данных, потому что линейные системы, которые будут решены для этого, соединены, следовательно работа, необходимая для их решения, сделанного правильно, растет только линейно с количеством точек данных. В частности, средства разреженной матрицы MATLAB используются в функциях сплайна Curve Fitting Toolbox, когда это более эффективно, чем собственный решатель уравнения тулбокса, slvblk, который полагается на то, что некоторые линейные системы здесь являются даже почти диагональю блока.

Все полиномиальные команды конструкции сплайна оборудованы, чтобы произвести двумерный (или даже многомерный) функции кусочного полинома как продукты тензора одномерных функций, используемых здесь, и различные команды fn... также работают на эти многомерные функции.

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

Сплайны MATLAB

MATLAB техническая вычислительная среда обеспечивает приближение сплайна через команду spline. Если названо в форме cs = spline (x,y), это возвращает ppform кубического сплайна с последовательностью пропуска x, который принимает значение y(i) в x(i), всем i, и удовлетворяет граничное условие не-узла. Другими словами, команда   cs = spline(x,y) дает тот же результат как команду cs = csapi (x,y), доступный в функциях сплайна Curve Fitting Toolbox. Но только последний также работает, когда x, y описывает многомерные данные с координатной сеткой. В MATLAB интерполяция кубическим сплайном к многомерным данным с координатной сеткой обеспечивается командой interpn (x1,...,xd,v,y1,...,yd,'spline') , который возвращает значения продукта тензора интерполяции кубический сплайн в сетке, заданной y1..., yd.

Далее, любой сплайн Curve Fitting Toolbox команды fn... может быть применен к выводу команды spline(x,y) MATLAB, с простыми версиями команд сплайна Curve Fitting Toolbox fnval, ppmak, fnbrk , доступный непосредственно в MATLAB, как команды ppval, mkpp, unmkpp, соответственно.

Ожидаемый фон

Функции сплайна Curve Fitting Toolbox, начатые как расширение среды MATLAB интереса для экспертов в приближении сплайна, чтобы помочь им в конструкции и тестировании новых методов приближения сплайна. Такие люди освоят материал в Практическом Руководстве по Сплайнам.

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

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

“Глоссарий” предоставляет определения почти всех математических терминов, использованных в документации сплайнов.

Векторная поддержка типов данных

Функции сплайна Curve Fitting Toolbox могут обработать сплайны с векторным знаком, т.е. сплайны, значения которых лежат в Ул., Поскольку MATLAB, начатый со всего одним типом переменной, той из матрицы, существует даже сейчас некоторая неуверенность по поводу того, как иметь дело с векторами, т.е. списками чисел. MATLAB иногда хранит такой список в матрице со всего одной строкой, и другие времена в матрице со всего одним столбцом. Прежде всего такая матрица с 1 строкой называется вектором - строкой; во втором экземпляре такая матрица с 1 столбцом называется вектор-столбцом. Так или иначе это просто различные пути к хранению векторов, не различных видов векторов.

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

Точка в Ул., т.е. d-вектор, всегда хранится как вектор-столбец. В частности, если вы захотите предоставить n - список d - векторы к одной из команд, вы, как ожидают, предоставите тот список как столбцы n матрицы размера [d,n].

В то время как другие списки чисел (например, последовательность узла или последовательность пропуска) могут храниться внутренне как векторы - строки, можно предоставить такие списки как вам нравится как вектор - строка или вектор-столбец.

Соглашения о присвоении имен функции сплайна

Большинство команд сплайна в этом тулбоксе имеет имена, которые следуют за одним из следующих шаблонов:

Команды cs... создают кубические сплайны (в ppform)

Команды sp... создают сплайны в B-форме

Команды fn... работают с функциями сплайна

Команды ..2... преобразовывают что-то

Команды ..api создают приближение интерполяцией

Команды ..aps создают приближение путем сглаживания

Команды ..ap2 создают приближение наименьших квадратов

Построение команд ...knt (часть) конкретная последовательность узла

Команды ...dem являются примерами.

Примечание

См. “Глоссарий” для получения информации об обозначении.

Аргументы для функций сплайна Curve Fitting Toolbox

Для простоты использования большинство функций сплайна Curve Fitting Toolbox имеет параметры по умолчанию. В ссылке под Синтаксисом, мы обычно первый список функция со всеми необходимыми входными параметрами и затем со всеми возможными входными параметрами. Когда существует больше чем один дополнительный аргумент, затем, иногда, но не всегда, их точный порядок является несущественным. Когда их порядок действительно имеет значение, необходимо задать каждый дополнительный аргумент, предшествующий одному (s), вы интересуетесь. В этой ситуации можно задать значение по умолчанию для дополнительного аргумента при помощи [] (пустая матрица) как вход для него. Описание на странице с описанием говорит вам значение по умолчанию для каждого дополнительного входного параметра.

Как в MATLAB, только выходные аргументы, явным образом заданные, возвращены в пользователя.

Список благодарностей

MathWorks® хотел бы подтвердить вклады Карла де Бора к функциям сплайна Curve Fitting Toolbox. Профессор де Бор создал Сплайн Toolbox™ от его первого релиза до Версии 3.3.4 (2008).

Профессор де Бор получил Приз Джона фон Неймана в 1 996 и Национальная Медаль в Науке в 2 003. Он - член и американской Академии Искусств и Наук и Национальной академии наук. Он - автор Практического Руководства по Сплайнам (Спрингер, 2001).

Некоторые соглашения о присвоении имен функции сплайна являются результатом обсуждения с Йоргом Петерсом, затем аспирантом в Информатике в Висконсинском университете в Мадисоне.

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