Здравствуйте,
необходимо решить задачу теплопроводности используя метод прогонки.
Условия задачи:
Граничные условия:




.
Код:
Код:
N = 10 # максимальное число шагов по х
K = 500 # максимальное число шагов по t
l = 1 # значение х на правой границе
h = l / N # шаг сетки по х
T = 1 # максимальное значение времени t на правой границе
t = T / K # шаг сетки по времени
# зададим сетку
x_i = np.arange(0, 1, h) # значения в узлах по х
t_j = np.arange(0, 1, t) # значение в узлах по t
hi_1 = 0
mu_1 = 1
hi_2 = 1
mu_2 = h * t_j
A_i = t / h**2
B_i = t / h**2
C_i = 1 + (2 * t/h**2)
F_i = t * np.sin(x_i)
alpha_i = []
beta_i = []
y_i = []
for i in range(len(x_i)):
alpha_i.append(0)
beta_i.append(0)
y_i.append(0)
alpha_i[0] = hi_1
beta_i[0] = mu_1
for i in range(1, len(x_i)):
alpha_i[i] = B_i / (C_i - alpha_i[i-1] * A_i)
beta_i[i] = (A_i * beta_i[i-1] + F_i[i]) / (C_i - alpha_i[i - 1] * A_i)
for j in range(len(t_j)):
y_i[len(x_i)-1] = (mu_2[j] + hi_2 *beta_i[2])/ (1 - hi_2 * alpha_i[len(x_i)-1])
for i in range(len(x_i) - 1, 1, -1):
y_i[i - 1] = alpha_i[i - 1] * y_i[i] + beta_i[i - 1]
Мне не совсем понятно правильно ли я вообще подхожу к решению, ведь я не учитываю временной шаг при расчетах. Помогите, пожалуйста, разобраться или может есть какая-то методичка где похожая задача подробно рассмотрена, так как в сети ничего подходящего не нашла.