Sistemas de Ecuaciones Lineales

Resolviendo problemas reales.

En artículos anteriores vimos operaciones sobre vectores y matrices desde la perspectiva matemática. Vamos a ver cómo esas mismas operaciones pueden resolver problemas reales, como descubrir cuánto cuesta cada producto de un supermercado.

Escenario

Volvemos a nuestro supermercado de frutas. Imaginemos que tenemos tres personas:
Bob, Alice y Tim, que han ido al supermercado y compraron manzanas, naranjas y peras. Podemos representar sus compras en una matriz \(M\):

$$M = \begin{bmatrix} 3 & 6 & 2 \\ 10 & 3 & 8 \\ 1 & 7 & 5 \end{bmatrix}$$

Cada fila representa una persona, y cada columna representa un producto:

PersonaManzanasNaranjasPeras
Bob362
Alice1038
Tim175

El coste total

Sabemos cuánto pagó cada persona:

$$C =\begin{bmatrix} 34 \\ 69 \\ 48 \end{bmatrix}$$

Y queremos averiguar cuánto cuesta cada producto. Presentemos los importes que gasto cada uno en un vector que llamamos \( P \) , vector de precios:

$$P = \begin{bmatrix} p_1 \\ p_2 \\ p_3 \end{bmatrix} $$

Donde:

  • \(p_1\) –> precio de la manzana
  • \(p_2\) –> precio de la naranja
  • \(p_3\) –> precio de la pera

Sabemos que:

$$M \cdot P = C$$

o, dicho en palabras: la cantidad comprada multiplicada por el precio unitario da el coste total.

Escribiendo las ecuaciones

Multiplicar la matriz \(M\) por el vector \(P\) nos da tres ecuaciones:

$$ \begin{cases} 3p_1 + 6p_2 + 2p_3 = 34 \\ 10p_1 + 3p_2 + 8p_3 = 69 \\ 1p_1 + 7p_2 + 5p_3 = 48 \end{cases}$$

Esto es un sistema de ecuaciones lineales con tres incógnitas: \( p_1, p_2, p_3 \). El sistema de ecuaciones en formato matricial:

$$ \begin{bmatrix} 3 & 6 & 2 \\ 10 & 3 & 8 \\ 1 & 7 & 5 \end{bmatrix} \cdot \begin{bmatrix} p_1 \\ p_2 \\ p_3 \end{bmatrix} = \begin{bmatrix} 34 \\ 69 \\ 48 \end{bmatrix} $$

Recordando, tenemos aqui:

  • Matriz de coeficientes: contiene los números que multiplican a las variables (las cantidades de las frutas).
  • Vector de incógnitas: las variables que queremos encontrar (precio de las frutas).
  • Vector de resultados: los valores en el lado derecho (total de dinero gastado).

Solución

Método de eliminación (Gauss, eliminación hacia adelante con sustitución). Se despeja una variable y se sustituye, reduciendo gradualmente el sistema hasta obtener cada variable.

Paso 1 — despejar p1 de la ecuación (1)

$$ 3p_1 + 6p_2 + 2p_3 = 34$$

$$ p_1 =\frac{34}{3} \, – 2p_2 \, – \frac{2p_3}{3}$$

Paso 2 — sustituir \(p_1\)​ en las ecuaciones (2) y (3)

Sustitución en la ecuación (2):

$$10p_1 + 3p_2 + 8p_3 = 69$$

$$10(\frac{34}{3} – 2p_2 – \frac{2p_3}{3}) + 3p_2 + 8p_3 = 69$$

Multiplicamos todo por 3 para eliminar el denominador:

$$340−60p2​−20p3​+9p2​+24p3 \\ ​=207$$

Agrupamos términos semejantes:

  • Términos en p_2​: −60p_2+9p_2=−51p_2
  • Términos en p_3​: −20p_3+24p_3=4p_3

Queda:

$$340−51p2​+4p3​=207$$

Pasamos 340 al otro lado y calculamos:

$$−51p2​+4p3​=207−340$$

$$−51p2​+4p3​=-133$$

