# код основной программы
# Задача теплопроводности
import numpy as np
nx = 5
nt = 4 # (nx*4=20)
x1, xn = 0, 1
# по оси T - не огранич.
hx = (xn - x1) / (nx - 1)
a = 1
ht = hx**2 / (2 * a) # усл. сход. яв. схемы
X = [i * hx for i in range(nx)]
T = [j * ht for j in range(nt)]
U = [[0 for j in range(nt)] for i in range(nx)]
U = np.array(U)
# Граничные условия
U[0] = 1
U[nx - 1] = 1
U[:, 0] = [1 + 4 * x - 4 * x**2 for x in X]
# решение (яв. схем.):
U_k = U.copy()
c = 0
while c <= 4:
c += 1
U = tepl_yav_sh(nx, nt, hx, ht, a, U_k)
U_k = U.copy()
U