Граничное условие Б.
С учётом граничных условий (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 значения сплайна.
Задание.
Вычислить значения заданной функции f(x) в узлах интерполяции xi = a + h(i – 1), i = 1, 2, …, N, на отрезке [a, b]. По вычисленной таблице построить интерполяционный кубический сплайн S(x), вычислить его значения в промежуточных точках xj = a + h/2 + h(i – 1). Сравнить вычисленные значения с точными значениями функции в точках xj. Построить график f(x) и S(x).
Порядок выполнения лабораторной работы.
1. Вычислить xi, f(xi) на заданном промежутке.
2. С помощью программы Spline вычислить сплайн-коэффициенты.
3. При помощи функции Function вычислить значения кубического сплайна в узлах интерполяции.
4. Построить графики f(x) и S(x) (по значениям сплайна).
5. Сравнить результаты.
Таблица 2.6
Варианты заданий.
Вариант | N | [a, b] | f(x) | Вариант | N | [a, b] | f(x) |
1 | 20 | [0, 2] |
| 16 | 20 | [0, 2] |
|
2 | 25 | [0, 5] |
| 17 | 20 | [0, 4] |
|
3 | 25 | [0, 5] |
| 18 | 20 | [0, 4] |
|
4 | 20 | [-2, 2] |
| 19 | 20 | [-1, 3] |
|
5 | 10 | [3, 6] |
| 20 | 20 | [1, 100] |
|
6 | 25 | [0, 5] |
| 21 | 20 | [0, 4] |
|
7 | 25 | [-1, 4] |
| 22 | 20 | [0, 4] |
|
8 | 20 | [1, 5] |
| 23 | 25 | [0, 5] |
|
9 | 30 | [-1, 5] |
| 24 | 25 | [0, 5] |
|
Продолжение табл. 2.6 | |||||||
Вариант | N | [a, b] | f(x) | Вариант | N | [a, b] | f(x) |
10 | 25 | [0, 5] |
| 25 | 20 | [1, 5] |
|
11 | 20 | [1, 5] |
| 26 | 30 | [0, 6] |
|
12 | 20 | [0, 3] |
| 27 | 20 | [0, 2] |
|
13 | 20 | [0, 2] |
| 28 | 25 | [-1, 4] |
|
14 | 25 | [-1, 1] |
| 29 | 20 | [-2, 2] |
|
15 | 20 | [2, 10] |
| 30 | 20 | [1, 2] |
|
2.6.2. Тригонометрическая интерполяция.
Пусть функция f(х) задана на отрезке [0,2p] таблицей значении f(xi) в равноотстоящих узлах
(i=1, 2, ..., 2N+1). Тригонометрическим многочленом степени М называют многочлен [10]
.
Задача тригонометрической интерполяции состоит в построении тригонометрического интерполяционного многочлена наименьшей степени, удовлетворяющего условиям Pм(xi)=f(xi), i = l,…, 2N+1. Можно показать, что решением этой задачи является тригонометрический многочлен
(2.58)
коэффициенты которого вычисляются по следующим формулам:
(2.59)
Широкие возможности тригонометрической интерполяции следуют из того факта, что с возрастанием N многочлен Р(х) аппроксимирует f(x) с возрастающей точностью, т. е.
![]()
Это утверждение справедливо для достаточно широкого класса функций. Этим тригонометрическая интерполяция существенно отличается от алгебраической интерполяции на системе равноотстоящих узлов. При алгебраическом интерполировании разность между функцией f(x) интерполяционным многочленом может быть как угодно большой всюду, кроме узлов интерполяции. Тригонометрическое интерполирование полностью свободно от этого недостатка [10].
Для вычисления коэффициентов (2.59) тригонометрического интерполяционного многочлена (2.58) предназначена подпрограмма Trigon(f, n, m):
где f – значение функции в узлах интерполяции;
n – количество равноотстоящих узлов xi;
m – степень многочлена.
Задание.
Построить интерполяционный тригонометрический многочлен, аппроксимирующий функцию f(x), заданную таблицей значений в точках
(i=1, 2, ..., 2N+1).
С помощью полученного полинома вычислить значение функции и в точках
(i=1, 2, ..., 2N+1) (это уже предусмотрено в функции).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Основные порталы (построено редакторами)
