Page 43 - 6760
P. 43
12 1 [0, 20] x 2 20 u sin t3 u u 2 cos 2 t
x
За результатами розрахунків побудувати графіки: u 10 x , , xu 1 t , ,
a b b a 2 b a
t
u x , , txu , , де x 1 1 , x a 1 1 , x a 1 1 .
3
2
1
1
1
2
2
2 3 3
Контрольний приклад
Автори висловлюють вдячність студенту групи ПІ-12-1 Мацибурці Петру за надане право
використати в методичці наведені далі матеріали.
Варіант завдання: Розв’язати рівняння теплопровідності
U 2 2 U 2
a , x L,0 , t T,0 , a 4. Записати алгоритм розв’язку при
t x 2
U
умовах: ,0 xU 20, 0, 20 cos t , eLt, t .
t
U
x
Код програми
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))
43