- •1.1. Основные этапы решения задач с помощью эвм
- •1.2. Погрешности результатов численного решения задач
- •1.3. Основные требования к алгоритмам и программному обеспечению
- •2.1. Метод дихотомии (деления отрезка пополам)
- •2.2. Метод хорд
- •2.3. Метод простой итерации
- •2.4. Метод Ньютона
- •2.5. Модификации метода Ньютона
- •3.1. Основные понятия вычислительной линейной алгебры
- •3.2. Некоторые точные методы решения слау
- •3.3. Итерационные методы решения слау
- •3.4. Вычисление собственных значений матрицы
- •4.1. Постановка задачи интерполяции
- •4.2. Полиномиальная интерполяция. Формула Лагранжа
- •4.3. Разделенные разности и интерполяционная формула Ньютона
- •4.4. Кусочно-полиномиальная интерполяция
- •4.4. Программы решения задач интерполяции с помощью Matlab
- •5.1. Численное дифференцирование
- •5.2. Погрешности методов численного дифференцирования
- •5.3. Численное интегрирование. Простейшие методы
- •5.4. Метод Ньютона-Котеса и его модификация
- •5.5. Методы Монте-Карло
- •6.1. Решение пере- и недоопределенных слау
- •6.2. Примеры решение переопределенной слау методом наименьших квадратов Пусть
- •6.3. Метод наименьших квадратов для регрессионного анализа
- •Задание к главе 6
- •7.1. Методы решения задачи Коши
- •7.2. Методы Рунге-Кутта решения задачи Коши
- •7.3. Решение краевой задачи для оду
- •Задания к главе 7
- •8.1. Решения дифференциальных уравнений первого порядка
- •8.2. Решения дифференциальных уравнений параболического типа
- •8.3. Решение дифференциальных уравнений эллиптического типа
- •8.4. Решение дифференциальных уравнений гиперболического типа
5.1. Численное дифференцирование
Простейшие формулы численного дифференцирования основаны на определении производной функции (рассматривается случай функции, зависящей от одной переменной)
. (5.1)
Заменяя предельный переход конечной разностью, получаем простейшие приближенные формулы вычисления первой производной
(5.2)
и
. (5.3)
Здесь принимают фиксированные значения и , соответственно, где представляет собой некоторый малый параметр. Приближенную производную, определяемую формулой (5.2), называют правой разностной производной, а определяемую (5.3) – левой.
Геометрическая интерпретация приведенных соотношений достаточно проста. Если существует некоторая функция , то производная этой функции представляет собой тангенс угла наклона касательной в точке . Приближенное равенство (5.2) заменяет касательную на секущую графика функции, проходящую через точки и , а равенство (5.3) – на секущую, проходящую через и . Так же из геометрических соображений ясно, что можно провести секущую графика функции и через точки и . В этом случае получаем, так называемую, центральную разностную формулу вычисления производной
. (5.4)
Вопрос о том, какую из формул (5.2), (5.3) или (5.4) выбрать для вычислений, определяется требуемой точностью вычисления производной.
Для получения формул численного дифференцирования высших порядков используются интерполяционные многочлены или метод неопределенных коэффициентов. Наиболее универсальным является метод неопределенных коэффициентов. Аппроксимируем исследуемую функцию многочленом -ой степени
. (5.5)
В методе неопределенных коэффициентов принимается, что -я производная функции в точке может быть приближенно выражена через значения самой функции в известных точках ,...,
. (5.6)
Значения коэффициентов выбираются таким образом, чтобы формула (5.6) была точна для многочленов максимально высокой степени. Подставляя выражение (5.5) в (5.6), получаем тождество (при )
. (5.7)
Учтем, что
, (5.8)
тогда для того, чтобы равенство (5.8) выполнялось необходимо и достаточно равенство коэффициентов при в правой и левой частях равенства. Исходя из этого условия, получаем линейную систему уравнений
(5.9)
относительно неизвестных при . Если , то число уравнений равно числу неизвестных, а определитель системы является определителем Вронского, поэтому отличен от нуля. Следовательно, всегда можно построить формулу численного дифференцирования по точкам, точную для многочленов -ой степени.
Для проверки выражения (5.9) построим формулу численного дифференцирования по трем точкам
(5.10)
точную для многочленов второй степени ( следовательно ). Система уравнений (5.9) будет иметь вид ()
(5.11)
Решая эту систему, получаем , . Следовательно, формула (5.21) будет иметь вид
, (5.12)
что полностью совпадает с формулой (5.4)
Построим формулу вычисления второй производной, используя те же узлы
. (5.13)
Из условий точности формулы для , и получаем систему уравнений
(5.14)
Откуда получаем , . Следовательно
, (5.15)
В качестве примера рассмотрим вычисление производной функции на отрезке [-5,5]. Функция вычисляется на заданном отрезке с шагом 0,1, затем, используя правую разностную производную, вычисляется ее производная по точкам и сравнивается на графике с аналитическим значением .
Программа 5.1
x=–5:0.1:5;
f=(exp(x)+exp(–x))/2;
df=(exp(x)–exp(–x))/2;
for i=1:100,
dff(i)=(f(i+1)–f(i))/(x(i+1)–x(i));
end;
y=x;
y(101)=[];
plot(x,df,y,dff)
end.