Производная как разностное отношение
Производная — это мгновенная скорость изменения функции, предел отношения приращений.
Производная функции в точке: $f'(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$.
Производная — центральное понятие анализа и, пожалуй, самое полезное. Она отвечает на вопрос «насколько быстро меняется величина прямо сейчас». Скорость автомобиля — это производная пути по времени. Темп инфляции — производная цен. Крутизна склона — производная высоты по расстоянию. Везде, где есть изменение, есть и производная.
От среднего к мгновенному
Начнём со знакомого — средней скорости. Если за время $h$ положение изменилось с $f(x)$ на $f(x+h)$, средняя скорость равна $\frac{f(x+h)-f(x)}{h}$. Это разностное отношение: приращение функции, делённое на приращение аргумента. Но средняя скорость за час ничего не говорит о скорости в конкретный миг. Чтобы получить мгновенную, надо взять интервал $h$ всё меньше и меньше — устремить его к нулю:
$$f'(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$
Численная проверка
Возьмём $f(x)=x^2$. Теория даёт $f'(x)=2x$, значит в точке $x=3$ производная равна $6$. Проверим, уменьшая шаг $h$.
def f(x):
return x * x
x = 3.0
for h in [1, 0.1, 0.01, 0.001, 0.0001]:
deriv = (f(x + h) - f(x)) / h
print(f"h={h:<8} приближение f'(3) = {deriv:.6f}")
print("Точное значение 2*3 =", 2 * x)Вывод:
h=1 приближение f'(3) = 7.000000 h=0.1 приближение f'(3) = 6.100000 h=0.01 приближение f'(3) = 6.010000 h=0.001 приближение f'(3) = 6.001000 h=0.0001 приближение f'(3) = 6.000100 Точное значение 2*3 = 6.0
Разностное отношение уверенно сходится к шестёрке. Чем меньше шаг, тем точнее. Производная — это «предел крутизны секущей, превращающейся в касательную».
Левая, правая и центральная разности
Мы брали правую разность (шаг вперёд). Существует и более точная — центральная: $\frac{f(x+h)-f(x-h)}{2h}$. Она использует обе стороны и сходится быстрее. Это важный практический приём численного дифференцирования.
Как работает под капотом
Каждая строка цикла — это секущая, проходящая через две точки графика: $(x, f(x))$ и $(x+h, f(x+h))$. Её наклон и есть разностное отношение. Уменьшая $h$, мы сближаем две точки, и секущая поворачивается, приближаясь к касательной. В пределе остаётся одна точка касания и один наклон — это и есть производная. Программа делает ровно то, что говорит формула: измеряет наклон на всё меньшем интервале.
Частые ошибки
Соблазнительно взять $h$ совсем крошечным — например $10^{-15}$ — ради точности. Но тут вмешивается арифметика с плавающей точкой: вычитание двух почти равных чисел $f(x+h)$ и $f(x)$ теряет значащие цифры (катастрофическое сокращение), и результат портится. Существует оптимальный $h$ (для правой разности — порядка $10^{-8}$ при double), меньше которого точность падает. Вторая ошибка — забыть, что производная зависит от точки $x$: $f'(x)=2x$ даёт разные значения в разных точках.
Итог
- Производная — предел разностного отношения при $h\to 0$.
- Это мгновенная скорость изменения функции.
- Центральная разность точнее правой при том же $h$.
- Слишком малый $h$ губит точность из-за округления.