- •Вычислительная математика
- •Введение
- •Содержание дисциплины
- •1.1. Интерполяция по Лагранжу
- •1.2. Метод разделённых разностей
- •1.3. Итерационные методы интерполяции
- •1.4. Метод наименьших квадратов для функций
- •1.5. Сглаживание с помощью сплайнов
- •1.6. Дифференцирование с использованием формул разностей
- •1.7. Интегрирование по методу Симпсона
- •1.8. Интегрирование по методу Ромберга
- •1.9.Квадратурные формулы Гаусса
- •2. Список основных рекомендуемых источников
- •3. Рекомендации по изучению дисциплины
- •4. Выполнение контрольной работы
- •4.1 Задания на контрольную работу
- •4.2.Оформление контрольной работы
- •Приложение 1 Задания
- •Приложение 2 Оформление титульного листа
- •Приложение 3 Примеры реализации программ на Бейсике
1.5. Сглаживание с помощью сплайнов
Сплайны лишь недавно стали использовать в вычислительнойматематике. Однако в машиностроительном черчении они фактически применяются уже давно, т. к. сплайн – это в переводе не что иное, как «гибкая линейка», которую деформируют так, чтобы по ней можно было провести кривую через заданные точки (xi,уi).Сплайн (или сплайн-функции) – функция с кусочной структурой и повторяющимся на каждом звене (отрезке) строением, но с различными значениями параметров.
Кубическийсплайн– это группа сопряженных кубических многочленов, в местах сопряжениякоторых первая и вторая производные непрерывны. Чтобы построить кубический сплайн, необходимо задать коэффициенты, которые единственным образом определяют кубический многочлен в промежутке между данными точками. Например, в случае,представленном на рис. 1, необходимо задать все кубические функции q1(х), q2(х), . . ., qm(х).
Рис. 1. Кубический сплайн
В наиболее общем случае эти многочлены имеют вид:
qi (х) = k1i + k2i x + k3i x2 + k4i x3, i=1, 2, . . ., m,
где kji – постоянные, определяемые указанными ниже условиями.
Первые 2т условий требуют, чтобы сплайны соприкасалисьв заданных точках. Эти условия имеют вид:
qi (x) =yi;i = 1,…,m;
qi + 1(xi) =yi;i = 0,…,m – 1.
Следующие 2m– 2 условий требуют, чтобы в местах соприкосновения сплайнов были равны первые и вторые производные:
qi+1(xi) = qi(xi), i = 1,…, m – 1;
qi+1(xi) = qi(xi), i = 1,…, m – 1.
Система алгебраических уравнений имела решение тогда, когда число уравнений точно равно числу неизвестных. На данном этапе мы имеем 4mнеизвестных и 4m– 2 уравнений. Следовательно, мы должны найти еще два уравнения. Обычно используют уравнения
q1(x0) = 0 иqm(хm) = 0.
Полученный таким способом сплайн называют естественным кубическим сплайном. Найдя коэффициенты сплайна, эту кусочно-гладкую полиноминальную функцию можно использовать для представления данных при интерполяции, подгонке кривой или поверхности.
На первый взгляд может показаться, что определение коэффициентов сводится к решению 4m уравнений с 4m неизвестными. Однако, специально выбрав вид кубических многочленов, можно значительно упростить задачу. Если отдельные кубические уравнения имеют вид:
qi (x) =tyi +tср.yi – 1+xi[ki – 1–di)tt2ср.– (ki–di)t2tcp.],
где i = 1,..., m;
xi = xi – xi – 1;
t = (x – xi – 1)/xi;
tcp. = 1 – t;
уi = yi – 1;
yi/xi = di ,
то каждое из уравнений qi (x)содержит только два постоянных неизвестных коэффициента. После того как первое уравнение qi (x) записано, с каждым следующим уравнением добавляетсятолько один новый неизвестный коэффициент. При этом при x = xi – 1 t = 0, tcp. = 1, а при х = xi tcp. = 0, t = 1. Следовательно, при таком выборе кубических многочленов автоматически удовлетворяются все условия, кроме условий, налагаемых на вторые производные. Последние условия для внутренних точек выражаются соотношениями:
ki – 1xi + 1 + 2ki (xi + xi + 1) + ki + 1xi = 3(dixi + 1 + di + 1xi),
а для двух внешних – соотношениями:
2k0 + k1 = 3dl и km – 1 + 2km – l = 3dm.
Таким образом, решаемая система уравнений является линейной, а ее матрица – трехдиагональной:
В этой системе уравнений число определяемых коэффициентов равно числу заданных точек. Поэтому решение оказывается не более сложным, чем в случае аппроксимации т + 1 точек многочленомm-й степени. Часто оказывается, что кубический сплайн аппроксимирует функцию лучше, чем многочлен степенит.
.
Следует отметить, что существуют и другие сплайны, получающиеся при других условиях на концах или при использовании многочленов более высоких степеней.