0% encontró este documento útil (0 votos)
4 vistas4 páginas

Codigo Python

El código en Python resuelve un sistema de ecuaciones lineales para calcular las temperaturas en varios nodos utilizando la biblioteca NumPy. Se define una matriz de coeficientes y un vector de términos independientes, y se utiliza la función 'np.linalg.solve' para encontrar las temperaturas. Los resultados se muestran en la consola y se organizan en un DataFrame de Pandas para una mejor visualización.

Cargado por

rait.luque.g
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas4 páginas

Codigo Python

El código en Python resuelve un sistema de ecuaciones lineales para calcular las temperaturas en varios nodos utilizando la biblioteca NumPy. Se define una matriz de coeficientes y un vector de términos independientes, y se utiliza la función 'np.linalg.solve' para encontrar las temperaturas. Los resultados se muestran en la consola y se organizan en un DataFrame de Pandas para una mejor visualización.

Cargado por

rait.luque.g
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CODIGO PYTHON

import numpy as np

import pandas as pd

# DATOS DEL SISTEMA DE ECUACIONE

# Nombres de los nodos (temperaturas a encontrar)

nodos = [1, 2, 3, 7, 8, 9, 13, 14, 15, 16, 17, 23, 24, 25, 26, 27,

33, 34, 35, 36, 37, 38, 39, 46, 47, 48, 49, 50, 51, 52]

# Matriz A (coeficientes de las temperaturas) - versión simplificada manual

# Nota: Los datos exactos están en tu archivo, pero por claridad los pongo
manualmente

# según la tabla que diste. Si prefieres leer desde Excel, lo hacemos al final.

A = [Link]([

[-3.4286, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0],

[1, -5.4286, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0],

[0, 1, -3.4286, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0],

[1, 0, 0, -5.4286, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0],

[0, 1, 0, 1, -4, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 1, 0, 2, -5.4286, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0],

[0, 0, 0, 1, 0, 0, -5.4286, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0],
[0, 0, 0, 0, 1, 0, 1, -4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0, 2, -3.7143, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0],

[0, 0, 0, 0, 0, 0, 0, 0, 1, -5.4286, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3.4286, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0],

[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -5.4286, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0],

[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, -4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, -4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, -4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, -5.4286, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -5.4286, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, -4, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, -4, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, -4, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, -3.7143, 1, 0, 0, 0, 0, 0, 2,
0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5.4286, 1, 0, 0, 0, 0, 0,
2],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2.7143, 0, 0, 0, 0, 0,
1],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -5.4286, 2, 0, 0, 0,
0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, -4, 1, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, -4, 1, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, -4, 1, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, -4, 1],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, -4, 1],


[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, -4]
], dtype=float)

# Vector B (términos independientes)

B = [Link]([-42.858, -42.858, -42.858, -42.858, 0, -42.858,

-42.858, 0, -42.858, -42.858, -42.858, -42.858,

0, 0, 0, -42.858, -42.858, 0, 0, 0, -42.858,

-42.858, -21.3, -42.858-400, -400, -400, -400, -400, -400], dtype=float)

# RESOLUCIÓN DEL SISTEMA

# Resolver A * T = B

try:
temperaturas = [Link](A, B)

# Mostrar resultados

print("=" * 60)

print("RESULTADOS - TEMPERATURAS EN CADA NODO")

print("=" * 60)

for i, nodo in enumerate(nodos):

print(f"Nodo {nodo:3d} : T = {temperaturas[i]:10.4f} °C")

# Guardar en DataFrame para mejor visualización

df_resultados = [Link]({

'Nodo': nodos,

'Temperatura (°C)': temperaturas

})

print("\n" + "=" * 60)

print("TABLA COMPLETA DE RESULTADOS")


print("=" * 60)
print(df_resultados.to_string(index=False))

También podría gustarte