АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Интерполяция

Читайте также:
  1. Аппроксимация нелинейных характеристик. Интерполяция.
  2. Полиномиальная интерполяция табличных данных
  3. Сплайн-интерполяция и аппроксимация

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

ПРИБЛИЖЕНИЕ (АППРОКСИМАЦИЯ) ФУНКЦИЙ

 

Интерполяция

 

Подключаем пакет графических построений

> with(plots):

Задаем два массива X и Y – соответственно абсциссы и ординат отдельных точек функции

> X:=[0.5,2,3,4,5]: Y:=[0.3,1,2,2,1];

C помощью Digits задаем число значащих цифр в арифметике чисел с плавающей точкой. Функция interp осуществляет глобальную интерполяцию

> Digits:=5: f:=interp(X,Y,a);

Чтобы в дальнейшем обращаться к результату интерполяции как к обычной функции, используем строку

> fu:=proc(x) global a; a:=x; RETURN(f) end;

Строим график интерполирующей функции (отображения пока нет)

> g1:=plot(fu(x),x=0..5):

Наносим также заданные точки функции, заданные координатами в массивах X и Y (результат сохраняется в переменной g2, но пока не отображается)

> g2:=plot([[X[i],Y[i]]$i=1..5],x=0..5,style=POINT,

symbol=CIRCLE,color=black);

Совмещаем два построения

> display(g1,g2);

 

Проведем сплайн-интерполяцию. Сначала следует подключить функцию spline:

> readlib(spline);

Кубический сплайн вычисляется следующим образом

> f1:=spline(X,Y,x,cubic);

Графическое представление – как в случае глобальной интерполяции

> g4:=plot(f1,x=0..5,color=black):

> g5:=plot([[X[i],Y[i]]$i=1..5],x=0..5.1,style=POINT,

symbol=CIRCLE,color=black):

> display(g4,g5);

 

Обратите внимание, если функцию spline запустить с параметром linear вместо cubic, получим обычную кусочно-линейную интерполяцию (две соседние узловые точки соединяются отрезком прямой) (проделать самостоятельно).

 


1 | 2 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)