import numpy as np
nx = 5
nt = 4
x1, xn = 0, 1
t1, tn = 0, 1
hx = (xn - x1) / (nx - 1)
a = 1
ht = hx**2 / 2 * a
X = [hx * i for i in range(nx)]
T = [ht * j for j in range(nt)]
U = [[0 for j in range(nt)] for i in range(nx)]
U = np.array(U)
# Граничные условия
U[0] = 24
U[nx-1] = 23
U[:, 0] = [24 + 93 * x - 94 * x**2 for x in X]
# решение явной схемой
u_new = U.copy()
c = 0
while c <= 4:
U = tepl(nx, nt, hx, ht, a, 0, U)
u_new = U.copy()
c += 1
U