Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа 1
Интерполирование многочленами.
Сформулируем задачу интерполирования.
Пусть функция задана таблично
Точки будем называть узлами интерполяции. Требуется найти аналитическое выражение для этой функции так, чтобы
Геометрически задача интерполирования для функции означает построение кривой, проходящей через точки плоскости с координатами . Очевидно, что через данные точки можно провести бесчисленное множество различных кривых. Эта задача становится однозначной, если в качестве интерполирующей функции для , заданной своими значениями, выбрать многочлен степени не выше , такой, что
Многочлен , удовлетворяющий этим условиям, называют интерполяционным полиномом (многочленом), а соответствующие формулы интерполяционными формулами.
> restart:
> with(linalg):with(plots):Digits:=5;
Задание 1
Построить интерполяционный полином по определению и записать его в стандартной форме, если функция задана таблично .
Решение.
Строим матрицу значений функции ( 1-я строка ) в узлах интерполирования ( 2-я строка)
> A:=array(1..2,1..5,[[1,2,5,3,5],[2,3,4,5,6]]);
По условию интерполяционный полином не выше 4 степени Стандартная форма полинома имеет вид , где числа -коэффициенты полинома.
> ur:=x->a1*x^4+a2*x^3+a3*x^2+a4*x+a5;
По определению интерполяционного полинома . Составляем систему линейных уравнений.
Для получения коэффициентов решаем эту систему.
>solve({ur(A[2,1])=A[1,1],ur(A[2,2])=A[1,2],ur(A[2,3])=A[1,3],ur(A[2,4])=A[1,4],ur(A[2,5])=A[1,5]},{a1,a2,a3,a4,a5});
> a1:= 2/3: a4:= -137: a3:= 353/6: a5:= 113: a2:= -21/2:
Запись многочлена в стандартной форме записи
> simplify(ur(x));
> plot({ur(x)},x=2..6);
Построение графика таблично заданной функции (красным) и интерполяционного многочлена(зеленым цветом)
> l := [[ A[2,n], A[1,n]] $n=1..5]:
plot([l,ur(x)],x=2..6,style=point,symbol=circle);
Построение интерполяционного многочлена по определению, как мы видим, можно использовать для практического решения задач. Однако на практике используют другие, более удобные способы построения интерполяционного многочлена.
Интерполяционный полином Лагранжа.
Пусть функция задана таблично
Обозначим интерполяционный многочлен новым символом Будем искать в виде =, где -многочлен степени , причем
Исходя из вышесказанного, можно записать следующим образом
Окончательно получаем:
Это и есть интерполяционный полином Лагранжа (развёрнутая запись)
Задание 2.
Построить интерполяционный полином Лагранжа для приведенной выше функции, сравнить его с полиномом в стандартной форме записи и построить графики табличной функции и многочлена.
Решение.
Функцию, заданную в виде таблицы (см. задание 1), можно записать так
> x0:=A[2,1]:x1:=A[2,2]:x2:=A[2,3]:x3:=A[2,4]:x4:=A[2,5]:
> y0:=A[1,1]:y1:=A[1,2]:y2:=A[1,3]:y3:=A[1,4]:y4:=A[1,5]:
Построим интерполяционный многочлен Лагранжа
> lag:=x->(x-x1)*(x-x2)*(x-x3)*(x-x4)/((x0-x1)*(x0-x2)*(x0-x3)*(x0-x4))*y0+(x-x0)*(x-x2)*(x-x3)*(x-x4)/((x1-x0)*(x1-x2)*(x1-x3)*(x1-x4))*y1+(x-x0)*(x-x1)*(x-x3)*(x-x4)/((x2-x0)*(x2-x1)*(x2-x3)*(x2-x4))*y2+(x-x0)*(x-x1)*(x-x2)*(x-x4)/((x3-x0)*(x3-x1)*(x3-x2)*(x3-x4))*y3+(x-x0)*(x-x1)*(x-x2)*(x-x3)/((x4-x0)*(x4-x1)*(x4-x2)*(x4-x3))*y4;
Запишем многочлен в стандартной форме.
> simplify(lag(x));
Построение графиков
> l := [[ A[2,n], A[1,n]] $n=1..5]:
plot([l,lag(x)],x=2..6,style=point,symbol=circle);
Конечные разности.
Пусть функция задана таблично
Конечной разностью называется число, i=0,1,…,n1.
Конечной разностью второго порядка называется число =
Конечной разностью n -го порядка называется число
Конечные разности сводят в таблицу конечных разностей:
x |
y |
Δy |
Δ2y |
… |
Δny |
x0 |
y0 |
Δy0 |
Δ2y0 |
… |
Δny0 |
x1 |
y1 |
Δy1 |
Δ2y1 |
… |
|
x2 |
y2 |
Δy2 |
Δ2y2 |
… |
|
… |
… |
… |
… |
… |
… |
… |
… |
… |
Δ2yn-2 |
… |
|
… |
… |
Δyn-1 |
|
… |
|
xn |
yn |
|
|
… |
|
Задание 3 Найти все конечные разности для функции, заданной таблично .
Решение.
Составим таблицу конечных разностей
x |
y |
Δy |
Δ2y |
Δ3y |
0 |
1 |
2 |
0 |
-8 |
1 |
3 |
2 |
-8 |
|
2 |
5 |
-6 |
|
|
3 |
-1 |
|
|
|
Указания.
Для нахождения конечных разностей пользуемся их определениями.
Интерполяционные полиномы Ньютона.
Пусть функция задана таблично в равноотстоящих узлах интерполяции, то есть . называют шагом интерполирования.
Первая интерполяционная формула Ньютона (для интерполирования вперед)
Эта формула применяется для интерполирования в начале отрезка интерполяции. За начальное значение можно принять любое табличное значение аргумента.
Вторая интерполяционная формула Ньютона (для интерполирования назад)
Задание 4 Построить интерполяционные полиномы Ньютона для равноотстоящих узлов для функции из задания 3.
Решение.
Воспользуемся таблицей конечных разностей
x |
y |
Δy |
Δ2y |
Δ3y |
0 |
1 |
2 |
0 |
-8 |
1 |
3 |
2 |
-8 |
|
2 |
5 |
-6 |
|
|
3 |
-1 |
|
|
|
Контрольное задание.
Для функции заданной таблично , где n номер вашей фамилии по журналу.