Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

B1 · Del circuito a la matriz

Universidad de Burgos

Binder Open In Colab

Objetivos de aprendizaje

  • Plantear el análisis nodal de un circuito resistivo como un sistema lineal G v=is\mathbf{G}\,\mathbf{v} = \mathbf{i}_s.

  • Escribir la matriz de conductancias por inspección y reconocer su estructura: simetría y diagonal dominante.

  • Resolver el mismo circuito de forma simbólica (SymPy) y numérica (NumPy) y comprobar que coinciden.

  • Explicar qué significa físicamente que la matriz no tenga inversa.

Teoría: Volumen I, capítulo 5 (método de nodos), capítulo 6 (formulación matricial) y Anexo B (Miguel-Medina, 2026). Tiempo: ~1,5 h

Idea clave

El análisis nodal toma como incógnitas las tensiones de los nodos respecto a uno de referencia y aplica la ley de Kirchhoff de corrientes (KCL) en cada uno de los demás. Cada ecuación es lineal en las tensiones, así que todas juntas forman un sistema que se escribe de forma compacta como

G v=is\mathbf{G}\,\mathbf{v} = \mathbf{i}_s

donde v\mathbf{v} son las tensiones de nodo, is\mathbf{i}_s las corrientes que las fuentes inyectan en cada nodo y G\mathbf{G} la matriz de conductancias. El capítulo 6 del Volumen I da la regla para escribirla sin plantear las ecuaciones una a una:

  • GjjG_{jj} es la suma de las conductancias conectadas al nodo jj;

  • GjkG_{jk} es la suma de las conductancias conectadas entre los nodos jj y kk, con signo negativo.

En este cuaderno vas a comprobar con el ordenador de dónde sale esa regla, qué forma tiene la matriz y qué ocurre cuando el sistema no se puede resolver.

El circuito

Trabajaremos con una red en escalera de tres nodos alimentada por una fuente de corriente. El nodo inferior es la referencia (0 V).

Loading...

1. Predice

Antes de ejecutar nada más, responde en papel o en la celda siguiente:

  1. ¿Cuántas ecuaciones tendrá el sistema?

  2. Sin calcular, ¿qué nodo tendrá la tensión más alta y cuál la más baja? ¿Por qué?

  3. La matriz G\mathbf{G} tendrá algunos elementos iguales a cero. ¿Cuáles y por qué?

Tu predicción:

2. Ejecuta y explora

2.1 Las ecuaciones de nodo, escritas tal cual

Empezamos sin ninguna regla: escribimos KCL en cada nodo igualando la corriente que sale por las resistencias a la que inyecta la fuente. SymPy trabaja con los símbolos, sin números.

Loading...

Ahora pedimos a SymPy que agrupe los coeficientes de v1v_1, v2v_2 y v3v_3. Lo que devuelve es la matriz del sistema y el vector de términos independientes.

Loading...

Compara esta matriz con la regla de inspección de la Idea clave: en la diagonal aparece la suma de las conductancias de cada nodo, y fuera de ella, la conductancia entre dos nodos con signo negativo. La regla no es un truco: es lo que queda al ordenar las ecuaciones de KCL.

2.2 Solución simbólica

Con la matriz en la mano, SymPy puede resolver el sistema con letras. El resultado es una fórmula válida para cualquier valor de los componentes.

Loading...

La expresión de v3v_3 ya es larga para un circuito de tres nodos: a mano sería fácil equivocarse. Sustituimos los valores numéricos:

array([1.63272801, 0.82472965, 0.63293205])

2.3 Solución numérica

En la práctica no se busca la fórmula: se construye la matriz con números y se resuelve el sistema. Escribimos G\mathbf{G} por inspección.

G (mS):
[[ 1.455 -0.455  0.   ]
 [-0.455  1.667 -1.   ]
 [ 0.    -1.     1.303]]
v (V): [1.6327 0.8247 0.6329]
¿Coincide con la solución simbólica? True

