Краткие теоретические сведения. Одной из важнейших задач, возникающих в процессе математического моделирования
Одной из важнейших задач, возникающих в процессе математического моделирования, является вычислений значений функций, входящих в математическое описание модели. Используемые в математических моделях функции зачастую задаются табличным способом, например, если они получены в результате эксперимента. Т.е. предполагается, что функция f (x) задана таблицей значений, полученной из эксперимента или путем вычисления в последовательности значений аргумента:
x | f (x) |
x0 | f0 |
x1 | f1 |
x2 | f2 |
. . . | . . . |
xn | fn |
Выбранные значения аргумента x называются узлами таблицы. В общем случае узлы не являются равноотстоящими. При проведении вычислительных работ обычно возникает необходимость "сгущать" эти таблицы, т.е. вычислять функцию для значений аргумента, не совпадающих с теми, которые попали в таблицу. Эта проблема решается путем замены функции f(x) , для которой может быть даже неизвестно аналитическое выражение, некоторой функцией (x), имеющей сравнительно несложный аналитический вид и которая в некотором смысле близка к f(x). Приближение функции f(x) более простой функцией (x) называется аппроксимацией. Близости этих функций добиваются введением в аппроксимирующую функцию (x) свободных параметров c0, c1, c2, ..., cn и соответствующим их выбором. Критерии «близости» аппроксимирующей функции (x) к неизвестной функции f(x) могут быть самые различные. Например, это может быть равенство значений (x) и f(x) в узлах таблицы (условия Лагранжа: (xi) = fi, i=0, 1, 2, …,n) или минимум суммы квадратов разности между этими значениями. Для аппроксимации по первому критерию применяются полиномиальные и сплайновые методы; второй критерий используется методом наименьших квадратов. Методы аппроксимации, основанные на условиях Лагранжа, будем называть лагранжевыми.
Задачей интерполяции является построение аппроксимирующей функции (x) и нахождение по ней приближенных значений табличной функции f(x) при аргументах x, не совпадающих с узловыми, но содержащихся в интервале (x0, xn). Эти значения аргумента в дальнейшем будем называть точками интерполяции. Если же аппроксимирующую функцию вычисляют для точек, расположенных вне интервала [x0, xn], то такая задача называется экстраполяцией. Следует отметить, что лагранжевы методы применяются в основном для решения задач интерполяции, и поэтому в литературе называются интерполяционными.
Для выполнения аппроксимации необходимо иметь набор узловых точек х0,х1, х2,...,хn , значения аппроксимируемой функции в них f0,f1,f2,...,fn , критерий близости аппроксимируемой f(x) и аппроксимирующей (x) функций и общий вид функции (x).
Ньютон предложил следующий вид интерполяционного полинома:
Pn(x)=A0+A1(x-x0)+A2(x-x0)(x-x1)+...+An(x-x0)(x-x1)...(x-xn-1)
Коэффициенты этого полинома A0, A1, A2,...,An определяются из условий Лагранжа, которые в данном случае имеют вид
Pn(xi) = fi, i=0, 1, 2, …,n.
Подставим последовательно в запись полинома Pn(x) значения узловых точек:
Pn(x0) = А0 = [с учетом условий Лагранжа] = f0, т.е. А0 = f0;
Pn(x1) = A0+A1(x1-x0) = f1, откуда A1 = или A1 = f01;
Pn(x2) = A0+A1(x2-x0)+A2(x2-x0)(x2-x1) = f2, откуда A2 = = f012;
Pn(x3) = A0+A1(x3-x0)+A2(x3-x0)(x3-x1)+ A3(x3-x0)(x3-x1) (x3-x2) = f3,
откуда ;
и так далее вплоть до .
В этих формулах введены обозначения:
f0i= - разделенная разность I порядка (это дискретный аналог первой производной: отношение приращения функции к приращению аргумента),
f0ik= - разделенная разность II порядка (это дискретный аналог второй производной),
- разделенная разность III порядка (это дискретный аналог третьей производной) и т.д.
Полученные формулы для наглядности лучше свести в таблицу:
Разделенные разности | |||||||||
x | f | I | II | III | IV | ||||
x0 | f0 | =A0 | |||||||
x1 | f1 | f01= | =A1 | ||||||
x2 | f2 | f02= | f012= | =A2 | |||||
x3 | f3 | f03= | f013= | f0123= | =A3 | ||||
x4 | f4 | f04= | f014= | f0124= | f01234= | =A4 | |||
Коэффициентами полинома Ньютона являются диагональные элементы этой таблицы.
Задание
Изучить теоретический материал: постановка задачи, полиномиальные методы аппроксимации: интерполяция каноническим полиномом, интерполяционный полином Лагранжа. интерполяционный полином Ньютона.
Даны узловые точки x0, x1, x2, x3, x4 и соответствующие им известные значения аппроксимируемой функции f(x): f0, f1, f2, f3, f4 – выбираются из таблицы в соответствии с номером варианта. Требуется :
1) построить интерполяционный полином Ньютона четвертого порядка P4(x).
2) построить графики P4(x) и f(x) на заданном промежутке с разбиением его на 20 частей (в данном задании функция f(x) известна и указана в таблицах вариантов);
Для защиты контрольной работы представить на компьютере EXCEL-файл решения задачи и рукописный отчет. В отчете по задаче 2 представить:
- полную запись найденного полинома Ньютона;
- краткий анализ графиков P4(x) и f(x) на предмет качества аппроксимации;
- ответы на контрольные вопросы.
Пример решения задачи
Пусть даны следующие узловые точки x0=3,50; x1=4,50; x2=6,00; x3=7,00; x4=8,50 и соответствующие им значения аппроксимируемой функции: f0=-1,228; f1=-4,399; f2=1,676; f3=4,599; f4=6,787.
Для наглядности и оценки качества интерполяции значения аппроксимируемой функции были рассчитаны по формуле f(x) = x sinx.
Табулирование полинома Ньютона P4(x) и аппроксимируемой функции f(x) для построения графика требуется выполнить на промежутке [1, 11].
Создадим электронную таблицу для расчета коэффициентов полинома P4(x):
А1’Аппроксимация зависимости полиномом Ньютона
Заголовок таблицы:
A2’x B2’f,A0 C2’I,A1 D2’II,A2 E2’III,A3 F2’IV,A4
В клетки А3,…,А7 и В3,…,В7 внесем из таблицы индивидуальных заданий значения узловых точек и значения аппроксимируемой функции в них.
Вычислим разделенные разности:
С4=($B$3-B4)/($A$3-A4) ; копируем С4 в С5:С7
D5=($C$4-C5)/($A$4-A5) ; копируем D5 в D6:D7
E6=($D$5-D6)/($A$5-A6) ; копируем E6 в E7
F7=(E6-E7)/(A6-A7)
В результате в клетках B3, C4, D5, E6, F7 сформированы коэффициенты полинома Ньютона соответственно А0, А1, А2, А3, А4.
Внесем в электронную таблицу исходные данные для табулирования P4(x) и f(x):
A8’Табулирование P4(x), f(x):
А9’Xн= B91 C9’Xк= D911 E9’h= F9=(D9-B9)/20
A10’X B10’P4(x) C10’f(x)
Столбец значений х:
A11=B9 A12=A11+$F$9 ; копируем A12 в A13:A29
Столбец значений P4(x):
B11=$B$3+$C$4*(A11-$A$3)+$D$5*(A11-$A$3)*(A11-$A$4)+$E$6*(A11-$A$3) *(A11-$A$4)*(A11-$A$5)+$F$7*(A11-$A$3)*(A11-$A$4)*(A11-$A$5)
*(A11-$A$6) ; копируем B11 в В12:В29
Столбец значений f(x):
С11=A11*SIN(A11) ; копируем C11 в C12:C29
Полученная в результате описанных действий электронная таблица:
A | B | C | D | E | F | ||||
Аппроксимация зависимости полиномом Ньютона | |||||||||
x | f, A0 | I, A1 | II, A2 | III, A3 | IV, A4 | ||||
3,50 | -1,228 | ||||||||
4,50 | -4,399 | -3,17100 | |||||||
6,00 | -1,676 | -0,17920 | 1,99453 | ||||||
7,00 | 4,599 | 1,66486 | 1,93434 | -0,06019 | |||||
8,50 | 6,787 | 1,60300 | 1,19350 | -0,32041 | -0,17348 | ||||
Табулирование P4(x), f(x): | |||||||||
Хн= | Хк= | h= | 0,5 | ||||||
x | P4(x) | f(x) | |||||||
1,0 | -18,75400 | 0,84147 | |||||||
1,5 | -7,05572 | 1,49624 | |||||||
2,0 | -1,10029 | 1,81859 | |||||||
2,5 | 0,88872 | 1,49618 | |||||||
3,0 | 0,42749 | 0,42336 | |||||||
3,5 | -1,228 | -1,22774 | |||||||
4,0 | -3,08201 | -3,02721 | |||||||
4,5 | -4,399 | -4,39889 | |||||||
5,0 | -4,70368 | -4,79462 | |||||||
5,5 | -3,78097 | -3,88047 | |||||||
6,0 | -1,676 | -1,67649 | |||||||
6,5 | 1,30585 | 1,39828 | |||||||
7,0 | 4,599 | 4,59891 | |||||||
7,5 | 7,37763 | 7,03500 | |||||||
8,0 | 8,55572 | 7,91487 | |||||||
8,5 | 6,787 | 6,78714 | |||||||
9,0 | 0,46499 | 3,70907 | |||||||
9,5 | -12,27700 | -0,71394 | |||||||
10,0 | -33,56591 | -5,44021 |
Проведем ее краткий анализ.
1) вычисленные значения полинома P4(x) в узловых точках совпадают с заданными значениями аппроксимируемой функции f(x) в этих точках, т.е. для полинома выполняются условия Лагранжа и, следовательно, коэффициенты полинома определены правильно.
2) На промежутке аппроксимации, т.е. на промежутке [x0, x4] график полинома P4(x) проходит достаточно близко от графика f(x). Это значит, что найденный полином можно с успехом использовать вместо аппроксимируемой функции в целях интерполяции. С другой стороны, за пределами промежутка аппроксимации, т.е. при x<x0 или при x>x4 отклонение P4(x) от f(x) становится тем больше, чем дальше значение х расположено от границ промежутка [x0, x4]. Это значит, что полином Ньютона использовать для целей экстраполяции не рекомендуется.
Результат решения задачи:
1) По заданным значениям узловых точек и значения аппроксимируемой функции в них построен интерполяционный полином Ньютона
P4(x)= -1,228-3,171(x-3,5)+1,995(x-3,5)(x-4,5)-0,060(x-3,5)(x-4,5)(x-6)-0,173(x-3,5)(x-4,5)(x-6)(x-7)
2) Табулирование найденного полинома на заданном промежутке показало выполнение для него условий Лагранжа, что доказывает правильность выполненных вычислений. Показано, что данный полином обеспечивает достаточно высокую точность интерполяции, но не может применяться для экстраполяции на больших расстояниях от промежутка аппроксимации.
Таблица индивидуальных заданий
№ вар. | Узловые точки | Расчетные значения f(x) | [xn, xk] | f(x) | ||||||||
x0 | x1 | x2 | x3 | x4 | f0 | f1 | f2 | f3 | f4 | |||
-0,95 | 0,45 | 1,15 | 2,90 | 3,95 | -0,59 | 0,56 | 2,04 | 12,36 | 28,47 | [-2; 5] | ||
-1,30 | 0,05 | 0,95 | 1,85 | 3,20 | 1,04 | 2,05 | 2,81 | 2,96 | 1,94 | [-4; 5] | ||
-0,70 | -0,10 | 0,70 | 1,50 | 1,90 | -0,36 | -0,05 | 0,36 | 0,93 | 1,40 | [-1,5; 2,5] | ||
2,30 | 4,30 | 6,30 | 7,30 | 8,80 | 0,32 | -0,21 | 0,12 | 0,07 | [0,3; 10,3] | |||
1,40 | 1,80 | 2,20 | 2,40 | 2,70 | -0,59 | 0,69 | 1,78 | 1,38 | 0,15 | [1; 3] | ||
2,20 | 2,80 | 3,40 | 3,70 | 4,15 | -1,34 | -1,09 | -1,27 | -1,54 | -2,67 | [1,6; 4,6] | ||
2,10 | 4,10 | 5,70 | 7,30 | 8,10 | 1,89 | 1,74 | 1,53 | 1,36 | 1,29 | [1,3; 9,3] | ||
1,80 | 2,70 | 3,60 | 4,50 | 6,30 | 0,37 | -0,24 | -0,67 | -0,59 | 0,51 | [1,2; 7,2] | ||
2,50 | 4,00 | 6,50 | 7,50 | 9,00 | -0,34 | -0,09 | 0,27 | 0,43 | 0,70 | [1; 11] | ||
1,15 | 1,30 | 1,50 | 1,75 | 1,85 | 2,28 | 4,09 | 5,13 | 4,78 | 6,02 | [1; 2] | ||
5,20 | 7,20 | 8,40 | 10,00 | 11,20 | -6,97 | -5,61 | -6,69 | -11,08 | -13,16 | [4; 12] | ||
4,10 | 4,30 | 4,70 | 4,90 | 5,10 | 0,81 | 1,12 | 0,53 | 0,1 | 0,04 | [3,5; 5,5] | ||
0,75 | 1,50 | 2,50 | 4,00 | 4,50 | 2,71 | 1,15 | 0,38 | 2,69 | 1,51 | [0; 5] | ||
2,50 | 3,25 | 4,50 | 5,00 | 6,00 | 1,93 | 2,00 | 1,68 | 1,39 | 0,41 | [2; 7] | ||
3,20 | 4,80 | 6,00 | 7,60 | 8,80 | 1,34 | 0,91 | 0,54 | 0,22 | 0,1 | [2,4; 10,4] | ||
2,35 | 4,15 | 5,05 | 6,85 | 8,20 | 0,89 | 0,74 | 0,63 | 1,42 | 2,01 | [6; 10] | ||
1,60 | 1,80 | 2,00 | 2,15 | 2,35 | -0,03 | -0,09 | -0,11 | -0,11 | -0,10 | [1,5; 2,5 ] | ||
-0,55 | -0,25 | 0,20 | 0,80 | 1,40 | 0,47 | 1,10 | -1,22 | 1,10 | -2,31 | [-1;2] | ||
2,60 | 3,50 | 4,40 | 5,00 | 7,10 | 3,14 | 3,06 | 3,69 | 4,28 | 4,68 | [2; 8] | ||
№ вар. | Узловые точки | Расчетные значения f(x) | [xn, xk] | f(x) | ||||||||
x0 | x1 | x2 | x3 | x4 | f0 | f1 | f2 | f3 | f4 | |||
1,30 | 1,70 | 1,90 | 2,30 | 2,60 | 0,28 | -0,13 | -0,34 | -0,89 | -1,66 | [1; 3] | ||
3,20 | 4,80 | 5,60 | 7,20 | 8,40 | -0,05 | -0,64 | -0,37 | 0,40 | 0,40 | [2; 10] | ||
0,40 | 0,80 | 1,00 | 1,40 | 1,70 | 0,93 | 1,17 | 1,08 | 0,68 | 0,27 | [0,1; 2,1] | ||
5,20 | 6,80 | 7,60 | 9,20 | 10,40 | 2,00 | 0,02 | -1,27 | 0,33 | 3,85 | [4; 12] | ||
2,08 | 2,50 | 3,20 | 3,48 | 4,04 | 10,11 | 10,75 | 12,74 | 13,57 | 14,90 | [1,8; 4,6] | ||
0,35 | 0,55 | 0,65 | 0,90 | 1,05 | 17,32 | 7,59 | 5,69 | 3,31 | 2,51 | [0,2; 1,2] | ||
-0,25 | 0,75 | 1,25 | 2,50 | 3,25 | 0,94 | 0,64 | 0,39 | 0,14 | 0,09 | [-1; 4] | ||
2,30 | 3,50 | 4,10 | 5,60 | 6,50 | 1,89 | 2,70 | 3,59 | 8,62 | 15,74 | [1,4; 7,4] | ||
1,15 | 1,35 | 1,45 | 1,70 | 1,85 | 0,20 | -1,34 | -1,22 | 0,95 | 1,83 | [1; 2] | ||
1,60 | 2,40 | 2,80 | 3,80 | 4,40 | 0,62 | 0,32 | 0,17 | 0,19 | 0,22 | [1; 5] | ||
1,30 | 1,70 | 1,90 | 2,40 | 2,70 | 0,87 | -0,72 | -1,34 | 0,37 | 1,38 | [1; 3] | ||
2,20 | 3,40 | 4,00 | 5,50 | 6,40 | -0,06 | -0,04 | -0,03 | -0,02 | -0,01 | [1,2; 7,2] | ||
0,70 | 1,50 | 1,90 | 2,90 | 3,50 | 9,28 | 7,75 | 7,55 | 7,41 | 7,40 | [0,1; 4,1] | ||
0,25 | 0,75 | 1,25 | 1,75 | 2,25 | 0,16 | 0,24 | 0,20 | 0,13 | 0,07 | [0; 2,5] | ||
6,50 | 8,50 | 9,50 | 12,00 | 13,50 | 1,53 | 5,37 | 6,48 | 3,55 | 4,48 | [5; 10] |
2.5. Контрольные вопросы
1. Что понимается под термином аппроксимация?
2. Сформулируйте задачу интерполяции и экстраполяции.
3. Сформулируйте условия Лагранжа при интерполяции.
4. Для аппроксимации функции f(x) на участке [a,b] был выбран интерполяционный полином Ньютона. После построения интерполяционного полинома Ньютона были найдены значения функции в точке a<x1<b и x2>b. В каком случае ожидаемая точность полученного значения выше и почему?
5. Перечислите известные вам способы построения интерполяционного полинома.
ЗАДАЧА 3. Аппроксимация зависимостей