Численное дифференцирование
Краткая теория:
Пусть имеется функция f(x) которую необходимо продифференцировать и найти эту производную в некоторой точке. Простейшая идея численного дифференцирования состоит в аппроксимации (приближении) производной с помощью отношения конечных разностей.
Пусть функция f(x) задана таблично: y=f(x)= y0, y1, y2, …, yn в точках x0 , x1, x2, …xn.
Вычисление производных:
с помощью левых разностей;
с помощью правых разностей;
с помощью центральных разностей;
Величина
называется второй разностной производной.
Решение задачи:
Найти первую производную функции, заданной таблично (см.п.3) в точке х=4 методом центральных разностей. Оценить погрешность.
Решение:
Расчет производной по исходным данным (см. Таблица 1):
а)
Уменьшив шаг h и получив промежуточные значения с помощью интерполяционного многочлена Лагранжа (см. Таблица 2), можно получить значение производной:
б)
С аналогичным шагом h=0,2 можно получить значения функции, заданной таблично, с помощью аппроксимации методом наименьших квадратов (см. Таблица 3), и затем получить значение производной:
в)
Такой большой разброс значений производных можно объяснить большим шагом для вычисления разности.
Если из условия задачи следует, что за реальное поведение системы можно принять поведение системы, описываемое с помощью аппроксимирующей функции (см. п.4), а отклонение от заданных начальных значений (см. Таблица 1 и Рисунок 2) объясняется, например, погрешностью измерения, то реальное значение производной функции можно рассчитать как производную аппроксимирующей функции в заданной точке:
’(x) = (1,25-6*sin(x)-0,63*x)’ = -6*cos(x)-0,63
’(4) = -6*cos(4)-0,63=3,29
Но данный способ не приемлем в случае, если вид аппроксимирующей функции сложен и аналитически найти вид производной не представляется возможным, поэтому и требуются вычисления, произведенные выше.
Вычисление погрешности:
а)
б)
в)
Но если из условия задачи следует, что за реальное поведение системы следует принять поведение системы, описываемое с помощью интерполяционного многочлена (см. п.3), то и реальное значение производной функции можно рассчитать как производную интерполирующей функции. Тогда соответствующее значение производной (б) будет более точным.
Численное интегрирование
Краткая теория:
Наиболее распространенным подходом к численному вычислению интеграла является разбиение отрезка [a, b] на n равных частей а = х0 < х1< . . . < хn = b c шагом h, интерполирование функции y =f(x) на отрезке [a,b] и замена интеграла интегральной суммой:
,
где ai числовые коэффициенты.
В простейших случаях в качестве интерполяционного многочлена φ(x) берут ступенчатую, кусочно-линейную или кусочно-параболическую функции и др.
Для вычисления значения интегралов используют формулы:
формула прямоугольников:
- по левым точкам
- по правым точкам
- по средним точкам
формула трапеций:
формула Симпсона (n - четное число):
Решение задачи:
Найти интеграл функции, полученной в п.3, на отрезке [0,8] методом трапеций. Оценить погрешность.
Решение:
а) По условию задачи:
-
хi
y
0
0
2
-4.4
4
4.6
6
-1.7
8
-10
Тогда по методу трапеций можно получить значение интеграла:
б) Метод трапеций по интерполяционному многочлену Лагранжа:
в)
Метод трапеций по аппроксимации методом
наименьших квадратов:
Аналогично п.5, если из условия задачи следует, что за реальное поведение системы можно принять поведение системы, описываемое с помощью аппроксимирующей функции (см. п.4), то реальное значение интеграла функции на данном отрезке можно рассчитать как интеграл аппроксимирующей функции на данном отрезке:
Вычисление погрешности:
а)
б)
в)
