ФЭА / АИТ / Лабораторная работа №4 «Интерполяция и приближение сплайнами»
(автор - student, добавлено - 20-09-2017, 21:34)
Скачать:
Кафедра АИТ
Лабораторная работа №4
«Интерполяция и приближение сплайнами»
Создание линейной сплайн функции Для определения
будем говорить о приближении функции f(x) на отрезке [0; 1]. Разобьем его на части [х0; х1],
…, [хN-1; хN], х0 = 0, хN= 1, и обозначим это разбиение через Δ. Назовем сплайном
и удовлетворяющую условиям непрерывности производных до порядка m-1 в точках х1, … , хN-1:
Всего имеется в
распоряжении Q=N(m+1) неизвестных
коэффициентов Рассмотрим
простейшую задачу приближения линейными сплайнами (m=1). Тогда общее число Qсвободных параметров равно 2N. Поставим вопрос о
построении сплайна
Эта система распадается на системы уравнений относительно коэффициентов отдельных многочленов
Отсюда находим
Многочлен Широкое распространение сплайнов во многом вызвано тем, что они являются в определенном смысле наиболее гладкими функциями среди функций, принимающих заданные значения.
Задание Дана функция
Программа program LinSplain; uses CRT; CONST n=6; var x,y:array [1..n] of real; a0,a1,a,b:real; i:integer;
function f(x: real):real; begin f := sqrt(4+x); end;
begin clrscr; Write('Vvedite a:');ReadLN(a); Write('Vvedite b:');ReadLN(b); x[1] := -1; y[1] := f(x[1]); For i:=1 to 6 do begin WriteLN('x[',i,']=',x[i]:0:1,' ','y[',i,']=',y[i]:0:3); x[i+1] := x[i] + 0.4; y[i+1] := f(x[i+1]) end; For i:=1 to 5 do begin y[1] := 1.73; a1 := (y[i+1]-y[i])/(x[i+1]-x[i]); a0 := y[i]-2*x[i]*a1; WriteLN('P[',i,'1] = ',a0:0:3,' + ',a1:0:3,'x') end; Readkey end.
Результатом вычисления функции интерполяции линейным сплайном является ломаная линия на отрезке [-1;1].
Вывод В данной лабораторной работе в результате вычислений
функция
Похожие статьи:
|
|