Расчёт цепи системой уравнений
Урок доводит метод Кирхгофа до конца: составляем и решаем систему уравнений для двух источников.
Метод контурных токов — приём, в котором неизвестными являются токи независимых контуров, что сокращает число уравнений.
Соберём всё вместе: возьмём цепь с двумя источниками ЭДС и решим её численно на Python, не прибегая к сторонним библиотекам.
Постановка задачи
Рассмотрим схему из двух контуров с общей средней ветвью. Источники $\mathcal{E}_1 = 12\,\text{В}$ и $\mathcal{E}_2 = 6\,\text{В}$, резисторы $R_1 = 4\,\text{Ом}$, $R_2 = 6\,\text{Ом}$ в крайних ветвях и общий $R_3 = 3\,\text{Ом}$ в средней. Введём контурные токи $i_1$ и $i_2$. По второму закону Кирхгофа для двух контуров получаем систему:
$$ \begin{cases} (R_1 + R_3)\, i_1 - R_3\, i_2 = \mathcal{E}_1, \\ -R_3\, i_1 + (R_2 + R_3)\, i_2 = \mathcal{E}_2. \end{cases} $$
Это линейная система $2\times 2$, которую можно решить по правилу Крамера.
Правило Крамера
Для системы $a x + b y = e$, $c x + d y = f$ определитель $D = ad - bc$, а решения
$$ x = \frac{e d - b f}{D}, \qquad y = \frac{a f - e c}{D}. $$
Решение цепи в Python
E1, E2 = 12.0, 6.0
R1, R2, R3 = 4.0, 6.0, 3.0
# Матрица контурных уравнений
a, b = R1 + R3, -R3
c, d = -R3, R2 + R3
e, f = E1, E2
D = a*d - b*c
i1 = (e*d - b*f) / D
i2 = (a*f - e*c) / D
I3 = i1 - i2 # ток средней ветви
print(f"Контурный ток i1 = {i1:.4f} А")
print(f"Контурный ток i2 = {i2:.4f} А")
print(f"Ток средней ветви I3 = {I3:.4f} А")Вывод:
Контурный ток i1 = 2.3333 А Контурный ток i2 = 1.4444 А Ток средней ветви I3 = 0.8889 А
Как работает под капотом
Метод контурных токов автоматически удовлетворяет первому закону Кирхгофа: раз ток «течёт по контуру», то, что втекло в узел, обязательно вытечет. Остаётся записать только уравнения второго закона — по одному на каждый независимый контур. На главной диагонали матрицы стоят суммы всех сопротивлений контура, вне диагонали — взятые со знаком минус общие сопротивления между контурами. Эта структура («матрица сопротивлений») настолько регулярна, что её легко собрать программно для цепи любого размера, а затем решить методом Гаусса или Крамера. Так промышленные симуляторы вроде SPICE и считают схемы.
Частые ошибки
- Неверный знак у общего сопротивления вне диагонали — он должен быть отрицательным при сонаправленных контурных токах.
- Забывают, что ток реальной ветви — это разность контурных токов, если ветвь общая для двух контуров.
- Делят на нулевой определитель — это признак вырожденной (некорректно заданной) цепи.
Итог
- Сложную цепь сводят к системе линейных уравнений.
- Метод контурных токов уменьшает число неизвестных.
- Систему $2\times 2$ решают по правилу Крамера.
- Ток общей ветви — разность соседних контурных токов.