Page 40 - 4968
P. 40
t , ,
За результатами розрахунків побудувати графіки: u 10 x , , xu 1
a b 2 b
x , , txu , , де x 1 b 1 , x a 1 a 1 , x a 1 a 1
u t .
3
2
1 2 1 2 1
2 3 3
Контрольний приклад
Автори висловлюють вдячність студенту групи ПІ-12-1
Мацибурці Петру за надане право використати в методичці
наведені далі матеріали.
Варіант завдання: Розв’язати рівняння теплопровідності
U 2 2 U , x , t 2 4. Записати алгоритм розв’язку при
t a x 2 L,0 T,0 , a
0 U t
x
умовах: ,0 xU 20, tU , 20 cos t , eLt, .
Код програми
import matplotlib
from pylab import *
import numpy
import tdma
numpy.set_printoptions(precision=2)
A = 4
xmin, xmax = 0, 10
tmin, tmax = 0, 5
h, k = .01, .01
n = int(xmax / h)
m = int(tmax / k)
x = linspace(xmin, xmax, n + 1)
t = linspace(tmin, tmax, m + 1)
u = zeros((n + 1, m + 1), float)
u[:, 0] = 20
u[0, :] = exp(-t)
u[n, :] = 20 * cos(t)
D2 = (2 * k * A + h * h) * ones(n - 1, float)
D1 = -k * A * ones(n - 2, float)
D3 = -k * A * ones(n - 2, float)
tdma.factor(D1, D2, D3)
print(numpy.diagflat(D1, -1) + numpy.diagflat(D2, 0) +
numpy.diagflat(D3, 1))
40