Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Сплайны. ⇐ ПредыдущаяСтр 4 из 4
Если функция имеет много локальных максимумов и точек перегиба, то часто интерполирование ее по точкам бывает неудовлетворительным. Поэтому появились методы кусочной или многоинтервальной интерполяции. Они заключаются в том, что значение функции Использование полиномов высокой степени на всем выбранном интервале приводит к большему объёму вычислений и не обеспечивает высокой точности. Наиболее распространенны: 1. Применение кусочно – линейной интерполяции при равномерном расположении узлов. Имеем:
где Обычно степень полинома росла вместе с ростом числа узлов, здесь она неизменна. Уменьшение 2. Квадратичная интерполяция – требует чётного числа парных интервалов (n – чётное число). Имеем: Если использовать формулу Лагранжа для трёх ординат, то получим
где В узлах i значения y(x) и 3. Кубическая интерполяция (также локальная)
где Производные могут вычисляться с помощью формул численного дифференцирования по трём точкам:
Значения У кубичного локального сплайна обеспечивается непрерывность нулевой и первой производных. Поэтому они не учитывают точек перегиба и не обеспечивают совпадения по кривизне в узловых точках. Далее приведены примеры использования функций MATLAB с расчетом сплайна для таблицы и для функции (splayn_tabl.m, splayn _fun.m) function splayn_tabl x = -4: 4; y = [0.15 1.12 2.36 2.36 1.46.49.06 0]; cs = spline(x, [0 y 0]); xx = linspace(-4, 4, 101); plot(x, y, 'o', xx, ppval(cs, xx), '-') function splayn_fun x = 0: 10; y = sin(x); xx = 0:.25: 10; yy = spline(x, y, xx); plot(x, y, 'o', xx, yy)
|