2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Общая формула для n-й производной
Сообщение27.12.2010, 02:52 
Аватара пользователя
Хочется поделиться с вами небольшим достижением. Я, вообще говоря, не математик. И как работают с математическими доказательствами, плохо себе представляю. Но недавно мне пришлось стать математиком. Дело в том, что я работаю программистом в одной лаборатории и там нужно реализовывать различные математические алгоритмы. Мне дали задание взять 4-ю производную от функции. Как это делать, я не знал. Поэтому решил начать работу от определения.

Итак, в математическом анализе производная функции f(x) в точке x0 определяется в виде:
$$f'(x_0) =\lim_{{\Delta x} \to {\infty}}\frac{{f(x_0 + \Delta x) - f(x_0)}}{{\Delta x}}$$
Теперь посмотрим, что представляет из себя 2-я и 3-я производная. Чтобы получить вторую производную, я принимаю, что F2(x) = f'(x). Произвожу операции над F2(x) по первой формуле и получаю:
$$f''(x_0) =\lim_{{\Delta x} \to {\infty}}\frac{{f(x_0 + 2\Delta x) - 2 f(x_0 + \Delta x) + f(x_0)}}{{(\Delta x)^2}}$$
Для 3-й производной:
$$f'''(x_0) =\lim_{{\Delta x} \to {\infty}}\frac{{f(x_0 + 3\Delta x)-3f(x_0 + 2\Delta x) + 3 f(x_0 + \Delta x) - f(x_0)}}{{(\Delta x)^2}}$$
Я думаю, далее не стоит продолжать и можно обобщить формулу:
$$f^n(x_0) = \lim_{\Delta x \to \infty}\sum_{k=0}^{n}(-1)^{n+k}{n \choose k}\frac{f(x_0+k\Delta x)}{(\Delta x)^n}$$
Не знаю, а сколько эта фармула полезна в матане. Но вот для программы она очень хороша:

Имеются значения аргументов функции $\{x_0, x_1, x_2, ..., x_m\} = \{x_0, x_0 + T, x_0 + 2T, ..., x_0 + mT\}$, где $T = x_1 - x_0$ и значения функции$ \{y_0, y_1, y_2, ..., y_m\}$. Чтобы получить массив n-й производной, используем обобщенныую формулу, полученную выше. Только сделаем замену $\Delta x = T$ и $f(x_0+k\Delta x) = y_{0+k}$. Получаем
$$f^n(x_i) = \sum_{k=0}^{n}(-1)^{n+k}{n \choose k}\frac{y_{i+k}}{T^n}, \mbox{где i} = 0, 1, ..., m-n$$
Руками проверил формулу. Вот что получается для значений $\{x_0, x_1, x_2\}$ и $\{y_0, y_1, y_2\}$

Первая производная для точек x0, x1:
$$\left\{\frac{y_1-y_0}{T}, \frac{y_2-y_1}{T}\right\}$$
Вторая производная для точки x0:
$$\left\{\frac{y_2-2y_1+y_0}{T^2}\right\}$$
Зачем я все это писал. Во-первых, для того, чтобы найти ошибку в том, что я делал. Во-вторых, если формула правильная, мне бы хотелось узнать, есть ли где-то упоминание о ней. Вне сомнения она важна. Я так же уверен, что ее раньше получали, но до сего момента она мне не попадалась. Очень странно. В-третьих, это вам жвачка для мозгов и для расширепния знаний.

 
 
 
 Re: Общая формула для n-й производной
Сообщение27.12.2010, 03:00 
Аватара пользователя
Есть понятия "конечные разности", "разностная схема", которые используются при численном решении дифференциальных уравнений. Кроме выведенных Вами есть и другие схемы аппроксимации производных, позволяющие увеличить точность расчётов. Например, $\dfrac {y_2-y_0}{2T}$ для приближения первой производной в $x_1$.

 
 
 
 Re: Общая формула для n-й производной
Сообщение27.12.2010, 03:09 
Аватара пользователя
gris
Ваш ответ расцениваю как правильность выводов. Это уже хорошо.

Да, про разностные схемы знаю. Но тут есть причина, по которой я взялся за вывод обобщенной формулы. Я не нашел 4-ю разностную производную. Вполне возможно плохо искал и угробил время. Но, во-первых, это было очень инетесно, во-вторых, многое прояснило в моей голове. Так что польза большая.

Кстати. При увеличении точности увеличивается количество точек, которые нужно использовать для получения производной. Это значит, что увеличивая точность расчетов, мы уменьшаем количество значений n-й производной и уменьшаем количество производных, которые мы можем получить. Что не есть хорошо.

 
 
 
 Re: Общая формула для n-й производной
Сообщение27.12.2010, 03:24 
Аватара пользователя
Всегда полезно открыть что-то даже известное самому. Я некогда читал книгу "Повышение точности решения разностных схем"и тоже программировал решение разных дифференциальных уравнений, и сразу вспомнил былое, прочитав Ваше сообщение :-) .

 
 
 
 Re: Общая формула для n-й производной
Сообщение27.12.2010, 08:02 
Аватара пользователя
На всякий случай, думаю, стоит напомнить топикстартеру, что задача численного дифференцирования некорректно поставлена. Пользоваться, например, приведёнными Вами формулами можно, но надо иметь ввиду, что при «ухудшении» точности значений $x_i$, $y_i$ точность вычисления производных «ухудшается» гораздо быстрее. Условно говоря, если $x_i$, $y_i$ вычислены с точностью до 10 знаков после запятой, $y^{(4)}(x_0)$ получится с двумя-тремя точными знаками. Цифры я сейчас взял с потолка, конкретные формулы для точности можете найти в справочниках, или ради интереса сами вывести, там ничего сложного нет.

 
 
 
 Re: Общая формула для n-й производной
Сообщение27.12.2010, 12:00 
Cobert
Вообще если есть интерес в этой теме, посмотрите про формулу Тейлора - насколько я помню, именно она используется для выведения конечно-разностных схем, а также точности их оценок. Если будете смотреть - обратите внимание на формулу Тейлора с остаточным членом в виде Лагранжа.

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group