Аппроксимация с помощью кубического сплайна. - раздел Математика, Обзор возможностей математических пакетов MathCAD 2000, MathLAB 5.0, Mathematica Специальным Видом Кусочной Интерполяции Является Интерполяция С Помощью Сплай...
Специальным видом кусочной интерполяции является интерполяция с помощью сплайн-функции. Образованные в процессе такой интерполяции кривые обладают достаточным приближением и образуют кусочно-кубический полином. Сплайн-интерполяция по сравнению с другими методами интерполяции обеспечивает наилучшее приближение. Ниже исследуется сплайн-интерполяция с помощью кубических полиномов [10].
Пусть имеется некоторая кривая f(x), а для неё известен набор опорных точек xi, yi (i=0..n), где n - количество интервалов между ними. На каждом интервале исходная функция аппроксимируется кубическим полиномом (сплайном)
(2.26)
Для n интервалов необходимо найти 4*n неизвестных, поскольку для каждого интерполирующего сплайна Sj вычисляются значения коэффициентов ai, bi, ci, di.
Любой сплайн должен удовлетворять четырем условиям:
1. В каждой нижней границе интервала сплайн проходит через опорную точку.
(2.27)
2. В каждой верхней границе интервала сплайн проходит через опорную точку.
(2.28)
Ширина интервала
3. Для каждой нижней граничной точки интервала сплайн имеет одинаковую крутизну в обоих граничащих интервалах.
(2.29)
4. Для каждой верхней граничной точки интервала сплайн имеет одинаковую крутизну в обоих граничащих интервалах.
(2.30)
Для вычисления коэффициентов n интерполирующих сплайнов требуется ещё два условия. Эти условия назовём граничными и выберем произвольно:
а). через обе граничные точки кривая должна проходить с нулевой кривизной, превращаясь в прямую.
б) крутизна любого интерполирующего сплайна в обеих граничных точках фиксирована.
Вывод коэффициентов.
Вычислим 4*n коэффициентов с помощью заданных опорных точек. Проще всего определить коэффициенты а из первого условия.
Подставляя в (2.27) x = xi, получаем
di = yi, i = 0,1,…,n-1 (2.35)
Из второго условия подставляем уравнение (2.28) и x = xi + hi в (2.26) с учётом (2.35) получаем
Согласно третьему условию:
Подставляя в выражение (2.37) уравнение (2.29) имеем:
Для удовлетворения четвёртого условия вычислим вторую производную интерполирующего сплайна:
Подставляя в это выражение уравнение (2.30), получаем:
Посредством исключения коэффициентов а и с из уравнений (2.38), (2.36) и (2.40) вместе с граничными условиями (2.31), (2.32) или (2.33), (2.34) получаем систему линейных уравнений для всех b. Теперь решим (2.40) относительно
Подставив (2.41) в (2.36):
Это уравнение в свою очередь решим относительно
Для первого члена в правой части (2.43) в дальнейшем будем пользоваться сокращением
Опорные точки должны быть сопоставимы с непрерывной функцией, т.е. функция не должна иметь скачков, поскольку из-за hi=0 значение ei стремилось бы к бесконечности.
Чтобы исключить коэффициенты ai, ci подставим в уравнения (2.41) и (2.43) в уравнение (2.38) и после преобразования запишем:
Оставшиеся два уравнения, необходимые для вычисления всех коэффициентов bi получаем с помощью граничных условий. Таким образом задаются две системы уравнений.
Граничное условие А.
Подставляя уравнение (2.31) при i = 0 и x = xi в уравнение (2.39), получаем
b1 = 0 (2.46)
Для упрощённого расчёта граничного условия (2.32) допустим, что за опорной точкой xn существует другой интерполирующий сплайн, для которого условия (2.27), (2.29) и (2.30) выполняются. Согласно последнему условию
Подставляя это выражение при i = n и x = xn в уравнение (2.39) получаем
bn = 0 (2.47)
Аналогичным образом можно записать (2.45) и для i = n-1, т.е.:
Уравнения (2.41) и (2.44) представляют собой систему линейных уравнений, с помощью которой вычисляется n-1 сплайн-коэффициентов b1...bn-1. В матрице коэффициентов заполненными оказываются только главная диагональ и две соседние диагонали, а все остальные элементы равны 0. Такая система уравнений называется трёхдиагональной.
После решения системы уравнений, приведённой выше, предполагается, что все коэффициенты bi известны. С помощью уравнения (2.41) вычисляются все n ai, а с помощью (2.43) - все коэффициенты ci.
Граничное условие Б.
С учётом граничных условий (2.33) и (2.34) создаётся система из n уравнений для коэффициентов bi. Подставляя (2.33) для i = 1 и x = x1 получаем
c1 = ma (2.50)
Из уравнения (2.43)
Таким образом, получаем систему уравнений
которую необходимо решить относительно bn-1 и bn-2
Уравнения (2.45), (2.51) и (2.57) образуют систему линейных уравнений всех сплайн-коэффициентов b1...bn-1. Сиcтема трёхдиагональна, однако её матрица коэффициентов в отличии от уравнения (2.49) не симметрична. После решения этой системы по уравнениям (2.53) и (2.41) рассчитаем коэффициенты ai, а по уравнению (2.38) коэффициенты ci.
Моделирование сплайн-интерполяции.
Для исследования сплайн-интерполяции составим программу, вычисляющую сплайн-коэффициенты по граничному условию А.
Функция Spline реализует алгоритм вычисления сплайн-коэффициентов с учётом граничного условия А. Результатом вычисления является матрица размерностью n*4 в строках которой записаны коэффициенты a, b, c, d для каждой из n сплайн функции. Входные параметры - векторы x, y - исходные опорные точки.
Функция Function(x) вычисляет для заданного x значения сплайна.
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:
Аппроксимация с помощью кубического сплайна.
Что будем делать с полученным материалом:
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Входной язык системы MathCAD.
Уникальное свойство MathCAD — возможность описания математических алгоритмов в естественной математической форме с применением общепринятой символики для математических знаков, таких, например, как
Формульный редактор.
Фактически система MathCAD интегрирует три редактора: формульный, текстовый и графический. Для запуска формульного редактора достаточно установить курсор мыши в любом свободном месте окна редактиро
Наборные панели и шаблоны.
Подготовка вычислительных блоков облегчается благодаря выводу шаблона при задании того или иного оператора. Для этого в MathCAD служат наборные панели с шаблонами различных математических символов
Возможности символьного процессора (Symbolic)
Системы компьютерной алгебры снабжаются специальным процессором для выполнения аналитических (символьных) вычислений. Его основой является ядро, хранящее всю совокупность формул и формульных преобр
Назначение системы SmartMath.
Система SmartMath более полно использует ядро символьных операций, чем символьные вычисления из подменю позицииSymbolics главного меню, и снимает некоторые ограничения на их выполн
Инструментальная панель
Инструментальная панель командного окна системы MATLAB позволяет обеспечить простой доступ к операциям над М-файлами (рис. 1.4)
Программирование в среде Matlab 5.
Файлы, которые содержат коды языка MATLAB, называются M-файлами. Для создания M-файла используется текстовый редактор; вызову М-файла предшествует присваивание значений входным аргументам; результа
Алгебра.
Одной из самых важных задач, рассматриваемых в алгебре, является нахождение корней многочленов. Пусть, например, требуется найти корни уравнения третьей степени
Анализ.
Наряду с алгебраическими преобразованиями "Математика'' позволяет выполнять операции математического анализа. Базовыми являются операции интегрирования Integrate и дифференцирования D. Проинте
Численные методы.
Значения элементарных функций и многочисленных специальных математических функций в вещественных и комплексных точках с вещественными координатами, можно найти, просто вычислив соответствующие выра
Формульный редактор.
Фактически система MathCAD интегрирует три редактора: формульный, текстовый и графический. Для запуска формульного редактора достаточно установить курсор мыши в любом свободном месте окна редактиро
Наборные панели и шаблоны.
Подготовка вычислительных блоков облегчается благодаря выводу шаблона при задании того или иного оператора. Для этого в MathCAD служат наборные панели с шаблонами различных математических символов.
Возможности символьного процессора (Symbolic)
Системы компьютерной алгебры снабжаются специальным процессором для выполнения аналитических (символьных) вычислений. Его основой является ядро, хранящее всю совокупность формул и формульных преобр
Общая формула для оценки главной части погрешности.
При численном решении математических и прикладных задач почти неизбежно появление на том или ином этапе их решения погрешностей следующих трех типов [1].
а) Погрешность задачи
Графы вычислительных процессов.
Рассмотрим более удобный способ подсчёта распространения ошибки в каком-либо арифметическом вычислении [6].
С этой целью мы будем, изображать последовательность операций в вычислении с пом
Деление
Если выполняется деление a1/a2, то стрелка от a1 к косой черте в кружке получает коэффициент +1, а стрелка от a2 к косой черте в кру
Метод простых итераций.
Метод простых итераций (метод последовательных приближений) решения уравнения f(x) = 0 состоит в замене исходного уравнения эквивалентным ему уравнением x = j(x) и построении последовательности x
Порядок выполнения лабораторной работы с помощью метода Ньютона
1. Графически или аналитически отделить корень уравнения f(x) = 0. Убедиться, что на найденном отрезке [a,b] функция f(x) удовлетворяет условиям сходимости метода Ньютона.
2. Выбрать начал
Метод Вегстейна.
При выводе метода Вегстейна решения задачи о неподвижной точке x=φ(x) будем использовать как аналитические, так и геометрические соображения [1].
Пусть уже найдены:
Метод Чебышева.
Требуется найти вещественный корень уравнения f(x) = 0, изолированный в интервале (a, b). Функция f(x) предполагается непрерывной вместе с производными до n-го порядка включительно, причём в интерв
Метод Данко.
Для отыскания действительного корня уравнения f(x)=0, изолированного в интервале (a, b), рассматривается кривая [5]
Метод простых итераций.
Рассмотрим произвольную нелинейную систему уравнений в Rn [10].
или в более к
Метод Ньютона.
Рассмотрим систему n нелинейных уравнений с n неизвестными
или в векторной форме
f
Метод наискорейшего спуска.
Общий недостаток всех рассмотренных выше методов решения систем нелинейных уравнений – это сугубо локальный характер сходимости, затрудняющий их применение в случаях, когда имеются проблемы с выбор
Тригонометрическая интерполяция.
Пусть функция f(х) задана на отрезке [0,2p] таблицей значении f(xi) в равноотстоящих узлах (i=1, 2, ..., 2N
Метод градиентного спуска.
Общая задача нелинейного программирования без ограничений состоит в минимизации функции f(x)=f(x1, x2, ..., xп}, заданной во всем n-мерном евклидовом
Минимизация функции методом Нелдера-Мида.
В лабораторных предыдущих работах описаны градиентные методы отыскания локального минимума функции нескольких переменных. В настоящей работе рассматривается один из методов минимизации, в котором в
Порядок выполнения лабораторной работы.
1. Составить подпрограмму-функцию для вычисления значений целевой функции.
2. Составить программу-функцию для нахождения экстремума целевой функции методом Нелдера-Мида.
3. Провес
Метод Эйлера.
Пусть требуется найти приближенное решение дифференциального уравнения y'=f(x,у), удовлетворяющее начальному условию у(х0)=у0. Численное решение задачи состоит
Метод Рунге-Кутта.
Пусть требуется найти решение дифференциального уравнения y¢=f(x, y), удовлетворяющее начальному условию y(x0) = y0.
Численное решение задачи состоит в построени
Решение одной из задач.
В качестве примера возьмём задачу разложения функции в ряд Тейлора (задача №1).
Поскольку ЭВМ способна непосредственно вычислять только функции, содержащие арифметические операции (полином
Экономизация.
Экономизация ряда заключается в уменьшении числа арифметических операций при условии сохранения заданной точности вычисления функции. Данный приём использует свойство полиномов Чебышева сводить к м
Моделирование сплайн-интерполяции.
Для исследования сплайн-интерполяции составим программу, вычисляющую сплайн-коэффициенты по граничному условию А.
Функция Spline реализует алгоритм вычисления сплайн-коэффициентов с учётом
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов