Dashboard de Tenis en Tiempo Real con WebSocket y JavaScript

Imagen
¿Por qué utilizar WebSocket en lugar de una API REST? El caso de Tennis API Cuando trabajamos con APIs, normalmente pensamos en solicitudes HTTP tradicionales donde una aplicación consulta información cada cierto tiempo. Sin embargo, para aplicaciones que requieren datos en tiempo real, existe una alternativa mucho más eficiente: WebSocket. Mientras exploraba las capacidades de Tennis API encontré su integración mediante Socket.IO, una tecnología que permite recibir actualizaciones en tiempo real sin necesidad de realizar consultas constantes al servidor. ¿Cómo funciona una API REST tradicional? Con una API REST, la aplicación debe preguntar periódicamente si existen nuevos datos. Por ejemplo: setInterval(async () => { const response = await fetch("/live-scores"); const data = await response.json(); console.log(data); }, 5000); En este caso la aplicación realiza una consulta cada 5 segundos. El problema es que muchas veces no existe información nue...

cómo resolver ecuaciones lineales con Python

Quizás se han preguntado cómo puedo resolver una ecuación utilizando Python. Primero es convertir nuestro sistema de ecuaciones a matrices y vectores es decir utilizar Álgebra lineal.

Entonces primer paso nuestra ecuación de ejemplo es:

3x + 2y -5z =8
2x-5y+3z =5
8y+9z =6

Esto convertido a Algebra Lineal se ve así:

[3,2,-5
 2,-5,3
0,8,9]

Vector de resultados de la ecuación
[8,5,6]

En el álgebra lineal tenemos varios métodos que podemos utilizar para resolver este tipo de ecuaciones ,estos métodos son :

  • Regla de Cramer
  • Gauss Jordan
  • Eliminación Gaussiana

En este post vamos hablar de la regla de Cramer la cual consiste en ir remplazando una columna por el vector de resultados y obtener la determinante de la matriz inicial y la matriz con el ventor . 

Ahora vamos a transformar estas reglas a un programa

Primero vamos a hacerlo de manera manual en el programa simulando los pasos
import numpy as np

#Cramer rules
matrix_l = np.array([[3,2,-5],
                   [2,-5,3],
                   [0,8,9]])

vector_b = np.array([8,5,6])
d0 = np.linalg.det(matrix_l)
print(d0)

matrix_2 =np.array([[8,2,-5],
                   [5,-5,3],
                   [6,8,9]])
d1 = np.linalg.det(matrix_2)
print(d1)

matrix_3 =np.array([[3,8,-5],
                   [2,5,3],
                   [0,6,9]])
d2 = np.linalg.det(matrix_3)
print(d2)

matrix_4 =np.array([[3,2,8],
                   [2,-5,5],
                   [0,8,6]])
d3 = np.linalg.det(matrix_4)
print(d3)

x1=d1/d0
x2=d2/d0
x3=d3/d0
print("result x1",x1)
print("result x2",x2)
print("result x3",x3)

Ahora validemos el resultado


Cómo podemos ver la solución del programa ,resuelve nuestro sistema de ecuaciones.

Ahora vamos hacer nuestro programa un poco más automático

def crammer(mat,vect):
    d = np.linalg.det(mat)
    
    mat1= np.array([vect,mat[:,1],mat[:,2]])
    mat2= np.array([mat[:,0],vect,mat[:,2]])
    mat3= np.array([mat[:,0],mat[:,1],vect])
    
    d1 = np.linalg.det(mat1)
    d2 = np.linalg.det(mat2)
    d3 = np.linalg.det(mat3)
    
    x1 =d1/d
    x2 =d2/d
    x3= d3/d
    
    print(x1,x2,x3)

(matrix_l,vector_b)

Les comparto la liga al video en nuestro canal de YouTube para ver la ejecución del programa


Espero les sea de utilidad y nos compartan. 
#programacionparatodos
#programarcobpython

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)