Производная как разностное отношение

Производная — это мгновенная скорость изменения функции, предел отношения приращений.

Производная функции в точке: $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$ губит точность из-за округления.
Проверьте себя
1. Что такое разностное отношение (f(x+h)−f(x))/h?
AПлощадь под графиком
BНаклон секущей через две точки графика
CЗначение функции в точке
DВторая производная
2. Почему нельзя брать h слишком маленьким (например 1e-15) в численной производной?
AКомпьютер не понимает малые числа
BВычитание почти равных чисел теряет точность из-за округления
CПроизводная станет отрицательной
DЦикл зациклится