splinetool

Экспериментируйте с некоторыми методами приближения сплайна

Синтаксис

Описание

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

пример

splinetool(x,y)открывает инструмент с заданными данными x и y, который должен быть векторами из той же длины.

Примеры

свернуть все

Запустите этот код, чтобы открыть Инструмент Сплайна и эксперимент с зашумленными данными.

x = linspace(1,pi,101); 
y = cos(x)+(rand(size(x))-.5)/10;
splinetool(x,y)

В этом примере показано, как исследовать различные граничные условия, доступные с интерполяцией кубическим сплайном в Инструменте Сплайна.

  1. Введите splinetool в командной строке.

  2. Выберите импортируют ваши собственные данные с начального экрана и принимают функцию по умолчанию. Необходимо видеть следующее отображение.

    Spline Tool showing the cubic spline interpolant approximation with the not-a-knot end condition

    Приближение по умолчанию является кубическим сплайном interpolant с граничным условием не-узла.

    Векторный x из данных сайты linspace(0,2*pi,31) и значениями является cos(x). Это отличается от простого обеспечения векторного y из значений, в которых косинусная функция явным образом зарегистрирована как базовая функция. Поэтому ошибка, показанная в графике, является ошибкой в сплайне как приближение к косинусу, а не как приближение к данным значениям. Заметьте получившуюся относительно большую ошибку о 5e-5, около конечных точек.

  3. Для сравнения выполните эти шаги:

    1. Нажмите New в Списке приближений.

    2. В методе Приближения выберите завершенный из списка Граничных условий.

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

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

    Spline tool showing a comparison of cubic spline interpolant approximation with the not-a-knot end condition and the complete end condition.

    Улучшение ошибки только о 5e-6.

  4. Для дальнейшего сравнения выполните эти шаги:

    1. Нажмите New в Списке приближений.

    2. В методе Приближения выберите естественный из списка Граничных условий.

    Отметьте ухудшение приближения около концов, ошибки приблизительно 2e-3, который намного хуже, чем с граничными условиями и условиями отсутствия узла.

  5. Для итогового сравнения выполните эти шаги:

    1. Нажмите New в Списке приближений.

    2. Поскольку косинусная функция является периодической в методе Приближения, выберите периодический из списка Граничных условий.

    Отметьте поразительное улучшение приближения, назад к ошибке приблизительно 5e-6, особенно по сравнению с естественными граничными условиями.

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

  1. Введите splinetool в командной строке или если инструмент уже открыт, нажмите File> Restart.

  2. Выберите данные о гонке за лидером Richard Tapia's. Данные показывают, что расстояние переместилось автомобилем перетаскивания в зависимости от времени. Окно сообщения просит, чтобы вы оценили начальное ускорение путем обнуления начальной скорости. Нажмите ОК, или нажмите клавишу "пробел" или Войдите, чтобы удалить окно сообщения.

  3. В методе Приближения выберите завершенный из списка Граничных условий.

  4. Настройте начальную скорость путем изменения первой производной в левой конечной точке, чтобы обнулить.

  5. Ищите значение начального ускорения, которое дано значением второй производной в левой конечной точке. Можно переключиться между первой производной и второй производной в этой конечной точке путем нажатия на левую кнопку конца. Значение второй производной должно быть вокруг 187 в выбранных модулях. Выберите View> Show 2-я Производная, чтобы видеть результат графически.

  6. Для сравнения нажмите New, затем выберите Least-Squares Approximation как метод Приближения. С этим методом вы больше не можете задавать граничные условия. Вместо этого можно варьироваться порядок метода. Проверьте, что начальное ускорение близко к значению кубичной интерполяции.

    Результаты этой процедуры показывают ниже.

    Spline Tool showing least-squares approximation of order 4 for Richard Tapia's drag race data

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

  1. Введите splinetool в командной строке или если инструмент уже открыт, нажмите File> Restart.

  2. Выберите данные о тепле Titanium.

  3. Выберите Least-Squares Approximation как метод Приближения.

  4. Заметьте, как плохо этот выбор аппроксимирует данные, поскольку нет никаких внутренних узлов. Чтобы просмотреть текущие узлы и добавить новые узлы, выберите Knots from Data, пропуски/узлы, веса. Узлы теперь перечислены в Узлах, и также отображены в графике данных как вертикальные линии. Существует только два узла конца, каждый с кратностью 4.

  5. Щелкните правой кнопкой по графику данных и выберите Add Knot. Эта опция отображает крест нитей для вас, чтобы переместиться с мышью. Его точное горизонтальное местоположение показывают в поле редактирования ниже списка узлов. Клик мыши помещает новый узел в текущем местоположении креста нитей. Одна возможная стратегия состоит в том, чтобы добавить узел в месте максимальной абсолютной погрешности, как показано во вспомогательном графике ниже графика данных.

    Spline Tool showing the least square approximation for titanium heat data and the two end knots

    Если вы щелкаете правой кнопкой и выбираете Replicate Knot, вы увеличиваете кратность текущего узла, который отражается его повторным вхождением в Узлах. Чтобы удалить определенный узел, сначала выберите его или в списке узлов или в графике данных, и затем щелкните правой кнопкой по графику и выберите Delete Knot.

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

  7. После того, как у вас будет пять внутренних узлов, попытайтесь совершить ошибку, еще меньшую путем перемещения узлов. Чтобы выбрать узел, вы хотите переместить, кликнуть по его вертикальной линии в графике, и затем использовать управление ниже Узлов в Данных, пропусках/узлы, весах и наблюдать, как ошибка изменяется с перемещением узла. Можно также использовать поле редактирования, чтобы перезаписать текущее местоположение узла. Также попытка настраивает, который перераспределяет текущую последовательность узла.

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

