Загрузка данных


import numpy as np
nx, nt = 5, 3
hx, ht = 1/4, 1/2
x1, xn = 0, 1
t1, tn = 0, 1
U = [[1 for j in range(nt)] for i in range (nx)]#начальное приближение
X = [hx * i for i in range(nx)]
T = [ht * j for j in range(nt)]
fi = [96*t*(1-t) for t in T]
psi = [44*x*(1-x) for x in X]
F = -280
#граничные условия задача дирихле
U = np.array(U)
U[0], U[nx - 1] = fi, fi
U[:, 0], U[:, nt - 1] = psi, psi
e = 0.1#допустимая ошибка
z = np.max(np.abs(U)) #оценочная ошибка
Uk = U.copy()
k = 0 #кол-во итераций
while z >= e:
    U = pyass(nx, nt, hx, ht, f, Uk)
    z = np.max(np.abs(Uk - U))
    Uk = U.copy()
    k += 1
Uk, k