Аппроксимация функций с помощью кубического сплайна
Входные параметры: N - число узлов интерполяции; y - массив размерности n, содержащий значения функции в узлах интерполяции; x-массив размерности n, содержащий значения узлов интерполяции; q-точка в которой вычисляем значения функции интерполяции.
Выходные параметры: приближенное значение функции в точке q; графическая интерпретация результата.
Схема алгоритма приведена на рисунке 7.
Задание. Аппроксимировать табличную функцию с помощью кубического сплайна.
xi | yi | xi | yi |
1 | 2,05 | 6 | 1,88 |
2 | 1,94 | 7 | 1,71 |
3 | 1,92 | 8 | 1,60 |
4 | 1,87 | 9 | 1,56 |
5 | 1,77 | 10 | 1,40 |
Текст программы:
Procedure Spline3(N:integer;X,Y:mas;S0,SN:real;Var A,B,C,D:mas);
Var F : Mas; H2,H3,p : real; i,j : integer;
Begin
H2:=X[2]-X[1];
H3:=X[3]-X[2];
A[1]:=(2*(H2+H3))/H3;
f[1]:=(6/h3)*(((y[3]-y[2])/h3)-((y[2]-y[1])/h2))-(h2*s0)/h3;
For i:=4 to n-1 do
begin
h2:=x[i-1]-x[i-2]; h3:=x[i]-x[i-1];
a[i-2]:=(2/h3)*(h2+h3); b[i-2]:=h2/h3;
f[i-2]:=(6/h3)*(((y[i]-y[i-1])/h3-((y[i-1]-y[i-2])/h2)));
end;
h2:=x[n-1]-x[n-2]; h3:=x[n]-x[n-1];
p:=2*(h2+h3); b[1]:=h2/p;
f[n-2]:=(6/p)*(((y[n]-y[n-1])/h3)-((y[n-1]-y[n-2])/h2))-(h3*sn)/p;
d[1]:=1/a[1]; c[1]:=f[1];
For i:=2 to n-3 do
begin
d[i]:=1/(a[i]-b[i]*d[i-1]); c[i]:=f[i]-b[i]*d[i-1]*c[i-1];
end;
d[n-2]:=(f[n-2]-b[1]*d[n-3]*c[n-3])/(1-b[1]*d[n-3]);
For i:=n-3 downto 1 do
d[i]:=d[i]*(c[i]-d[i+1]);
c[1]:=s0; c[n]:=sn;
For i:=2 to n-1 do c[i]:=d[i-1];
For i:=1 to n do
begin
a[i]:=0; b[i]:=0; d[i]:=0; end;
For i:=2 to n do
begin
h2:=x[i]-x[i-1]; d[i]:=(c[i]-c[i-1])/h2;
b[i]:=h2*c[i]/2-(Sqr(h2))*d[i]/6+(y[i]-y[i-1])/h2; a[i]:=y[i];
end; end;
Вычисления по программе привели к следующим результатам:
X=1 Y=2,21
X=1,5 Y=2,06
X=2 Y=1,94
X=2,5 Y=2,00
X=3 Y=1,92
X=3,5 Y=1,99
X=4 Y=1,87
X=4,5 Y=1,88
X=5 Y=1,77
X=5,5 Y=1,91
X=6 Y=1,88
X=6,5 Y=1,90
X=7 Y=1,71
X=7,5 Y=1,71
X=8 Y=1,6
X=8,5 Y=1,66
X=9 Y=1,56
X=9,5 Y=1,57
X=10 Y=1,4
Варианты заданий для решения задачи приближения функций приведены в таблице 2.
Рисунок 7 - Схема алгоритма приближения функций с помощью сплайнов
- Общие сведения Сведения об эумк
- Методические рекомендации по изучению дисциплины
- Рабочая учебная программа Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники»
- Пояснительная записка
- Содержание дисциплины
- 1. Название тем лекционных занятий, их содержание, объем в часах Наименование тем, их содержание
- 2. Перечень тем ипр
- Перечень тем контрольных работ
- 4. Литература
- 4.1 Основная
- 4.2 Дополнительная
- 5. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- 6. Учебно-методическая карта дисциплины содержание дисциплины
- Теоретический раздел Вступление
- Дискретная и вычислительная математика
- Часть 1. Вычислительная математика Математическое моделирование и вычислительный эксперимент
- 1 Решение систем линейных алгебраических уравнений
- 1.1 Точные методы
- 1.1.1 Метод Гаусса
- 1.1.2 Связь метода Гаусса с разложением матрицы на множители. Теорема об lu разложении
- Теорема об lu разложении
- 1.1.3 Метод Гаусса с выбором главного элемента
- 1.1.4 Метод Холецкого (метод квадратных корней)
- 1.2 Итерационные методы решений систем алгебраических уравнений
- 1.2.1 Метод Якоби (простых итераций)
- 1.2.2 Метод Зейделя
- 1.2.3 Матричная запись методов Якоби и Зейделя
- 1.2.4 Метод Ричардсона
- 1.2.5 Метод верхней релаксации (обобщённый метод Зейделя)
- 1.2.6 Сходимость итерационных методов
- 2 Плохо обусловленные системы линейных алгебраических уравнений
- 2.1 Метод регуляризации для решения плохо обусловленных систем
- 2.2 Метод вращения (Гивенса)
- 3 Решение нелинейных уравнений
- 3.1 Метод простых итераций
- 3.1.1 Условия сходимости метода
- 3.1.2 Оценка погрешности
- 3.2 Метод Ньютона
- 3.2.1 Сходимость метода
- 4 Решение проблемы собственных значений
- 4.1 Прямые методы
- 4.1.1 Метод Леверрье
- 4.1.2 Усовершенствованный метод Фадеева
- 4.1.3 Метод Данилевского
- 4.1.4 Метод итераций определения первого собственного числа матрицы
- 5 Задача приближения функции
- 5.1 Интерполяционный многочлен Лагранжа
- 5.1.1 Оценка погрешности интерполяционного многочлена
- 5.2 Интерполяционные полиномы Ньютона
- 5.2.1 Интерполяционный многочлен Ньютона для равноотстоящих узлов
- 5.2.2 Вторая интерполяционная формула Ньютона
- 5.3 Интерполирование сплайнами
- 5.3.1 Построение кубического сплайна
- 5.3.2 Сходимость процесса интерполирования кубическими сплайнами
- 5.4 Аппроксимация функций методом наименьших квадратов
- 6 Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений и систем дифференциальных уравнений
- 6.1 Семейство одношаговых методов решения задачи Коши
- 6.1.1 Метод Эйлера (частный случай метода Рунге-Кутта)
- 6.1.2 Методы Рунге-Кутта
- 6.2 Многошаговые разностные методы решения задачи Коши для обыкновенных дифференциальных уравнений
- 6.2.1 Задача подбора числовых коэффициентов aк , bк
- 6.2.2 Устойчивость и сходимость многошаговых разностных методов
- 6.2.3 Примеры m-шаговых разностных методов Адамса для различных m
- 6.3 Численное интегрирование жестких систем обыкновенных дифференциальных уравнений
- 6.3.1 Понятие жесткой системы оду
- 6.3.2 Некоторые сведения о других методах решения жестких систем
- 6.3.2.1 Методы Гира
- 6.3.2.2 Метод Ракитского(матричной экспоненты) решения систем оду
- 6.4 Краевые задачи для обыкновенных дифференциальных уравнений
- 6.5 Решение линейной краевой задачи
- 6.6 Решение двухточечной краевой задачи для линейного уравнения второго порядка сведением к задаче Коши
- 6.7 Методы численного решения двухточечной краевой задачи для линейного уравнения второго порядка
- 6.7.1 Метод конечных разностей
- 6.7.2 Метод прогонки (одна из модификаций метода Гаусса)
- 7 Приближенное решение дифференциальных уравнений в частных производных
- 7.1 Метод сеток для решения смешанной задачи для уравнения параболического типа (уравнения теплопроводности)
- 7.2 Решение задачи Дирихле для уравнения Лапласа методом сеток
- 7.3 Решение смешанной задачи для уравнения гиперболического типа методом сеток
- Часть 2. Дискретная математика
- 1. Основные Элементы теории множеств
- 1.1 Элементы и множества
- 1.2 Задание множеств. Парадокс Рассела
- 1.3 Операции над множествами
- 1.4 Булеан множества
- 1.5 Представление множеств в эвм
- Разбиения и покрытия
- 2 Отношения и функции
- 2.1 Прямое произведение множеств
- Элементы комбинаторики
- Теория конфигураций и теория перечисления
- Размещения
- Сочетания
- 3.1 Перестановки и подстановки
- 4 Элементы математической логики
- 5 Конечные графы и сети Основные определения
- 5.1 Матрицы графов
- Матрица смежности Списки инцидентности
- 5.2 Достижимость и связность
- 5.3 Эйлеровы и гамильтоновы графы
- 5.4 Деревья и циклы
- 5.5 Алгоритмы поиска пути
- Двунаправленный поиск
- Поиск по первому наилучшему совпадению
- Алгоритм Дейкстры
- АлгоритмА*
- Остовное дерево
- Матрица Кирхгофа
- 5.6 Конечные автоматы
- 5.6 Элементы топологии
- 5.7 Метрическое пространство
- Указания по выбору варианта
- Контрольная работа № 2 Общие сведения
- Квадратурная формула Гаусса
- Указания по выбору варианта
- Индивидуальные практические работы Индивидуальная практическая работа № 1 Общие сведения
- Интерполяционный полином Лагранжа
- Аппроксимация функций с помощью кубического сплайна
- Приближение формулами Ньютона
- Аппроксимация функций методом наименьших квадратов
- Индивидуальная практическая работа № 2