Multiplicamos por −1 (para simplificar signos)(Ecuación A):

$$51p2​-4p3​=133$$

Sustitución en la ecuación (3):

$$1p_1 + 7p_2 + 5p_3 = 48$$

$$\frac{34}{3} – 2p_2 – \frac{2p_3}{3} + 7p_2 + 5p_3 = 48$$

Multiplicamos por 3:

$$34−6p2​−2p3​+21p2​+15p3​=144$$

Agrupamos:

  • Términos en \(p_2: -6p_2 + 21p_2 = 15p_2\)
  • Términos en \(p_3: -2p_3 + 15p_3 = 13p_3\)

Queda:

$$34+15p_2​+13p_3​=144$$

Pasamos 34 al otro lado (Ecuación B):

$$15p_2​+13p_3​=144−34=110$$

Ahora hemos reducido el sistema original a dos ecuaciones en \(p_2\)​ y \(p_3\)​:

  • (A) \(51p_2 – 4p_3 = 133\)
  • (B) \(15p_2 +13p_3 = 110\)

Paso 3 — resolver el sistema reducido (A) y (B)

Usamos eliminación. Multiplicamos la ecuación A por 15 y la B por −51 para cancelar \(p_2\)​:

  • A * 15: \( 765p_2 – 60p_3 = 1995\)
  • B * (-51): \( -765p_2 – 663p_3 = -5610\)

Sumamos las dos ecuaciones:

$$(765p2​−60p3​)+(−765p2​−663p3​)\\=1995−5610$$

Se cancelan los \(p_2\) Queda:

$$−723p3​=−3615$$

Despejamos \(p_3\)​:

$$p_3 = \frac{-3615}{-723} = \frac{3615}{723} = 5$$

Ahora sustituimos \(p_3 = 5\) en la ecuación B:

$$15p_2​+13 \cdot 5=110$$

$$15p_2​+65 =110$$

$$15p_2​ =45$$

$$p_2​ =3$$

Por último, calculamos \(p_1\)​ usando la fórmula que obtuvimos en el Paso 1:

$$p_1 = \frac{34 – 6p_2 – 2p_3}{3}$$

$$p_1 = \frac{34 – 6 \cdot 3 – 2 \cdot 5}{3}$$

$$p_1 = \frac{34 – 18 – 10}{3}$$

$$p_1 = \frac{6}{3} = 2$$

Resultado final: \(p_1 = 2, p_2 = 3, p_3 = 5\)

Precios

  • Manaza: 2$
  • Naranja: 3€
  • Pera: 5€

Paso 4 — verificación (comprobación directa)

Multiplicamos la matriz por el vector precios para ver si obtenemos los costes:

$$M = \begin{bmatrix} 3 & 6 & 2 \\ 10 & 3 & 8 \\ 1 & 7 & 5 \end{bmatrix}, p = \begin{bmatrix} 2 \\ 3 \\ 5 \end{bmatrix}$$

Producto \(Mp\):

  • Fila 1: \( 3 \cdot 2 + 6 \cdot 3 + 2 \cdot 5 = 34\)
  • Fila 2: \( 10 \cdot 2 + 3 \cdot 3 + 8 \cdot 5 = 69\)
  • Fila 3: \( 1 \cdot 2 + 7 \cdot 3 + 5 \cdot 5 = 48\)

Solución con Python

Este código usa numpy.linalg.solve, que aplica internamente eliminación de Gauss con pivotado, y es la forma más eficiente y segura de resolver sistemas lineales \(\)A \cdot x = b en Python.

import numpy as np

# Matriz de coeficientes
A = np.array([
    [3, 6, 2],
    [10, 3, 8],
    [1, 7, 5]
], dtype=float)

# Vector de resultados
b = np.array([34, 69, 48], dtype=float)

# Resolver el sistema A·x = b
sol = np.linalg.solve(A, b)

# Mostrar resultados
p1, p2, p3 = sol
print(f"p1 = {p1:.2f}, p2 = {p2:.2f}, p3 = {p3:.2f}")

Salida:

p1 = 2.00, p2 = 3.00, p3 = 5.00

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *