Considerando a malha acima, determinar os valores das correntes. A figura mostra um circuito composto por 5 resistências sujeitas a duas voltagens V1 e V2. Assuma que as direções positivas das correntes são aquelas indicadas na figura.
Pela lei de Kirchhof aplicada a cada loop do circuito temos as seguintes equações:
\[(R_1 + R_4)i_1 - R_4i_2 = V_1\]
\[-R_4i_1 + (R_2 + R_4 + R_5)i_2 - R_5i_3 = 0\]
\[-R_5i_2 + (R_3 + R_5)i_3 = V_2\]
Determinante principal (\( \Delta \)):
\[ \Delta = 155000 \cdot (500000 \times 450000 - (-250000)^2) + 150000 \cdot (-150000 \times 450000) = 1.9625 \times 10^{16} \]Determinantes parciais:
\[ \Delta_1 = 100 \cdot (500000 \times 450000 - (-250000)^2) + 150000 \cdot (50 \times 250000) = 1.8725 \times 10^{16} \] \[ \Delta_2 = 155000 \cdot (50 \times 250000) + 100 \cdot (-150000 \times 450000) = 6.25 \times 10^{14} \] \[ \Delta_3 = 155000 \cdot (-150000 \times 50) + 150000 \cdot (-150000 \times 50) + 100 \cdot (500000 \times 50) = 1.3 \times 10^{14} \]Correntes:
\[ i_1 = \frac{\Delta_1}{\Delta} \approx 0,954 \, \text{mA}, \quad i_2 = \frac{\Delta_2}{\Delta} \approx 0,319 \, \text{mA}, \quad i_3 = \frac{\Delta_3}{\Delta} \approx 0,066 \, \text{mA} \]\[ i_1 \approx 0,954 \, \text{mA} \]
\[ i_2 \approx 0,319 \, \text{mA} \]
\[ i_3 \approx 0,066 \, \text{mA} \]
Nota: Valores idênticos aos obtidos nos códigos MATLAB, Maple e Python abaixo.
como \[i_1= i_2+i_4\] e \[i_2 = i_3+i_5,\] os valores de \(i_4 \approx 0.635\) e de \(i_5 \approx 0.253\) seguem imediatamente.
% Valores em kΩ (convertidos para Ω)
R = [5, 100, 200, 150, 250] * 1000;
v1 = 100; v2 = 50;
% Matriz A
A = [
R(1)+R(4), -R(4), 0;
-R(4), R(2)+R(4)+R(5), -R(5);
0, -R(5), R(3)+R(5)
];
b = [v1; 0; v2];
current = A\b;
disp('Correntes (mA):');
disp(current * 1000); % Exibe em mA
import numpy as np
# Valores em kΩ (convertidos para Ω)
R = np.array([5, 100, 200, 150, 250]) * 1000
v1, v2 = 100, 50
# Matriz A
A = np.array([
[R[0]+R[3], -R[3], 0],
[-R[3], R[1]+R[3]+R[4], -R[4]],
[0, -R[4], R[2]+R[4]]
])
b = np.array([v1, 0, v2])
current = np.linalg.solve(A, b)
print("Correntes (mA):", current * 1000) # Exibe em mA
restart;
R := [5, 100, 200, 150, 250] *~ 1000: # kΩ → Ω
v1 := 100: v2 := 50:
A := Matrix([
[R[1]+R[4], -R[4], 0],
[-R[4], R[2]+R[4]+R[5], -R[5]],
[0, -R[5], R[3]+R[5]]
]):
b := Vector([v1, 0, v2]):
current := LinearAlgebra:-LinearSolve(A, b):
printf("Correntes (mA):\n");
current *~ 1000; # Exibe em mA