Una solución numérica siempre se puede comprobar con la física. Dos comprobaciones independientes: que KCL se cumple en cada nodo (el residuo Gv−is\mathbf{G}\mathbf{v} - \mathbf{i}_s es cero, salvo el error de redondeo) y que la potencia que entrega la fuente es la que disipan las resistencias.

Residuo de KCL (A): [ 0.00000000e+00 -1.93586787e-19  4.76773731e-20]
Potencia de la fuente:  3.2655 mW
Potencia disipada:      3.2655 mW

2.4 La estructura de la matriz

G\mathbf{G} no es una matriz cualquiera. Compruébalo:

¿Es simétrica? True
Fila 1: diagonal = 1.455 mS, resto de la fila = 0.455 mS, diferencia = 1.000 mS
Fila 2: diagonal = 1.667 mS, resto de la fila = 1.455 mS, diferencia = 0.213 mS
Fila 3: diagonal = 1.303 mS, resto de la fila = 1.000 mS, diferencia = 0.303 mS
Conductancias a referencia (mS): [1.0, 0.213, 0.303]

En cada fila, el elemento de la diagonal es mayor que la suma de los demás en valor absoluto: la matriz es de diagonal dominante. Y lo que «sobra» en cada fila es exactamente la conductancia que une ese nodo con la referencia. Esas resistencias a referencia son las que garantizan que el sistema tenga solución única, como vas a ver ahora.

2.5 Rompe el circuito

¿Qué ocurre si quitamos las tres resistencias que van a referencia (R1R_1, R3R_3 y R5R_5)? Una resistencia infinita es una conductancia nula.

[[ 0.455 -0.455  0.   ]
 [-0.455  1.455 -1.   ]
 [ 0.    -1.     1.   ]]
Suma de cada fila: [0. 0. 0.]
Rango de la matriz: 2 de 3

Todas las filas suman cero y el rango baja de 3 a 2: la matriz es singular, no tiene inversa y el sistema no tiene solución única. No es un problema numérico, sino físico: la fuente inyecta corriente en una red que no tiene ningún camino de retorno, de modo que KCL no puede cumplirse. Un simulador como SPICE se detiene en esta situación con un error de «nodo flotante» o «matriz singular».

2.6 La inversa también tiene significado

Para resolver un sistema no hace falta calcular la inversa (np.linalg.solve es más rápido y preciso), pero G−1\mathbf{G}^{-1} tiene una lectura física útil: el elemento (j,k)(j, k) es la tensión que aparece en el nodo jj por cada amperio inyectado en el nodo kk. Son resistencias.

Inversa de G (ohmios):
[[ 816.4  412.4  316.5]
 [ 412.4 1319.6 1012.7]
 [ 316.5 1012.7 1544.6]]
¿Es simétrica? True
Primera columna por I_s (V): [1.6327 0.8247 0.6329]

La primera columna, multiplicada por IsI_s, es la solución que ya conocías. Las otras dos columnas responden a preguntas que no habíamos hecho: qué tensiones aparecerían si la fuente se conectara al nodo 2 o al nodo 3. Y la simetría dice algo que no es evidente mirando el circuito: inyectar corriente en el nodo 1 y medir en el 3 da la misma tensión que inyectar en el 3 y medir en el 1 (reciprocidad).

2.7 Un parámetro que cambia

Con la matriz en una función, repetir el cálculo para muchos valores no cuesta nada. Barremos R2R_2, la resistencia que une los nodos 1 y 2, a lo largo de seis décadas.

<Figure size 704x440 with 1 Axes>

3. Explica

