Diferencia entre revisiones de «Ecuacion del calor MAM»
De MateWiki
(Página creada con «{{ TrabajoED | Ecuación del calor. Grupo LÁJ| EDP|2025-26 | Mario ALonso Rodríguez Adrián Moreno Nieto Matías Martínez M...») |
|||
| Línea 1: | Línea 1: | ||
| − | {{ TrabajoED | Ecuación del calor. Grupo | + | {{ TrabajoED | Ecuación del calor. Grupo MAM| [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Mario ALonso Rodríguez |
Adrián Moreno Nieto | Adrián Moreno Nieto | ||
Revisión actual del 22:23 12 abr 2026
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Ecuación del calor. Grupo MAM |
| Asignatura | EDP |
| Curso | 2025-26 |
| Autores | Mario ALonso Rodríguez
Adrián Moreno Nieto Matías Martínez Mancebo |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Abajo se puede ver el código que se ha utilizado para conseguir las gráficas.
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
# Define the heat equation solution
def heat_solution(x, t):
if t <= 0:
return 0
return (1 / np.sqrt(2 * t)) * np.exp(-x**2 / (4 * t))
# Create grid
x = np.linspace(-5, 5, 100)
t = np.linspace(0.1, 2, 50) # Avoid t=0
X, T = np.meshgrid(x, t)
Z = np.vectorize(heat_solution)(X, T)
# Plot 3D surface
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, T, Z, cmap='viridis')
ax.set_xlabel('x')
ax.set_ylabel('t')
ax.set_zlabel('u(x,t)')
ax.set_title('Solución fundamental de la ecuación del calor')
plt.show()
import numpy as np
import matplotlib.pyplot as plt
# Solución fundamental correcta de la ecuación del calor
def G(x, t):
return (1 / np.sqrt(4 * np.pi * t)) * np.exp(-x**2 / (4 * t))
# Tiempos que queremos comparar
times = [0.05, 0.1, 0.2, 0.5, 1, 2]
# Dominio espacial
x = np.linspace(-10, 10, 2000)
# Crear una sola gráfica
plt.figure(figsize=(7, 5))
# -------------------------
# Perfiles originales
# -------------------------
for t in times:
plt.plot(x, G(x, t), label=f"t = {t}")
plt.title("Solución fundamental para distintos tiempos")
plt.xlabel("x")
plt.ylabel("G(x,t)")
plt.grid(True)
plt.legend()
plt.tight_layout()
plt.show()