|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Интерполяция
Лабораторная работа ПРИБЛИЖЕНИЕ (АППРОКСИМАЦИЯ) ФУНКЦИЙ
Интерполяция
Подключаем пакет графических построений > 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, получим обычную кусочно-линейную интерполяцию (две соседние узловые точки соединяются отрезком прямой) (проделать самостоятельно).
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |