
Лаборатоные 2 семестр (паскаль) / 2 семестр / Задание №3 Численное дифференцирование
.docЗадание №3
ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ
Цель работы — изучение методов численного дифференцирования, вычисление первой и второй производных заданной функции с использованием интерполяционного многочлена Ньютона.
ПОСТАНОВКА ЗАДАЧИ
Одной из распространенных задач вычислительной математики, имеющей разнообразные приложения, является численное дифференцирование. Пусть задана сеточная функция
(5.1)
о
(5.2)
где Rm(х) — остаточный член (погрешность) интерполяционного многочлена Рт(х). Дифференцируя равенство (5.2), находим
(5.3)
П
(5.4)
производную
многочлена:
Тогда остаточный член (погрешность) производной Qm,k(x) равняется производной остаточного члена (погрешности) интерполяционного многочлена:
Производные (5.4) называются конечно-разностными. На практике наиболее часто используются равномерные сетки, т.е. сетки с равноотстоящими узлами. На таких сетках полученные указанным методом первая и вторая конечно-разностные производные в узлах хj, с погрешностью О(h2) относительно шага сетки h даются формулами:
В граничных узлах с номерами j = 0 и j=n приходится вычислять так называемые односторонние производные, выбирая узлы интерполирования только с одной стороны от граничного узла. На равномерной сетке формулы второго порядка для первой и второй производных имеют вид:
Как видно из формул, в односторонних производных для достижения той же точности требуется больше узлов.
Для выполнения лабораторной работы предварительно составляется таблица значений (5.1) одной из заданных ниже функций у(х) в равноотстоящих узлах
на отрезке 0 ≤ x ≤ 1. Значения п выбираются в диапазоне n = 20 -100.
Затем
вычисляются точные у'j,
у"j(аналитически)
и
приближенные
и
значения первой и второй производных,
полученные
по приведенным
выше
формулам.
Во всех узлах находятся максимальные
и среднеквадратичные
значения погрешности численного дифференцирования, а также номера узлов jk,max ,в которых достигаются значения εk,max (k=1,2).
ВАРИАНТЫ ФУНКЦИЙ y(x)
ПРОГРАММИРОВАНИЕ
Блок-схема программы численного дифференцирования представлена на Рис.5.1. Для хранения значений сеточной функции, точных и приближенных значений производных, а также их погрешностей следует отвести массивы длиной не менее n + l. Поскольку в данной работе n <100, достаточно описать массивы, каждый их которых имеет 101 элемент. Функцию у(х), а также ее аналитические и конечно-разностные производные удобно описать в виде подпрограмм-функций. В цикле 3-4-5 вычисляются узлы и значения функции в них, а в цикле 6-7-8 аналитические и численные значения производных и погрешности.
Правильность программы можно проверить, задавая, например, тестовую функцию
у = х2/2,
для которой должны получаться точные значения
Рабочие варианты рекомендуется рассчитать для нескольких значений n, наблюдая за уменьшением погрешности с ростом п. На экран достаточно вывести результаты вычислений для какого-либо одного значения п.
СОДЕРЖАНИЕ ОТЧЁТА
Отчет должен содержать:
-
функцию у(х) и расчетные формулы для конкретного варианта;
-
текст программы;
-
результаты вычислений и графики функций:
у'j,
,
,
у "j,
,
(j
=
0,
1,...,
п),
причем точные и приближённые значения соответствующих производных должны быть изображены разными цветами в одном окне.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Как ставится задача численного дифференцирования?
2. Как строятся формулы численного дифференцирования, какова их погрешность?
3. Оцените погрешность используемых вами формул.
-
Как понижается порядок погрешности численного дифференцирования с ростом порядка производной при том же числе узлов?
-
Как можно построить формулы численного дифференцирования повышенной точности?
-
В чем проявляется некорректность постановки задачи численного дифференцирования?