Этот пример экспериментирует со сглаживанием сплайнов с помощью Инструмента Сплайна.

  1. Введите splinetool в командной строке или, если инструмент уже открыт, нажимают File> Restart.

  2. Выберите данные о тепле Titanium.

  3. В методе Приближения выберите Smoothing Spline.

  4. Варьируйтесь Параметр между 0 и 1, который изменяет приближение от наименьших квадратов прямолинейное приближение к “естественному” кубическому сплайну interpolant.

  5. Варьируйтесь Допуск между 0 и некоторое большое значение, даже inf. Приближение изменяется от самого лучшего, “естественный” кубический сплайн interpolant, к наименьшим квадратам прямолинейное приближение.

  6. Когда вы увеличиваете Значение параметров или уменьшаете значение Допуска, ошибочные уменьшения. Однако меньшая ошибка соответствует большему количеству шероховатости, как измерено размером второй производной. Чтобы видеть этот результат, выберите View> Show 2-я Производная и варьируйтесь значения Параметра и Допуска еще раз.

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

    1. Выберите Jumps in Roughness Weight from Data, пропуски/узлы, веса.

    2. Выберите View> Show 2-я Производная.

    3. Выберите любую точку данных слева от пика в данных.

    4. Установите скачок на выбранном сайте к -1 путем изменения его значения в поле редактирования ниже его. Поскольку вес шероховатости для самого первого интервала сайта равняется 1, вы только что установили вес шероховатости справа от подсвеченного сайта к 0. Соответственно, вторая производная стала относительно маленькой слева от того сайта.

    5. Выберите любую точку данных справа от пика в данных.

    6. Установите скачок через выбранный сайт к 1. Поскольку вес шероховатости только слева от подсвеченного сайта 0, вы только что установили вес шероховатости справа от подсвеченного сайта к 1. Соответственно, вторая производная стала относительно маленькой справа от того сайта. Общий эффект очень является гладким, но не очень точная подгонка далеко от пика, в то время как в пиковой области, подгонка сплайна намного лучше, но вторая производная намного больше, как показан во вспомогательном графике ниже.

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

      Spline Tool showing a smoothing spline of order 4 for the titanium heat data

Входные параметры

свернуть все

Сайты данных в виде вектора из той же длины y. Сайты данных не должны быть отличными или не упорядочены, но должно быть по крайней мере два отличных сайта.

Значения данных в виде вектора из той же длины x.

Советы

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

Spline Tool showing a comparison of cubic spline interpolation and a smoothing spline on sample data created by adding noise to the cosine function

Select Approximation Methods

Методы приближения и опции, поддержанные инструментом, показывают ниже.

Метод приближения

Опция

Кубический сплайн интерполяции

Настройте тип и значения граничных условий.

Сглаживание сплайна

Выберите между кубическим (порядок 4) и quintic (порядок 6) сплайны. Настройте значение параметра сглаживания и/или допуска. Настройте веса в мерах по шероховатости и ошибке.

Приближение наименьших квадратов

Варьируйтесь порядок от 1 до 14. Порядок по умолчанию равняется 4, который дает кубические сплайны аппроксимации. Измените количество полиномиальных частей. Добавьте и переместите узлы, чтобы улучшить подгонку. Настройте веса в ошибочной мере.

Интерполяция сплайна

Варьируйтесь порядок от 2 до 14. Порядок по умолчанию равняется 4, который дает кубический сплайн interpolants. Если предоставленные узлы по умолчанию не являются удовлетворительными, можно переместить их, чтобы варьироваться подгонка.

Plot Graphs

Можно сгенерировать и сравнить несколько приближений с теми же данными. Одно из приближений всегда отмечается как “текущее” использование более толстой ширины линии. Следующие отображения доступны:

  • График данных. Это показывает:

    • Данные

    • Приближения, выбранные для отображения в Списке приближений

    • Текущая последовательность узла или текущая последовательность пропуска

  • Вспомогательный график (если просматривается) для текущего приближения. Можно просмотреть этот график путем выбора любого из элементов в меню View. Это показывает одно из следующего:

    • Первая производная

    • Вторая производная

    • Ошибка

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

Try Menu Options

Можно аннотировать и распечатать графики с Файлом> Печать к меню Figure.

Можно экспортировать данные и приближения к рабочей области для дальнейшего использования или анализа с меню File> Export Data и File> Export Spline, соответственно.

Можно создать с меню File> Generate Code, файл функции, который можно использовать, чтобы сгенерировать, из исходных данных, любые графики, в настоящее время показанные. Этот файл также предоставляет, вы с записанной записью команд раньше генерировали текущие графики.

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

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

Можно переключить сетку или легенду в графике с меню Tools.

Смотрите также

| | | | |

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