Читайте также:
|
|
Численное дифференцирование и интегрирование – вычисление производных и интегралов по приближенным разностным формулам. Если функция задана в виде таблицы или имеет очень сложный вид и алгоритм расчета, то ее можно дифференцировать или интегрировать только численным способом. Аппроксимация-замена одной функции на другую, удовлетворяющую условию близости. Для численного дифференцирования и интегрирования существует ряд формул численного приближенного вычисления. Для получения таких формул можно использовать два варианта построения или вывода:
1. Использование разложения в ряд Тейлора.
2. Дифференцирование интерполяционных полиномов или аппроксимационных функций.
Рассмотрим 2 формулы разложения в ряд Тейлора:
F(xi+h) = F(xi) + F’(xi)*h + F’’(xi)*h2/2 + F’’’(xi)*h3/6+ F(4)(xi)*h3/24+…
F(xi - h) = F(xi) - F’(xi)*h + F’’(xi)*h2/2 - F’’’(xi)*h3/6+ F(4)(xi)*h3/24 -…
Многоточием в формуле обозначается все последующие (до бесконечности) элементы ряда. Существуют специальные оценки этого остатка. В частности в матанализе доказывается, что остаток формулы Тейлора всегда можно представить как O(hn). Это значит, что в формуле оставлена максимальная степень n-1.
Замечание. Выражение O(hn) является асимптотической оценкой роста или уменьшения некой величины, которая зависит от h. Практически можно считать, что это произведение неизвестной константы и hn => O(hn)=const* hn. Смысл такого выражения в том, что при стремлении h к бесконечности величина будет изменяться со скоростью пропорциональной hn. Таким образом, асимптотические оценки позволяют сравнивать скорости роста или уменьшения различных формул.
Теперь наши формулы будут иметь вид:
F(xi+h) = F(xi) + F’(xi)*h + F’’(xi)*h2/2 + F’’’(xi)*h3/6+ F(4)(xi)*h3/24+ O(h4) (А)
F(xi - h) = F(xi) - F’(xi)*h + F’’(xi)*h2/2 - F’’’(xi)*h3/6+ F(4)(xi)*h3/24 + O(h4) (В)
O(hn) является так же оценкой погрешности для формулы.
Говорят, что формула имеет порядок погрешность n, если последний элемент в формуле O(hn). В нашем случае мы ограничились 4 порядком погрешности.
Теперь, используя эти разложения, построим формулы для разностных производных. Если в формуле (А) оставить только 2-ю степень в разложении и выразить из этой формулы производную, то мы получим:
F(xi+h) = F(xi) + F’(xi)*h + O(h2) => F’(xi)= (F(xi+h) - F(xi))/h + O(h1)
Это выражение определяет формулу правой разностной производной , имеющей 1-й порядок точности. Аналогично из формулы (В) получим левую разностную производную , имеющую так же 1-й порядок точности.
Среднее между этими производными – центральная разностная производная, имеет 2-й порядок точности и формулу (это легко доказать, если вычесть из (А) (В) и разделить разность на 2h).
Для получения формулы 2-й производной нужно сложить (А) и (В) и разделить на h2. Получим формулу второй разностной производной , которая имеет 2-й порядок точности.
Замечание. Использование формул с более высоким порядком точности более выгодно. Это можно пояснить простым примером. Пусть есть 3 формулы, имеющие 1,2,3 порядки точности соответственно. Уменьшим шаг h в 10 раз. Тогда погрешность 1-й формулы уменьшится в 10 раз, 2-й в 100 раз, а 3-й в 1000 раз. Таким образом, достичь заданной погрешности легче при использовании 3-й формулы.
Получить формулы численного дифференцирования можно и другим способом. Если записать формулу для полинома Лагранжа и продифференцировать ее, то можно получить различные формулы разностных производных.
При этом существует некоторое правило (которое обычно верно, но в некоторых случаях не соблюдается) – порядок погрешности при дифференцировании интерполяционного полинома уменьшается на 1. Как известно, формула оценки погрешности полинома Лагранжа, пропорциональна полиному . Если считать, что (x-xk) = h, то оценка погрешности интерполирования является O(hn+1). Таким образом, порядок точности интерполяционного полинома на 1 больше его порядка. После дифференцирования порядок точности уменьшится на 1 => для получения формулы аналогичной правой разностной нужно дифференцировать полином 1-го порядка, для центральной разностной полином 2-го порядка, а для 2-й разностной уже полином 3-го порядка (так как формула дифференцируется дважды).
Дата добавления: 2015-07-11; просмотров: 696 | Нарушение авторских прав