Diferencia entre revisiones de «Ecuación del calor JC»
De MateWiki
| Línea 9: | Línea 9: | ||
__TOC__ | __TOC__ | ||
| − | =CODIGO 1 = | + | =CODIGO 3 = |
| + | <source lang: "Matlab" line> | ||
| + | import numpy as np | ||
| + | import matplotlib.pyplot as plt | ||
| + | from scipy.special import erfc | ||
| + | |||
| + | # 1. Definición del dominio espacial (x > 0). Usamos un rango de 0 a 5. | ||
| + | x = np.linspace(0, 5, 1000) | ||
| + | |||
| + | # 2. Definición de los instantes de tiempo muy pequeños para ver el comportamiento cerca de t=0 | ||
| + | tiempos = [0.01, 0.1, 0.5, 1.0, 5.0] | ||
| + | |||
| + | plt.figure(figsize=(10, 6)) | ||
| + | |||
| + | # 3. Cálculo y representación de la solución para cada tiempo | ||
| + | for t in tiempos: | ||
| + | u = 1 + erfc(x / (2 * np.sqrt(t))) | ||
| + | plt.plot(x, u, label=f't = {t}') | ||
| + | |||
| + | # 4. Decoración de la gráfica para el póster | ||
| + | plt.title('Evolución Térmica en Semiespacio: $u(0,t)=2, u(x,0)=1$', fontsize=14) | ||
| + | plt.xlabel('Posición (x)', fontsize=12) | ||
| + | plt.ylabel('Temperatura (u)', fontsize=12) | ||
| + | |||
| + | # Límites del Principio del Máximo | ||
| + | plt.axhline(2, color='red', linestyle='--', alpha=0.5, label='Frontera u=2') | ||
| + | plt.axhline(1, color='blue', linestyle='--', alpha=0.5, label='Dato inicial u=1') | ||
| + | |||
| + | plt.legend() | ||
| + | plt.grid(True, which='both', linestyle='--', alpha=0.5) | ||
| + | plt.ylim(0.8, 2.2) | ||
| + | plt.show() | ||
| + | |||
| + | </source> | ||
[[Categoría:EDP]] | [[Categoría:EDP]] | ||
[[Categoría:EDP25/26]] | [[Categoría:EDP25/26]] | ||
Revisión del 18:37 12 abr 2026
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Ecuación del calor. Grupo 6-A |
| Asignatura | EDP |
| Curso | 2025-26 |
| Autores | Carlos Asensio
Javier Martínez |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
1 Póster
Contenido
2 CODIGO 3
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import erfc
# 1. Definición del dominio espacial (x > 0). Usamos un rango de 0 a 5.
x = np.linspace(0, 5, 1000)
# 2. Definición de los instantes de tiempo muy pequeños para ver el comportamiento cerca de t=0
tiempos = [0.01, 0.1, 0.5, 1.0, 5.0]
plt.figure(figsize=(10, 6))
# 3. Cálculo y representación de la solución para cada tiempo
for t in tiempos:
u = 1 + erfc(x / (2 * np.sqrt(t)))
plt.plot(x, u, label=f't = {t}')
# 4. Decoración de la gráfica para el póster
plt.title('Evolución Térmica en Semiespacio: $u(0,t)=2, u(x,0)=1$', fontsize=14)
plt.xlabel('Posición (x)', fontsize=12)
plt.ylabel('Temperatura (u)', fontsize=12)
# Límites del Principio del Máximo
plt.axhline(2, color='red', linestyle='--', alpha=0.5, label='Frontera u=2')
plt.axhline(1, color='blue', linestyle='--', alpha=0.5, label='Dato inicial u=1')
plt.legend()
plt.grid(True, which='both', linestyle='--', alpha=0.5)
plt.ylim(0.8, 2.2)
plt.show()