В исчислении предел — это значение, к которому «приближается» функция или последовательность, когда ее вход или индекс приближаются к определенному значению. Интуитивно предел говорит нам, к какому значению функция или последовательность «все ближе и ближе» приближается по мере того, как ее вход или индекс становятся все ближе и ближе к определенному значению.

Например, рассмотрим функцию f(x) = (x² — 1)/(x — 1).

Если мы попытаемся вычислить эту функцию при x = 1, мы получим «неопределенный» результат, так как мы будем делить на ноль.

Однако мы все еще можем спросить, к какому значению «приближается» функция по мере того, как x становится все ближе и ближе к 1.

Чтобы найти предел f(x) при приближении x к 1, мы можем подставить значения x, очень близкие к 1, и посмотреть, какое значение получит f(x).

Например, если мы подставим x = 1,1, мы получим f(1,1) = 2,1. Если мы подставим x = 1,01, то получим f(1,01) = 2,01. Если мы подставим x = 1,001, мы получим f(1,001) = 2,001.

Мы можем продолжать подставлять значения, которые все ближе и ближе к 1, и мы увидим, что f(x) становится все ближе и ближе к 2 по мере того, как x становится все ближе и ближе к 1. Поэтому мы говорим, что предел f(x) по мере приближения x к 1 равно 2, и мы пишем:

lim f(x) = 2

x->1

Это означает, что значение f(x) сколь угодно близко к 2, когда x сколь угодно близко к 1 (но не равно 1).

Пределы являются фундаментальным понятием в исчислении и используются для определения других важных понятий, таких как производные и интегралы. Они позволяют понять поведение функций вблизи определенных точек и необходимы для решения многих математических задач.

В Python мы можем использовать библиотеку под названием sympy для выполнения символьных математических вычислений, включая ограничения. Вот пример кода для вычисления предела функции f(x) = (x^2 - 1)/(x - 1) при приближении x к 1:

from sympy import Limit, Symbol
import numpy as np
import matplotlib.pyplot as plt

# define the function
x = Symbol('x')
f = (x**2 - 1)/(x - 1)

# calculate the limit as x approaches 1
limit = Limit(f, x, 1).doit()

print("The limit of the function as x approaches 1 is:", limit)

# plot the function
x_vals = np.linspace(-5, 5, 1000)
y_vals = [f.subs(x, x_val) for x_val in x_vals]

fig, ax = plt.subplots()
ax.plot(x_vals, y_vals)
ax.axvline(x=1, color='gray', linestyle='--')
ax.axhline(y=limit, color='gray', linestyle='--')
ax.spines['left'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_color('none')
ax.yaxis.set_ticks_position('left')
ax.xaxis.set_ticks_position('bottom')
ax.annotate('limit = {}'.format(limit), xy=(1, limit), xytext=(2, 4), ha='left', va='bottom', fontsize=12)
plt.show()

Вывод: вывод должен быть графиком функции с пределом, отмеченным на графике.

В этом коде мы сначала импортируем классы Limit и Symbol из библиотеки sympy, а также библиотеки numpy и matplotlib.pyplot для построения графиков. Затем мы определяем функцию f(x) как символьное выражение, используя класс Symbol. Мы используем класс Limit для вычисления предела f(x) при приближении x к 1 и сохраняем результат в переменной limit. Затем мы печатаем результат, используя функцию print().

Затем мы создаем массив значений x, используя numpy.linspace(), и вычисляем соответствующие значения y, используя понимание списка и метод subs() символьного выражения. Затем мы строим функцию, используя метод plot() библиотеки matplotlib.

Мы используем методы axvline() и axhline() для рисования вертикальных и горизонтальных линий в точках x=1 и y=limit соответственно. Мы также используем атрибут spines, чтобы расположить ось Y в середине графика, и метод annotate(), чтобы пометить предельное значение на графике.

Наконец, мы используем метод show() библиотеки matplotlib для отображения графика.

Вот пример кода для нахождения предела случайной кубической функции (x**3 - 2*x**2 + x + 1) при приближении x к 1:

import sympy as sym

# Define the variable and function
x = sym.Symbol('x')
f = (x**3 - 2*x**2 + x + 1)

# Find the limit as x approaches 1
limit_value = sym.limit(f, x, 1)

# Print the result
print("The limit of (x**3 - 2*x**2 + x + 1) as x approaches 1 is:", limit_value)

Результат:

The limit of (x**3 - 2*x**2 + x + 1) as x approaches 1 is: 1