- •Содержание
- •3. Интерполялия, экстрополяция, аппроксимация, сглаживание 5
- •3. Интерполялия, экстрополяция, аппроксимация, сглаживание
- •3.1. Введение
- •3.2. Интерполяция
- •3.2.1. Полиномиальная интерполяция
- •Аппроксимационная теорема Вейерштрасса.
- •3.2.2. Вычисление значений многочлена. Схема Горнера
- •3.2.3. Линейная интерполяция
- •3.2.4. Квадратичная интерполяция
- •3.2.5. Построение других базисных функций
- •3.2.6. Многочлены Тейлора
- •3.2.7. Лагранжева интерполяция
- •I, j, n : Integer;
- •3.2.8. Ошибки полиномиальной интерполяции
- •3.2.9. Кусочно-линейная интерполяция
- •Var X,y : Array[0..N] of Real;
- •I,j : Integer;
- •Var f:Real;
- •3.2.10. Кусочно-кубическая интерполяция
- •3.2.11. Эрмитов кубический интерполянт
- •3.2.12. Кубические сплайны
- •Var r, s, l : Vect;
- •Var l, I, j : Integer;
- •1 : Begin
- •0 : Begin
- •Var XX:RealType;
- •3.2.13. Кривые Безье. Сплайны
- •3.2.14. Итерационный способ вычисления интерполяционного полинома (способ Эйткена)
- •3.2.15. Интерполяционный многочлен Ньютона
- •3.2.16. Интерполяционный многочлен Гаусса
- •3.2.17. Интерполяционный многочлен Стирлинга
- •3.2.18. Интерполяционный многочлен Эверетта
- •3.3. Аппроксимация данных методом наименьших квадратов
- •3.3.1. Аппроксимация данных методом наименьших квадратов
- •3.3.2. Аппроксимация данных с другими нормами
- •3.3.3. Аппроксимация данных многочленом заданной степени
- •Var X,y:array[1..Nmax] of real;
- •I,n:integer;
- •Литература
- •Простейшие способы интерполяции
- •Интерполяционные полиномы
- •Сплайн-интерполяция
- •Тригонометрическая интерполяция
- •Неклассические методы интерполяции
- •Реконструкция функций
- •Всюду гладкая интерполяция
Var X,y:array[1..Nmax] of real;
sx,sy,sxy,sx2,a,b:real;
I,n:integer;
begin
writeln('Аппроксимация зависимостью a*ln(x)+b методом наименьших квадратов');
write('Количество точек N= ');
readln(n);
if n > nmax then n:=nmax;
sx:=0;
sy:=0;
sxy:=0;
sx2:=0;
for i:=1 to n do
begin
write('X(',i:2,'),
Y(',i:2,')= ');
readln(x[i],y[i]);
sx:=sx+ln(x[i]);
sy:=sy+y[i];
sxy:=sxy+(ln(x[i]))*y[i];
sx2:=sx2+sqr(ln(x[i]));
end;
a:=(sx*sy-n*sxy)/(sqr(sx)-n*sx2);
b:=(sy-a*sx)/n;
writeln('Коэффициенты зависимости a*ln(x)+b a= ',a:5:5,', b= ',b:5:5);
for i:=1 to n do
begin
writeln('X(',i:2,')= ',x[i]:5:5,' Y(',i:2,')= ',y[i]:5:5,
' Y*(',i:2,')= ',a*ln(x[i])+b:5:5);
end;
write('Нажмите <Enter> для продолжения'); readln;
end..
Литература
Mathcad 6.0 Plus. Финансовые, инженерные и научные расчеты в среде Windows 95./Перевод с англ. - М.: Информационно-издательский дом “Филинъ”, 1996. -712 с.
Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. - М.: Наука, 1987.
Боглаев Ю.П. Вычислительная математика и программирование. - М.: Высшая Школа, 1990.
Воробьева Г.Н., Данилова А.Н. Практикум по вычислительной математике. - М.: Высшая Школа, 1990.- 207 с.
Демидович Б.П., Марон И.А. Основы вычислительной математики. - М.: Наука, 1970. - 664 с.
Дьяконов В.П. Справочник по MathCAD PLUS 6.0 PRO. - М.: “СК Пресс”, 1997. - 336 с.: ил.
Дьяконов В.П., Абраменкова И.В. MathCAD 8 PRO в математике, физике и Internet. - М.: “Нолидж”, 2000. - 512 с.: ил.
Кудрявцев Е.М. MathCAD 2000 Pro. - М.: ДМК Пресс, 2001. - 576 с.: ил.
Носач В.В. Решение задач аппроксимации с помощью персональных компьютеров. - М.: МИКАП, 1994. - 332 с.
Очков В.Ф. MathCAD 7 Pro для студентов и инженеров. - М.: КомпьютерПресс, 1998. - 384 с.: ил.
Плис А.И., Сливина Н.А. Лабораторный практикум по высшей математике. - М.: Высш. шк., 1994. - 416 с.: ил.
Турчак Л.И. Основы численных методов. - М.: Наука, 1987.- 320 с.
Ханова А.А., Макарова И.Г. Лабораторный практикум по математическому моделированию и методам в расчетах на ЭВМ. - Астрахань: Изд-во АГТУ, 1998. - 93 с.
Шуп Терри Е. Прикладные численные методы в физике и технике. - М.: Высшая Школа, 1990. - 254 с.
Самарский А.А., Гулин А.В. Численные методы. – М.: Наука, 1989. – 430 с.
ПРИМЕРЫ
Интерполяция и аппроксимация функций
Алгебраическая интерполяция
Табличное задание функции
При алгебраической интерполяции для представления информации о функции используется таблица значений этой функции:
|
|
|
|
|
|
|
|
Собственно, задачей вычислительной математики здесь является задача построения по таблице такой функции , которая бы не сильно отличалась от и выработка ограничений, и разработка критериев, при которых задача имеет решение.
Простейшие способы интерполяции
Простейшим способом интерполяции функции по таблице является интерполяция методом ближайшего соседа. Один из ее вариантов формулируется так:
То есть за значение функции берется значение функции в точке, ближайшей к рассматриваемой.
Более точным способом интерполяции является кусочно-линейная интерполяция. При таком подходе значение интерполируется по двум соседним с точкой точкам.
(здесь подразумевается монотонное возрастание последовательности )
Интересно понять, с какой точностью интерполяционные формулы аппроксимируют функцию .
Предположим, что производная функции ограничена величиной . Тогда на отрезке функция не может отклониться от линейной интерполяции более, чем на . Если, кроме того, вторая производная функции ограничена, можно построить более точную оценку:
TODO