О САЙТЕ
Добро пожаловать!

Теперь вы можете поделиться своей работой!

Просто нажмите на значок
O2 Design Template

ФЭА / АИТ / Лабораторная работа №4 «Интерполяция и приближение сплайнами»

(автор - student, добавлено - 20-09-2017, 21:34)

 

 

 

 

 

 

Скачать:  splayn-8var-na-raspech.zip [587,46 Kb] (cкачиваний: 43)

 

Кафедра АИТ

 

 

 

 

 

 

 

Лабораторная работа №4

 

«Интерполяция и приближение сплайнами»

 

 

 

 

 

 

 


Создание линейной сплайн функции

Для определения будем говорить о приближении функции f(x) на отрезке [0; 1]. Разобьем его на части [х0; х1], …, [хN-1; хN], х0 = 0, хN= 1, и обозначим это разбиение через Δ. Назовем сплайном порядка mфункцию, являющуюся многочленом степени m на каждом из отрезков [хN-1; хN], т.е.

(1)

и удовлетворяющую условиям непрерывности производных до порядка m-1 в точках х1, … , хN-1:

(2)

Всего имеется в распоряжении Q=N(m+1) неизвестных коэффициентов , и соотношения (2) образуют систему из (N-1)mлинейных алгебраических уравнений. Другие уравнения для коэффициентов получаются из условия близости сплайна к приближаемой функции и из некоторых дополнительных условий.

Рассмотрим простейшую задачу приближения линейными сплайнами (m=1). Тогда общее число Qсвободных параметров равно 2N. Поставим вопрос о построении сплайна , совпадающего с функцией f(x) в точках х0,…, хN. Получится система уравнений

(3)

(4)

Эта система распадается на системы уравнений относительно коэффициентов отдельных многочленов

(5)

(6)

Отсюда находим

(7)

(8)

Многочлен является многократно рассматривавшимся интерполяционным многочленом первой степени с узлами интерполяции xn-1, xn.

Широкое распространение сплайнов во многом вызвано тем, что они являются в определенном смысле наиболее гладкими функциями среди функций, принимающих заданные значения.

 

Задание

Дана функция . Необходимо построить для нее линейную сплайн функцию на отрезке [-1; 1].

 


Программа

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].

 

Вывод

В данной лабораторной работе в результате вычислений функция была приближена линейной сплайн функцией, представляющей собой ломаную линию. Точность построения зависит от числа интервалов разбиения.

 

 


Ключевые слова -


ФНГ ФИМ ФЭА ФЭУ Яндекс.Метрика
Copyright 2021. Для правильного отображения сайта рекомендуем обновить Ваш браузер до последней версии!