Responde con tus palabras:

  1. En la figura anterior, ¿por qué v1v_1 y v2v_2 se juntan cuando R2R_2 es muy pequeña? ¿Y por qué v2v_2 y v3v_3 tienden a cero cuando R2R_2 es muy grande? ¿A qué valor tiende entonces v1v_1?

  2. El elemento G13G_{13} es cero. ¿Qué tendría que cambiar en el circuito para que dejara de serlo?

  3. Para comparar la solución simbólica con la numérica hemos usado np.allclose y no ==. ¿Por qué? Fíjate en el residuo de KCL que has obtenido.

  4. Al quitar las resistencias a referencia la matriz se vuelve singular. ¿Bastaría con dejar una sola de las tres para que el sistema volviera a tener solución? Compruébalo con matriz_G.

  5. ¿Por qué con solo resistencias y fuentes de corriente la matriz sale siempre simétrica?

4. Ejercicios

  • Básico. Reproduce con NumPy dos ejemplos resueltos a mano en el Volumen I y comprueba que obtienes los mismos resultados:

    • Capítulo 6, ejemplo de la matriz de conductancias por inspección: fuente de 3 A que inyecta en el nodo 1 y tres resistencias iguales de 2 Ω (nodo 1 a referencia, nodo 1 a nodo 2, nodo 2 a referencia). Solución: v1=4v_1 = 4 V, v2=2v_2 = 2 V.

    • Anexo B, ejemplo del sistema 2×22\times2: G=[1,5−0,5−0,51,5]\mathbf{G} = \begin{bmatrix} 1{,}5 & -0{,}5 \\ -0{,}5 & 1{,}5 \end{bmatrix} S e is=(5,1)\mathbf{i}_s = (5, 1) A. Resuélvelo además con la regla de Cramer usando np.linalg.det.

  • Aplicación. Una fuente de tensión real de 5 V con una resistencia en serie de 1 kΩ se conecta entre el nodo 3 y la referencia del circuito de este cuaderno. Sustitúyela por su equivalente Norton (Volumen I, capítulo 5), modifica G\mathbf{G} e is\mathbf{i}_s y calcula las nuevas tensiones. Comprueba el resultado por superposición usando las columnas de G−1\mathbf{G}^{-1}.

  • Reto biomédico. El ejemplo del estimulador eléctrico del capítulo 5 del Volumen I modela un estimulador de corriente constante de Is=5I_s = 5 mA conectado a un nodo A, del que salen un camino de fuga Rp=6R_p = 6 kΩ a referencia y la resistencia del electrodo Re=1R_e = 1 kΩ hasta un nodo B; entre B y la referencia está el tejido, Rt=500R_t = 500 Ω. Solo el 80 % de la corriente programada llega al tejido.

    1. Plantea G v=is\mathbf{G}\,\mathbf{v} = \mathbf{i}_s y reproduce el resultado del libro (VA=6V_A = 6 V, VB=2V_B = 2 V).

    2. Cuando el gel del electrodo se seca, ReR_e aumenta. Representa el porcentaje de corriente que llega al tejido para ReR_e entre 100 Ω y 20 kΩ.

    3. ¿A partir de qué valor de ReR_e llega al tejido menos de la mitad de la corriente programada? ¿Qué tensión tiene que dar entonces el estimulador?

Resumen

  • Aplicar KCL en cada nodo de un circuito resistivo da un sistema lineal G v=is\mathbf{G}\,\mathbf{v} = \mathbf{i}_s, y la matriz se puede escribir por inspección.

  • Con resistencias y fuentes de corriente, G\mathbf{G} es simétrica y de diagonal dominante; lo que sobra en cada fila es la conductancia a referencia.

  • Si ningún nodo tiene camino a referencia, la matriz es singular: el circuito no tiene solución única.

  • La solución simbólica da la fórmula y la numérica da el resultado; para explorar un circuito, lo práctico es una función que construya la matriz y un np.linalg.solve.

→ Siguiente: B2 · Análisis de mallas y comparación de métodos

References
  1. Miguel-Medina, T. (2026). Electrónica en Ingeniería Biomédica — Volumen I. Autopublicación. 10.5281/zenodo.22913382