Академический Документы
Профессиональный Документы
Культура Документы
Рындин Е.А. Методы решения задач математической физики. М. 2003. 119 с
Рындин Е.А. Методы решения задач математической физики. М. 2003. 119 с
.............................................................................................................. 1
1. ............................................ 5
1.1. ........................................................................... 6
1.1.1. ................................................................................ 6
1.1.2. .............................................................................. 9
1.2. ....................................................................... 11
1.2.1. ........................................................... 12
1.2.1. ................................................................. 13
1.3. ..................................................................... 15
1.3.1. ............................................................................. 15
1.4. ....... 16
1.4.1. ............................................. 17
1.4.2. .......................................................................................... 18
1.4.3. ............................................................................. 20
2. .................................................. 22
2.1. .................................................................................... 23
2.2. .................................................................................... 25
3.
............................................ 25
3.1. ....................................................................... 26
3.1.1. - ............................................................... 26
3.1.2. , ....................... 27
3.2. ...................................................................... 31
3.2.1. ...................................... 31
3.2.2. ...................................................... 37
4. ..... 39
4.1. .......... 39
4.1.1. ................................................................. 40
4.1.2. LU-....................................................................... 42
4.1.3.
.................................................................. 44
4.2. ...... 55
4.2.1. ......................................................... 56
4.2.2. - ................................................................. 61
5.
MATLAB........................................................................................ 66
5.1. .................................................. 66
5.1.1.
............................................................................ 67
5.1.2.
............................................................................................. 73
5.1.3.
............................................................................................ 83
3
5.2. ................................... 91
5.3. ............................................... 104
................................................................................................... 118
..................................................................................................... 119
.
()
, . ,
, , () .
, ,
,
.
, .
. , .
, .
, , ,
, , , ,
, , ,
, .
MATLAB ,
.
, [1 - 4]. -
,
.
5
1.
( ), , , ,
, , .
,
. , , , ,
.
n
u +
u + C(x)
A (x)
B (x)
u
x x
x
2
, =1
=1
f (x) ,
(1)
u
A ( x, y)
x
2
xx
+ Bx ( x, y)
u
+ A ( x, y)
x y
2
xy
u
+ A ( x, y)
y
2
u + ( x, y) u + C( x, y)
u
B
x
y
y
yy
+
,
(2)
f ( x, y)
,
D( x, y) = A2xy ( x, y) 4 Axx( x, y) Ayy ( x, y) .
(3)
D(x, y) < 0,
(x, y).
D(x, y) = 0,
(x, y).
6
D(x, y) > 0,
(x, y).
Axx, Axy, Ayy D x,
y, D ,
[1].
1.1.
, .
1.1.1.
, .. ,
( ) [2], (x, y, z) :
u
x
2
+ u
y
2
+ u
z
2
=0 ,
(4)
u = u(x, y, z) .
(4)
:
(5)
u = 0 ,
= + +
x y z
2
- .
V, S
X = (x, y, z).
,
W = (x, y, z) [1]:
(6)
W = k grad (T) ,
k = k(x, y, z) .
,
[1].
,
(x, y, z) f(x, y, z). f(x, y, z) (6),
.
,
QS, -
7
S, V,
(7)
QS = W dS ,
S
,
QS,
S, V, QV,
:
(9)
W dS = f ( x, y, z) dV .
S
-
W dS = divW dV .
(10)
, (10) (9),
divW dV = f ( x, y, z) dV ;
(11)
divW
f ( x, y, z)
(12)
(12) (6),
(13)
div(k( x, y, z) grad (T)) = f ( x, y, z) .
(f(x, y, z) = 0)
(k(x, y, z) = const), (13)
(14)
div( grad (T)) = 0 .
,
u = u(x, y, z)
grad (u) = u e + u e + u e ,
x
y
z
x
(15)
div(v )
v x + v y + v z ,
x y z
(16)
vx, vy, vz - v ,
(14)
T + T + T =0
x y z
2
(17)
(18)
T = 0 ,
.
.
, W N = N(x, y, z) [1]:
(19)
W = D grad (N) ,
D = D(x, y, z) .
(,
),
.
(19) (12),
( f(x, y, z) = 0) (D(x, y, z) =
const)
(20)
div( grad ( N)) = 0 ,
N + N + N =0
x
y
z
2
(21)
(22)
N = 0 .
, ,
.
(23)
rot(E) = 0 ;
div( ( x, y, z) E)
( x, y, z)
(24)
E = E(x, y, z) ; = (x, y, z)
; = (x, y, z)
9
; 0 . (23)
.
((x, y, z) = const) ((x, y, z) = 0), (24)
div(E)
=0 .
(25)
E
[1, 4]
= grad ( ) ,
(26)
div( grad ( ))
=0 ,
(27)
2
x
2
+
2
y
2
+
2
z
2
=0
(28)
=0 .
(29)
1.1.2.
[1, 4]
f ( x, y, z)
(30)
A( x, y, z)u
f ( x, y, z)
(32)
- ,
+ +
x y z
(33)
(30) (32) , . , .
10
V, S
X = (x, y, z), (13).
V (f(x, y, z) 0) (k = k(x, y, z)), (13)
k(x, y, z) T
x
x
k ( x, y, z)
+
y
T
y
+
z
k ( x, y, z)
T
z
= f ( x, y, z) , (34)
k ( x, y, z)T
f ( x, y, z)
(35)
T + T + T
x y z
2
f ( x, y, z)
k ( x, y, z)
(36)
f ( x, y, z)
k ( x, y, z)
(37)
, .. k
k 11
= k 21
k 31
k
k
k
12
22
32
k
k
k
,
23
33
13
(38)
(34) [1]
k ij
x i x j
3
i , j =1
f ( x1, x 2 , x 3)
(39)
k T
x x
11
+
y
T
k 22
+
z
k 33 z
f ( x, y, z) .
(40)
(f(x, y, z) 0) (D = D(x, y, z))
(41)
div( D( x, y, z) grad ( N )) = f ( x, y, z) ,
11
D(x, y, z) N
x
x
+
y
D(x, y, z)
N
y
+
z
D(x, y, z)
N
z
f (x, y, z) , (42)
D( x, y, z)N
f ( x, y, z) .
(43)
N + N + N
x y
z
2
f ( x, y, z)
D( x, y, z)
(44)
f ( x, y, z)
D( x, y, z)
(45)
(23), (24). (26),
div( ( x, y, z) grad ( ))
( x, y, z)
( x, y, z)
(46)
(x, y, z)
x
x
+
y
( x, y, z)
( x , y , z )
+
z
( x, y , z )
(x, y, z)
, (47)
(48)
+ +
x y z
2
( x, y, z)
(49)
( x, y, z)
(50)
1.2.
, .
12
1.2.1.
, .. .
,
(35) (6)
.
V, S
X = (x, y, z).
qV, V, S, dt,
(51)
qV = QV dt ,
QV ,
V, S, (8).
, ,
qT < qV V
(52)
qT = q dT ,
q ,
V ; dT V
dt.
qS
S:
(53)
qS = QS dt ,
QS ,
S, (7).
,
(54)
q dT + QS dt = QV dt .
,
q, V
(55)
q = ( x, y, z) C ( x, y, z) dV ,
V
(x, y, z) ; (x, y, z) ,
(55), (7), (8) (54) - (10),
(x, y, z) C(x, y, z)
dV
+
dT divW dV
f (x, y, z)
=
dt
dV
, (56)
dt
13
, ,
dt (6),
:
( x, y, z) C ( x, y, z) T div(k ( x, y, z) grad (T )) = f ( x, y, z)
t
(57)
(57)
( x, y, z) C ( x, y, z) T (k ( x, y, z)T ) = f ( x, y, z) .
t
(58)
1.2.1.
,
[4].
.
2 V,
S X = (x, y, z).
, N dt
, JS, dt
S, V:
N
t
= J S + RV ,
(59)
RV V .
,
(60)
N = n( x, y, z,t )dV ,
V
n(x, y, z, t) 3,
=
S
S
j
dS
e
n
(61)
jn ; ; dS , dS ,
,
(62)
RV = R( x, y, z,t )dV ,
V
2
3
, .
, .
14
R(x, y, z, t)
, (59)
t
e
V
(63)
(63)
- (10),
t
e
n( x, y, z,t ) = 1
divj + R( x, y, z,t ) .
t
e
V
(64)
(65)
(65) [2,
4]. ,
jn R(x, y, z, t).
,
,
, .
, ,
p( x, y, z,t )
t
= 1
divj + R( x, y, z,t ) ,
p
(66)
(x, y, z, t) ; jp .
(65), (66) ,
,
. .
,
(R(x, y, z, t) = 0). (65). .
,
, . , (65), .
(66)
,
, ,
15
(66)
.
, R(x, y, z, t) (65) (66) , - [5].
1.3.
, .
1.3.1.
. , , , . ,
.
x u(x, t) ,
(67)
; k , u(x, t) ; w ()
, u(x, t) t; s0 x = 0; 0 t = 0.
k = 2
w = 2
T
(68)
.
(69)
T .
u(x, t) x
u
x
Ak cos(kx + s 0) sin(wt + 0) .
(70)
u(x, t) t
u
t
Aw sin(kx + s 0) cos(wt + 0)
u(x, t) x
(71)
16
u = A 2 sin(
k
kx + s 0) sin(wt + 0) .
x
2
(72)
u(x, t) t
u = A 2 sin(
w
kx + s 0) sin(wt + 0) .
t
2
(73)
u = 2
k u( x,t ) ;
x
u = 2
w u( x,t ) .
t
2
(74)
(75)
1 u =1 u
w t k x
2
(76)
[6].
, w = 1 k = 1,
u = u
t x
2
(77)
(77) ,
u =
u
t
2
(78)
,
A = A(x, t), (76)
.
1.4.
. , ,
() - , (65), (66),
(46).
, . [2, 4].
17
1.4.1.
[2, 4]:
n( x, y, z,t ) = 1
divj + R( x, y, z,t ) ;
t
e
p( x, y, z,t ) = 1
divj + R( x, y, z,t ) ;
t
e
j = en E + eD grad (n) ;
(79)
(80)
(81)
j = ep E eD grad ( p) ;
p
(82)
div( ( x, y, z) grad ( ))
( x, y, z,t )
(83)
Dn, Dp ; n,
p .
(81), (82) , , ,
.
(26) [5]
kT ;
e
D = = kT ,
e
D =
n
(84)
(85)
T ; k ;
, (81), (82)
(86)
jn = e n n grad ( ) T grad (n) ;
= e
p
p grad ( ) + grad ( p) .
(87)
n
t
p
t
= div
=
(88)
(89)
18
div( grad ( ))
e p n + N
0
N A ,
(90)
ND, NA , .
(88) (90)
n
t
p
t
[ (n n )] R ;
[ (p + p )] R ;
=
=
(92)
e p n + N
(91)
N A ,
(93)
n
=
T
n n
x x
x
n
t
n
T
n n
y
y y
p
+ T
p p
y
y y
+ +
x y z
2
+ R ;
(94)
p
p
+
T
z p z
z
e
pn+ N
0
n
n
T
z n z
z
p
=
+ T
p p
x x
x
p
t
N A .
+ R ;
(95)
(96)
1.4.2.
(94) (96) , -, -
( , ,
, 108
1021 -3), -, - . , , ,
, . 1 [4].
19
1
ni 4
en
L
D=
=D
=
0
(94) (96) (. . 1)
, :
n
t
n n
x x x
n n
+ R ;
n n
n n
y y y z z z
p
t
+
p p
x x x
p p
+ R ;
+
+
p p
p p
y y y z z z
+ + =
n p N + N .
x y z
2
(97)
(98)
(99)
() .
20
(97) (99) . .
1.4.3.
(97) (99) = (x, y, z, t) n = n(x, y, z, t) p = p(x, y, z, t) n = n (x, y, z, t), p = p (x, y, z, t) -
R = R (x, y, z, t)
ND = ND (x, y, z) NA = NA (x, y, z).
. (97) (99) {n, p, } [2, 4].
,
. ,
, ,
, , , , .
:
- {n, p, } , ;
- {n, p, } ,
;
- {n, p, } ,
.
, [4]:
(100)
n = ln(n) ;
= ln( p) +
p
(101)
= exp( n) ;
(102)
5
= exp( p) .
(103)
(100) (103) .
21
exp( + ) = exp( + ) n
n
n
n
x
t
x
n
n
+
n exp( n + )
+ n exp( n + )
+R ;
y
y z
z
exp( ) = exp( ) p
p
p
p
x
t
x
(104)
(105)
p
p
+
p exp( p )
+ p exp( p )
+R ;
y
y z
z
+ + =
(106)
exp( n + ) exp( p ) + N N .
x y z
2
(104) (106) :
exp( + ) = exp( + ) + R ;
n
n
n
n
(107)
exp( ) = exp( ) + R ;
p
p
p
p
(108)
= exp( n + ) exp( p ) + N N
(109)
e = e n
t n x n
x
+
n n
+
+R ;
ne
ne
y
y z
z
(110)
22
e = e p
p
x
t p
x
p
p
+
pe
+R ;
pe
z
y
y z
+ + =
ne p e + N N .
x y z
(111)
(112)
(110) (112) :
e = e + R ;
n
t n n
(113)
e = e + R ;
p
p
t p
(114)
= n e p e + N N
(115)
2.
, ,
, . , [7].
, , ,
6, 7 [7]. , ( ).
( ),
, ( ),
.
.
.
7
.
23
2.1.
, ,
, .
(),
.
,
, . ,
, . , ,
, .
, ,
( ), ( ) [1].
(116)
u(x,t ) = g (x,t ) x , t 0 ,
u(x, t) ; g(x, t) ; x (, x = (x, y, z)), t .
,
.
..
u(x,t )
= g (x,t )
n
x , t 0 ,
(117)
n .
, , , . ,
,
..
u(x,t )
+ r (x,t ) u(x,t ) = g (x,t )
h(x,t )
n
x , t 0 ,
(118)
24
,
.
, , ( ) ,
W = (T T0 ) ,
(119)
; T
; T0 [8].
(6) (119) (6),
T =
(T T0 ) ;
n
T
T = T0 ,
k
n
k
(120)
(121)
(. (118)).
-, ,
,
4
4
W = (T)c T T0
0
),
(122)
0 8; 9 [8].
(6) (122) (6),
T = (T)c 4 4
T T0
n
k T
4
4
c T = c T0 .
(T) n
);
(123)
(124)
(119) (124)
T = T(x, y, z) , .
,
[6]: ,
,
.
9
.
25
,
..
2.2.
, , .. , , , (\), :
(125)
u(x,0) = (x) x \ ;
u(x,0)
= (x) x \ ;
t
u(x,0)
+ (x) u (x,0) = (x)
(x)
t
(126)
x \ ,
(127)
26
( ).
() , LU- . [3].
, , . [1, 3].
3.1.
,
, .
3.1.1. -
, [0, s].
xi = ih, i = 0, 1, 2, , n n
h = s/n . G = {xi = ih | i = 0, 1, 2, , n} , h [1].
[0, s] n ,
0 < x1 < x2 < < xi-1 < xi < xi+1 < < xn-1 < s.
G = {xi | i = 0, 1, 2, , n, x0 = 0, xn = s}
hi = xi xi-1, i xi. hi hi+1 i, G (. 1, ).
x
x1
x2 x3
ym
yj+1
yj
z
ym 1
yj+1
yj
y2
y2
y1
x
x1
x2 x3
y1
zl
zkzk+1
z
z2k-1
z
x
x1
x2 x3
. 1. :
; ; -
27
,
G = {(xi = ih1, yj = jh2), | i = 0, 1, 2, , n, j = 0, 1, 2, , m }. G = {(xi, yj) | i = 0, 1, 2, , n, j = 0,
1, 2, , m, x0 = 0, xn = s1, y0 = 0, ym = s2} (. 1, ).
G = {(xi, yj, zk) | i = 0, 1, 2, , n, j = 0, 1, 2, , m, k = 0, 1, 2, , l, x0 = 0, xn
= s1, y0 = 0, ym = s2, z0 = 0, zl = s3} (. 1, ).
3.1.2. ,
G ,
(. . 1).
, [1, 2, 4, 6].
G = {(xi, yj, zk) | i = 0, 1, 2, ,
n, j = 0, 1, 2, , m, k = 0, 1, 2, , l, x0 = 0, xn = s1, y0 = 0, ym = s2, z0 = 0, zl = s3}.
= (xi, yj, zk), i = 0, 1, 2, , n, j = 0, 1, 2, , m, k = 0, 1, 2, , l
(xi, yj, zk) ,
G [1].
f(x, y, z), , (xi, yj, zk) ( i,j,k), G = {(xi, yj, zk) | i = 0, 1, 2, , n, j = 0, 1, 2, , m,
k = 0, 1, 2, , l, x0 = 0, xn = s1, y0 = 0, ym = s2, z0 = 0, zl = s3} (
f(x, y, z) G), .
,
i , j , k = f ( xi , y j , z k ) ;
i, j , k =
(128)
xi +1 / 2 y j +1 / 2 z k +1 / 2
y j1 / 2
(z
k +1 / 2
f ( x, y, z)dxdydz
z k 1 / 2 xi1 / 2 y z k 1 / 2
j 1 / 2
, (129)
xi +1 / 2 = x
i +1
+ xi
x +x ;
2
y +y
;
y j +1 / 2 =
2
xi 1/ 2 =
i 1
j +1
(130)
(131)
(132)
28
y +y
2
+z
z
=
z k +1 / 2
2
+
z k 1 / 2 = z z
2
y j 1 / 2 =
j 1
k +1
(133)
(134)
k 1
(135)
.
, ,
, ,
[1].
x
x0 , [7]:
df ( x)
dx
f ( x) f ( x0)
x x
lim
( x x0 ) 0
(136)
(136), f(x, y, z) () ,
(xi, yj, zk). [1, 2, 4], :
f ( x, y, z)
x
x
f ( x, y, z)
y
y
i +1, j ,k
i , j ,k
(137)
i , j ,k
(138)
i , j ,k
(139)
i 1, j ,k
(140)
(141)
(142)
i , j +1,k
f ( x, y, z)
z
f ( x, y, z)
x
f ( x, y, z)
y
f ( x, y, z)
z
f ( x, y, z)
x
i , j ,k +1
y
k
i , j ,k
i 1
i , j ,k
i , j 1,k
j 1
i , j ,k
z
i +1, j ,k
i , j ,k 1
k 1
2x
i 1, j ,k
i 1
(143)
29
f ( x, y, z)
y
2y
i , j +1,k
i , j 1,k
(144)
(145)
j 1
f ( x, y, z)
z
2z
i , j ,k +1
i , j ,k 1
k 1
xi, yj, zk ,
(146)
xi = xi+1 xi ;
y j = y
z k = z
j +1
(147)
(148)
(136) (138) , (139) (141) , (142) (144) [1].
, .
:
k +1
zk .
f ( x, y, z)
x
i +1, j ,k
i +1, j ,k
i 1
i , j ,k
i , j ,k
i , j ,k
(149)
i 1, j ,k
i 1
i 1
xi + xi1
2
i 1, j ,k
2
=
x + x x
i
i , j ,k
f ( x, y, z)
2
y
y + y y
i , j +1,k
i , j ,k
j 1
f ( x, y, z)
2
z
z + z
2
i , j ,k +1 i , j ,k
zk
k 1
;
y j1
i, j ,k i, j ,k 1
.
zk 1
i , j ,k
i , j 1,k
(150)
(151)
, .. xi = xi-1 = x, yj = yj-1 = y,
zk = zk-1 = z, (148) (150) :
f ( x, y , z )
x
2
i +1, j , k
i , j +1,k
i , j ,k
2
i 1, j , k
(152)
i , j 1,k
(153)
i , j ,k 1
(154)
i , j ,k
2
f ( x, y, z)
y
f ( x, y, z)
z
i , j ,k +1
i , j ,k
2
30
:
f ( x, y, z)
xy
i +1, j +1,k
i , j +1,k +1
f ( x, y, z)
xz
i , j ,k +1
i +1, j ,k +1
i , j ,k +1
i , j ,k
i +1, j +1,k
i , j +1,k
i
i , j +1, k
i +1, j ,k
i , j ,k
(155)
i , j +1,k +1
i , j ,k +1
y z
j
i +1, j ,k
i , j ,k
x y
i +1, j ,k
i , j +1,k
f ( x, y, z)
yz
i , j ,k
i +1, j ,k +1
i , j ,k +1
x z
i
i , j +1,k
i , j ,k
(156)
i +1, j ,k
i , j ,k
(157)
[1].
(137) (157)
[6].
,
, .
(i, j, k), (i1, j1, k1),
(i2, j2, k2) ..
, , .
,
f ( x)
x
x
i +1
(158)
f ( x)
x
x
i
(159)
i 1
i 1
.
(152)
31
.
(155)
.
3.2.
,
,
() .
3.2.1.
.
{pi | i = 1, 2, , n} .
i- i , pi, pj (. 2).
{i | i = 1, 2, , n}
[2]. (. 3).
. 2.
. 3.
32
, , [2],
.
, , ,
. ,
(. 4), [2]:
1) () ;
2) ,
;
3) ,
, 3 , .
. 4. ( )
( )
,
(. . 4). , [2]. , .
-
, . ,
, (. 5).
.
33
. 5. ,
. 6.
, (. 6),
[2].
[2]. , . , i- i-
i . , i-1 .
, [2], , (. 7), , 1, , . , , , , , , -
34
. 1
.
. 7.
1 (. 8).
. 8.
(. 9).
35
. 9.
,
, . 10.
. 10.
(. 11).
36
. 11.
[2]:
-
, ;
- , ,
( );
- , ,
,
.
, ,
. ,
, , . [2].
, D, , D D (. 12) [9].
. 12. ,
37
. , ,
[9].
[9].
1. .
2.
, , .
3.2.2.
[2]. .
,
. V, S, ,
(46) (48).
(46) V,
1
div( ( x, y, z) grad ( ))dV + ( x, y, z)dV = 0 ,
(160)
1
( ( x, y, z) )dV + ( x, y, z)dV = 0 .
(161)
1
( x, y, z)dS + ( x, y, z)dV = 0 .
(162)
0 V
0 V
- (10),
(161)
S
0 V
(162)
(48)
.
(162) 0 D, p0 (. 13)
, (
H,
), :
38
H
H ( x, y, z)dl + ( x, y, z)dS = 0 ,
S
D
(163)
dl D; dS0 , p0 (. . 13);
. 13. m-
M0
m=1
Pm
+ P0
+ 1
S =0 ,
h
m
(164)
Mi
m =1
Pm
+ Pi
+ 1
S = 0 , i =1,2,..., N
h
m
int
(165)
i ; Nint .
(. . 13)
,
39
. ,
( x, y, z)
= g ( x, y, z )
n
( x, y, z) ,
(166)
n ; g(x, y, z) ,
M
m=1
Pm g +
m
Mi
m= M +1
Pm
+ Pi
+ 1
S = 0 , i =1,2,..., N
h
m
ext
, (167)
, ; Next
, .. , (. . 13); gm g(x, y, z) m-
.
, (165), (167), (48), (166)
,
.
N = Nint + Next.
4.
( ), ( ) ( ) .
4.1.
()
, LU- ., [3]. ,
,
.
, . .
.
n n
40
a x + a x + a x +K+ a
a x + a x + a x +K+ a
a x + a x + a x +K+ a
M
a x + a x + a x +K+ a
13
1n
x =b ;
x =b ;
x =b ;
11
12
21
22
23
2n
31
32
33
3n
n1
n2
n3
nn
(168)
x =b ,
n
A x =B ,
(169)
a x + a x + a x +K+ a
a x + a x +K+ a
a x +K+ a
M
a
11
12
22
13
1n
23
2n
33
3n
x =b ;
x =b ;
x =b ;
nn
x =b .
(171)
, aij = 0 i < j, :
a x =b ;
a x +a =b ;
a x +a x +a x =b ;
M
a x + a x + a x +K+ a x = b .
11
21
22
31
32
33
n1
n2
n3
nn
(172)
, (171)
, (172) [3].
41
, = ( )
(173)
aii 0 , i =1,2,..., n ,
[3].
. , (171) n- xn,
:
b
a
(174)
nn
(174), (n - 1)-
xn1 =
n 1
a( n 1) n xn
(175)
( n 1)( n 1)
, , :
bi
a x
j =i +1
ij
i = n 1, n 2,...,2,1 .
(176)
ii
( 1- ) .
(168) [3].
(168) (171) (172),
.
,
[3].
, :
1) ;
2) ;
3)
, .
, , , .
[3].
(177)
y = A + Bx + Cx2 ,
42
(1, 1), (2, -1), (3, 1).
(177),
, x y.
,
(177):
A + B + C = 1;
A + 2B + 4C = 1;
A + 3B + 9C = 1.
(178)
, .
:
A+
B+ C =
1;
B + 3C = 2;
2B + 8C =
0.
(179)
(179)
, 2.
:
A+ B + C =
1;
B + 3C = 2;
2C =
4.
(180)
(180),
: = 2, = -8, = 7. ,
(181)
y = 7 8 x + 2 x2 .
4.1.2. LU-
(168), (169). ,
n n 10.
(182)
A = LU ,
L n n,
; U n n.
(169)
10
n n , [3].
43
LUx = B
(183)
- Y,
Ux = Y .
(184)
(184) (183),
LY = B .
(185)
3 1
4
A = 2 4 5 .
1 2 6
(186)
A = EA
(187)
, ,
.
(187),
3 1
1 0 0 4
A = 0 1 0 2 4 5 .
0 0 1 1 2 6
(188)
3 1
1 0 0 4
(189)
, :
, -0.5, l21
, 0.25, l31
44
1
3
1 0 0 4
(190)
0 0 4
3 1
1
1 0 0 2.5 4.5 .
A = 0.5
0.25 0.5 1 0
0 8.5
(191)
, -0.5, l32
0 0
1
1 0 ;
L = 0.5
0.25 0.5 1
3 1
4
U = 0 2.5 4.5 .
0
0 8.5
(192)
(193)
, LU .
,
LU- [3]. , , ( ), LU , .
, , .
.
4.1.3.
, ,
. ,
-
45
, [1, 3].
LU (n3) [3],
, , - .
(168).
:
= b1
a
b a x +a x
x=
a
11
21
23
+ K + a 2 n xn
22
M
x
(194)
;
ii
M
xn =
b a x +a x
a
n
n1
n2
+ K + an ( n1) xn 1
nn
(194) , :
1) . , , . ;
2) x(0) = [x1(0), x2(0), , xn(0)]11. ,
. , ,
n- , ,
;
3) x(k) = [x1(k), x2(k), , xn(k)]
x(k-1) = [x1(k-1), x2(k-1), , xn(k-1)]
(194)
(k )
b a x
=
i
i1
( k 1)
i = 1, 2, , n;
11
( k 1)
( k 1)
( k 1)
+ K + ai ( i 1) xi 1 + ai ( i +1) xi +1 K + ain xn
ii
(195)
46
4) k- . ,
x (2k 1) ,...,
x (nk 1) )
5)
,
(196)
(197)
.
. 3) .
. , .
.
, , , . , . , .
.
, , (196) , . ,
.
(196)
, ,
x (20) ,...,
x (n0) )
(198)
.
.
(195),
xi(k) , i-, xj(k-1) . , xi(k)
j < i , xi(k).
, [3]:
1) ;
47
2) x(0) = [x1(0), x2(0), , xn(0)];
3) x(k) = [x1(k), x2(k), , xn(k)]
(k )
b a x
=
i
i1
(k )
(k )
( k 1)
( k 1)
+ K + ai ( i 1) xi 1 + ai ( i +1) xi +1 K + ain xn
(199)
ii
i = 1, 2, , n;
4) k- ;
5)
,
(200)
.
. 3) .
, - , (199), .
.
2;
2 x1 x 2 + x3 =
4 x1 6 x 2 + x3 = 4;
2 x1 + x 2 + 8x3 = 16
(201)
2 + x 2 x3 ;
2
4 4 x1 x3 ;
x2 =
6
16 + 2 x1 x 2 ,
=
x3
8
(202)
x1 =
(202) MATLAB.
MATLAB :
function X=yakobi(A,B,X0,delta,Imax)
% .
% A
-
%
n x n;
48
%
%
%
%
%
B
X0
delta
Imax
X
- ;
- ;
;
;
AX = B.
n=length(B);
err=5*delta;
X=X0;
ct=0;
while err>delta
Xp=X;
for i=1:n
X(i)=(B(i)-A(i,[1:i-1,i+1:n])*
Xp([1:i-1,i+1:n]))/A(i,i);
end
if max(abs(X0))==0
error(' ')
break
end
err=max(abs(X-Xp))/max(abs(X0));
ct=ct+1;
Xe(ct,:)=[X' err];
if ct>Imax
error(' ')
break
end
end
Xe
ct
MATLAB [10, 11].
10-5
100, MATLAB,
yakobi.m /WORK ,
MATLAB, , .
A=[ 2 -1 1; 4 -6 1; -2 1 8];
B=[2; -4; 16];
X0=[1; 2; 2];
X=yakobi(A,B,X0,1e-5,1e2)
49
3 3,
- 3 1, - 0 3 1 .
Xe =
1.0000
0.8333
0.8125
0.7813
0.7669
0.7598
0.7551
0.7529
0.7516
0.7509
0.7505
0.7503
0.7501
0.7501
0.7500
0.7500
0.7500
1.6667
1.6667
1.5625
1.5417
1.5221
1.5117
1.5068
1.5036
1.5020
1.5011
1.5006
1.5003
1.5002
1.5001
1.5001
1.5000
1.5000
2.0000
2.0417
2.0000
2.0078
2.0026
2.0015
2.0010
2.0004
2.0003
2.0001
2.0001
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
0.1667
0.0833
0.0521
0.0156
0.0098
0.0052
0.0025
0.0016
0.0008
0.0005
0.0002
0.0001
0.0001
0.0000
0.0000
0.0000
0.0000
ct =
17
X =
0.7500
1.5000
2.0000,
1, 2, 3 , ,
ct , .
, (201)
-5
10 (0) = [1, 2, 2]
17 .
50
MATLAB :
function X=zeydel(A,B,X0,delta,Imax)
%
%
%
%
%
%
%
%
-.
A
-
n x n;
B
- - ;
X0
- - ;
delta - ;
Imax - ;
X
- AX = B.
n=length(B);
err=5*delta;
X=X0;
ct=0;
while err>delta
Xp=X;
for i=1:n
X(i)=(B(i)-A(i,[1:i-1,i+1:n])*
X([1:i-1,i+1:n]))/A(i,i);
end
if max(abs(X0))==0
error(' ')
break
end
err=max(abs(X-Xp))/max(abs(X0));
ct=ct+1;
Xe(ct,:)=[X' err];
if ct>Imax
error(' ')
break
end
end
Xe
ct
- 10-5
100 .
zeydel.m /WORK ,
MATLAB,
, .
51
A=[ 2 -1 1; 4 -6 1; -2 1 8];
B=[2; -4; 16];
X0=[1; 2; 2];
X=zeydel(A,B,X0,1e-5,1e2)
3 3,
- 3 1, - 0 3 1 - .
Xe =
1.0000
0.8125
0.7695
0.7558
0.7517
0.7505
0.7502
0.7500
0.7500
0.7500
1.6667
1.5486
1.5146
1.5044
1.5013
1.5004
1.5001
1.5000
1.5000
1.5000
2.0417
2.0095
2.0031
2.0009
2.0003
2.0001
2.0000
2.0000
2.0000
2.0000
0.1667
0.0937
0.0215
0.0069
0.0020
0.0006
0.0002
0.0001
0.0000
0.0000
ct =
10
X =
0.7500
1.5000
2.0000.
, (201)
10 (0) = [1, 2, 2] 10 . - 1.7 ,
.
-5
52
,
- ,
.
= [aij] n n ,
ii
> aij ,
(203)
j =1
j i
[3].
-
.
, = =
- {(k)}, (0) [3].
. , - .
(201)
.
4 6 1
A = 2 1 1 ,
2
1 8
(204)
,
(203) .
, 15 12
Xe =
1.0e+003 *
0.0015
0.0015
0.0030
0.0032
0.0073
0.0086
0.0203
12
0.0020
0.0030
0.0031
0.0059
0.0067
0.0147
0.0181
0.0020
0.0021
0.0020
0.0024
0.0021
0.0030
0.0023
0.0003
0.0005
0.0007
0.0014
0.0021
0.0040
0.0059
, 1.0+003 (103)
.
53
0.0256
0.0591
0.0793
0.1758
0.2472
0.5275
0.7704
1.5901
2.3959
0.0409
0.0541
0.1196
0.1666
0.3565
0.5175
1.0723
1.6080
3.2388
0.0048
0.0033
0.0100
0.0069
0.0251
0.0192
0.0692
0.0606
0.1985
0.0114
0.0167
0.0327
0.0483
0.0950
0.1402
0.2774
0.4098
0.8154
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.0003
0.0010
0.0030
0.0089
0.0266
0.0797
0.2391
0.7174
2.1523
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.0003
0.0010
0.0030
0.0089
0.0266
0.0797
0.2391
0.7174
54
- , , - [3].
, , ,
. ,
, [1, 3].
LU-,
.
,
a x + a x + a x +K+ a
a x + a x + a x +K+ a
a x + a x + a x +K+ a
M
a x + a x + a x +K+ a
13
1n
x =b ;
x =b ;
x =b ;
11
12
21
22
23
2n
31
32
33
3n
n1
n2
n3
nn
(205)
x =b .
n
(205) 2 :
a x + a x + a x +K+ a x = b ;
a x + a x + a x +K+ a x = b ;
a x + a x + a x +K+ a x = b ;
M
a x + a x + a x +K+ a x = b
12
21
22
23
2n
31
32
33
3n
( n / 2) 2
( n / 2 )1
13
1n
11
( n / 2)3
( n / 2) n
(206)
n/2
a
a
a
x +a
x +a
x +a
M
a x + a x + a x +K+ a
( n / 2+1)1
( n / 2 + 2 )1
( n / 2 + 3)1
n1
x +a
x +a
x +a
( n / 2+ 2 ) 2
( n / 2+ 2 ) 3
( n / 2+ 2 ) n
n / 2+ 2
( n / 2 + 3) 2
( n / 2 + 3) 3
( n / 2 + 3) n
n / 2+3
nn
n3
x =b .
n
n / 2 +1
n2
( n / 2 +1) n
x =b
x =b
x =b
( n / 2+1) 2
( n / 2 +1) 3
x +K+ a
x +K+ a
x +K+ a
(207)
55
:
1) ;
2) {x1, x2, x3, , xn/2} (
);
3) {x1, x2, x3, , xn/2} (207);
4) (207) {xn/2+1, xn/2+2, xn/2+3, ,
xn} ( , LU-,
.);
5) {xn/2+1, xn/2+2, xn/2+3, , xn}
(206);
6) (206) {x1, x2, x3, , xn/2} ( , LU-, .);
7)
, ,
x (20) ,...,
x (n0/)2 )
(208)
;
8)
(209)
,
{x1, x2, x3, , xn}. . 3) .
2
, (206) (207) 2 , (205), . (205) , .
4.2.
, ,
, -
[1, 3].
56
4.2.1.
x
x
x
f (x , x ,K , x );
f (x , x ,K , x );
f (x , x ,K , x );
M
f (x , x ,K , x ),
1
(210)
f p , p ,K , p
p1 , p 2 ,K , p n ;
2
p1 , p 2 ,K , p n ;
3
(211)
M
p
f p , p ,K , p
n
, (210).
, , :
1) ;
2) x(0) = [x1(0), x2(0), , xn(0)];
3) x(k) = [x1(k), x2(k), , xn(k)]
x(k-1) = [x1(k-1), x2(k-1), , xn(k-1)]
(210)
(k ) =
xi
(212)
i = 1, 2, , n;
4) k-
x (20) ,...,
x (n0) )
(213)
57
5)
,
(214)
.
. 3) .
-
,
(212),
(k ) =
xi
(215)
i = 1, 2, , n.
.
(210) f1, f2, , fn
,
= (1, 2, , n).
x(0) = (x1(0), x2(0), , xn(0))
f 1
x1
p1, p 2,K, p n
f 2
x1
p1, p 2,K, p n
f 3
x1
p1, p 2,K, p n
f 1
x 2
+K +
p1, p 2,K, p n
f 2
x 2
+K +
p1, p 2,K, p n
f 3
x 2
+K +
p1, p 2,K, p n
f 1
x n
<1 ;
p1, p 2,K, p n
f 2
x n
<1 ;
p1, p 2,K, p n
f 3
x n
<1 ;
p1, p 2,K, p n
M
f n
x1
p1, p 2,K, p n
f n
x 2
+K +
p1, p 2,K, p n
f n
x n
<1 ,
p1, p 2,K, p n
, (212) (215), .
(216)
58
(216) . (216) ,
( ) . ,
1 [3].
(217)
x = g (x) ,
g(x) .
, (217)
:
=
y
y =
g ( x) ;
x
(218)
(218) , ,
(217), y = g(x) y = x
(. 14).
= 0 (. . 14).
y = g(x), y, y = x, = 1
(. . 14).
. 14.
59
, ,
= 2, , ,
(. . 14).
,
dg ( x)
<1 ,
dx
(219)
. , . k- (k 1)- ,
, (213).
, k- , , . , , , ,
(213), k- (k 1)- . , k-
( ) , (213).
(. . 14)
,
. [3].
. 15 (217), (219).
, .
[3].
(217), (218) ,
(219) ,
dg ( x)
>1 ,
dx
(220)
, = 0 ,
.
dg(x)/dx
( dg(x)/dx > 1, . 16) ( dg(x)/dx < -1, . 17) [3].
60
. 15.
. 16.
61
. 17.
4.2.2. -
(217).
(221)
f ( x) = 0 .
f(x), , (221) - ( ),
, [1 4].
(221) , y = f(x) (. 18).
= 0 . = 1
y = f(x) = 0. = 1 , = 0 (. . 18).
, 0 1,
y = f(x),
= 0 = 1:
df ( x)
dx x = p
=
0
( ) ( ).
f p1 f p 0
p1 p 0
(222)
62
. 18. -
, f(p1) = 0 (. . 18),
p1 = p 0
f ( p 0)
df ( x)
dx x = p
(223)
(223) k- ,
p k = p k 1
f ( p k 1)
df ( x)
dx x = p
(224)
k 1
n,
f (x , x ,K , x ) = 0 ;
f (x , x ,K , x ) = 0 ;
f (x , x ,K , x ) = 0 ;
M
f (x , x ,K , x ) = 0 .
1
(225)
63
(225)
F ( x) = 0 ,
(226)
d F (x )
(k )
( k 1)
x =x
dx
(
k
1
)
dF(x )
dx
(
k
1
)
d F (x )
dx
F (x ( k 1)) ,
(227)
f 1
x1
f 2
=
x1
f n
x1
n n,
f 1
x 2
f 2
x 2
f n
x 2
K
K
M
K
f 1
x n
f 2
x n
f n
x n
(228)
5)
,
x (20) ,...,
x (n0) )
(229)
(230)
64
.
. 3) .
, , - ,
. 19 [3].
, ,
(. 20) [3].
- [3].
(226).
d
(
)
F
x
G ( x) = x
dx
F (x
-.
. 19.
-
(231)
65
. 20.
-
= (1, 2, , n) (226).
F (P )
=0 .
(232)
(232) (231),
G (P )
=P .
(233)
, -
(231), , -
66
g 1
x1
p1, p 2,K, p n
g 2
x1
p1, p 2,K, p n
g 3
x1
p1, p 2,K, p n
g 1
x 2
+K +
p1, p 2,K, p n
g 2
x 2
+K +
p1, p 2,K, p n
g 3
x 2
+K +
p1, p 2,K, p n
g 1
x n
<1 ;
p1, p 2,K, p n
g 2
x n
<1 ;
p1, p 2,K, p n
g 3
x n
<1 ;
p1, p 2,K, p n
M
g n
x1
p1, p 2,K, p n
g n
x 2
+K +
p1, p 2,K, p n
g n
x n
<1 .
p1, p 2,K, p n
(234)
[1, 3, 7] ,
,
- . ,
, . -, .
5.
MATLAB
MATLAB 5..
5.1.
, . ,
, .
67
5.1.1.
u
x
2
f ( x) ,
(235)
; u(x) ; f(x)
, [xmin, xmax]
x = xmin, x = xmax.
[xmin, xmax]
:
x = {xi |i =1,2,...,n } .
(236)
()
u ( x1) = g1 ;
(237)
u ( xn) = g 2 ,
(238)
du
dx
du
dx
=g ;
1
(239)
=g .
2
(240)
x1
xn
(236) ,
(241)
u1 = g ;
1
un = g 2 ,
(242)
u 2u1 = ;
g1
x
(243)
68
u nu n 1 = .
g2
x
(244)
(235) ,
ui +12ui +ui 1
2
x
f i , i = 2,K, n 1 ,
(245)
fi f(x) xi.
,
n, n 2
(245) (241) (243) (242)
(244) .
(235) (237) (240) (236).
%
% d2u/dx2=f(x,y)
% /
function[x,u]=puass_1d(x0,xn,n,f,v1,g1,v2,g2)
% :
% x0 - ;
% xn - ;
% n - ;
% f - ,
%
,
%
, , 'exp(-x)+exp(-y)';
% v1 - ,
%
%
= (1) (1 - , 2 - );
% g1 -
%
, , '0';
% v2 - ,
%
%
= (n) (1 - , 2 - );
% g2 -
%
.
% :
% - -
%
1 n;
% U - U
%
1 n.
69
%
if exist('x0')==0
x0=0;
end
if exist('xn')==0
xn=5;
end
if exist('n')==0
n=50;
end
if exist('f')==0
f='2*sin(x^2)+10*cos(x^2)';
end
if exist('v1')==0
v1=1;
end
if exist('g1')==0
g1='0';
end
if exist('v2')==0
v2=2;
end
if exist('g2')==0
g2='-0.5';
end
%
x=x0:(xn-x0)/(n-1):xn;
dx=x(2)-x(1);
% , ,
%
F=inline(f,'x');
G1=inline(g1,'x');
G2=inline(g2,'x');
% n x n,
% 0
a=zeros(n,n);
70
% -
% 1 x n,
% 0
b=zeros(1,n);
% ,
%
% v1, v2
b(1)=G1(x(1));
if v1==1
a(1,1)=1;
elseif v1==2
a(1,1)=-1/dx;
a(1,2)=1/dx;
else
error('Parameter v1 have incorrect value');
end
b(n)=G2(x(n));
if v2==1
a(n,n)=1;
elseif v2==2
a(n,n)=1/dx;
a(n,n-1)=-1/dx;
else
error('Parameter v2 have incorrect value');
end
% ,
%
for i=2:n-1
a(i,i)=-2/dx^2;
a(i,i+1)=1/dx^2;
a(i,i-1)=1/dx^2;
b(i)=F(x(i));
end
%
u=b/a';
71
% u(x,y)
plot(x,u)
xlabel('x')
ylabel('u')
grid on
, %, .
puass_1d.m /WORK, MATLAB.
puass_1d :
puass_1d;
x=puass_1d;
[x,u]=puass_1d;
[x,u]=puass_1d(x0,xn,n,f,v1,g1,v2,g2).
, ,
.
;
,
.
; .
; , , u.
,
puass_1d;
f()
(235),
(246)
u ( xmin) = 0
du
dx
= 0.5
(247)
(248)
xmax
xmin = 0, xmax = 5 ,
50 (. 21).
72
. 21.
puass_1d
[x,u]=puass_1d(-1,6,100,'sin(x)',1,'1',2,'-0.5');
f()
(235),
(249)
f ( x) = sin(x) ,
u ( xmin) =1
du
dx
= 0.5
(250)
(251)
xmax
73
. 22.
puass_1d ,
puass_1d (
), . .
5.1.2.
u + u
x y
2
f ( x, y) ,
(252)
, y ; u(x, y) ; f(x, y) ,
x = xmin, x = xmax, y = ymin, y = ymax.
[xmin, xmax]
:
x = {xi |i =1,2,...,n } ,
(253)
[ymin, ymax] y:
y = {y j| j =1,2,...,m } .
(254)
, (253) (254), :
74
G = {(xi = i, yj = jy), | i = 1, 2, , n, j = 1, 2, , m }.
(255)
()
u (x1 , y ) = g1( y) ;
(256)
u ( xn , y ) = g 2 ( y) ;
(257)
u (x , y1) = g 3( x) ;
(258)
u ( x , y m) = g 4 ( x) ,
(259)
u
x
=g
=g
=g
2 ( y)
(261)
3( x)
(262)
(263)
x , y1
u
y
(260)
x n, y
u
y
x1, y
u
x
1( y)
=g
4 ( x)
x , ym
(255) ,
u1, j = g1( y j) ;
(264)
u n, j = g 2 ( y j) ;
(265)
ui,1 = g 3( xi ) ;
(266)
75
u i, m = g 4 ( xi ) ,
(267)
u1,j, un,j, ui,1, ui,m u(x, y) (x1, yj), (xn, yj), (xi, y1), (xi,
ym), .
(255),
u 2, j u1, j
= g (y ) ;
1 j
x
(268)
u n, j u n1, j
= g (y ) ;
j
2
x
(269)
ui,2 ui,1
= g (x ) ;
3 i
y
(270)
ui,m ui,m1
= g (x ) .
4 i
y
(271)
(252) ,
f i, j ,
i = 2,K, n 1 ; j = 2,K, m 1 ,
(272)
d2u/dx2+d2u/dy2=f(x,y)
/
function[x,y,U]=
puass_2d(x0,xn,n,y0,ym,m,f,v1,g1,v2,g2,v3,g3,v4,g4)
% :
76
-
;
;
y;
y;
;
y;
,
,
, , 'exp(-x)+exp(-y)';
,
= (1) (1 - , 2 - );
,
,
;
,
= (n) (1 - , 2 - );
,
,
;
,
y = y(1) (1 - , 2 - );
,
,
;
,
y = y(m) (1 - , 2 - );
,
,
.
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
x0
xn
y0
ym
n
m
f
%
%
%
%
%
%
%
:
- -
1 n;
y - - y
1 m;
U - U
n m.
v1 -
g1 -
v2 -
g2 -
v3 -
g3 -
v4 -
g4 -
77
%
if exist('x0')==0
x0=0;
end
if exist('xn')==0
xn=1;
end
if exist('n')==0
n=10;
end
if exist('y0')==0
y0=0;
end
if exist('ym')==0
ym=2;
end
if exist('m')==0
m=20;
end
if exist('f')==0
f='exp(-x)+exp(-y)';
end
if exist('v1')==0
v1=1;
end
if exist('g1')==0
g1='sin(y^2)';
end
if exist('v2')==0
v2=1;
end
if exist('g2')==0
g2='cos(3*y)';
end
if exist('v3')==0
v3=2;
end
if exist('g3')==0
g3='10*sin(x^2)';
end
if exist('v4')==0
v4=2;
end
78
if exist('g4')==0
g4='10*sin(6*x)';
end
%
x=x0:(xn-x0)/(n-1):xn;
y=y0:(ym-y0)/(m-1):ym;
dx=x(2)-x(1);
dy=y(2)-y(1);
% , ,
%
F=inline(f,'x','y');
G1=inline(g1,'y');
G2=inline(g2,'y');
G3=inline(g3,'x');
G4=inline(g4,'x');
%
N=n*m;
% N x N,
% 0
a=zeros(N,N);
% -
% 1 x N, 0
b=zeros(1,N);
% ,
%
% v1, v2, v3, v4
for j=1:m
b(j)=G1(y(j));
if v1==1
a(j,j)=1;
elseif v1==2
a(j,j)=-1/dx;
a(j,m+j)=1/dx;
else
error('Parameter v1 have incorrect value');
79
end
b(m*(n-1)+j)=G2(y(j));
if v2==1
a(m*(n-1)+j,m*(n-1)+j)=1;
elseif v2==2
a(m*(n-1)+j,m*(n-1)+j)=1/dx;
a(m*(n-1)+j,m*(n-2)+j)=-1/dx;
else
error('Parameter v2 have incorrect value');
end
end
for i=2:n-1
b(m*(i-1)+1)=G3(x(i));
if v3==1
a(m*(i-1)+1,m*(i-1)+1)=1;
elseif v3==2
a(m*(i-1)+1,m*(i-1)+1)=-1/dy;
a(m*(i-1)+1,m*(i-1)+2)=1/dy;
else
error('Parameter v3 have incorrect value');
end
b(m*(i-1)+m)=G4(x(i));
if v4==1
a(m*(i-1)+m,m*(i-1)+m)=1;
elseif v4==2
a(m*(i-1)+m,m*(i-1)+m)=1/dy;
a(m*(i-1)+m,m*(i-1)+m-1)=-1/dy;
else
error('Parameter v4 have incorrect value');
end
end
% ,
%
for i=2:n-1
for j=2:m-1
a(m*(i-1)+j,m*(i-1)+j)=-2/dx^2-2/dy^2;
a(m*(i-1)+j,m*(i)+j)=1/dx^2;
a(m*(i-1)+j,m*(i-2)+j)=1/dx^2;
a(m*(i-1)+j,m*(i-1)+j+1)=1/dy^2;
a(m*(i-1)+j,m*(i-1)+j-1)=1/dy^2;
b(m*(i-1)+j)=F(x(i),y(j));
end
end
80
%
u=b/a';
%
%
%
%
-
n x m,
for i=1:n
for j=1:m
U(i,j)=u(m*(i-1)+j);
end
end
% U(x,y)
surf(y,x,U)
xlabel('y')
ylabel('x')
zlabel('U')
grid on
puass_2d.m /WORK,
MATLAB.
puass_2d :
puass_2d;
x=puass_2d;
[x,y]=puass_2d;
[x,y,U]=puass_2d;
[x,y,U]=puass_2d(x0,xn,n,y0,ym,m,f,v1,g1,v2,g2,v3,g3,v4,g4).
, , , .
;
,
.
; .
; ,
,
y.
81
; , , , y U.
,
puass_2d;
f(, y)
(252),
(273)
2
u (xmin, y ) = sin( y )
u (xmax, y ) = cos(3 y )
du
dy
= 10 sin(x
(275)
(276)
x , y1
du
dy
(274)
= 10 sin(6x)
(277)
x , ym
f ( x, y) = x2 + 3 y
(278)
u (xmin, y ) = 2 ysin(3y )
(279)
82
. 23.
puass_2d
u (xmax, y ) = 3 ycos(4 y )
du
dy
= 2 x
(280)
(281)
x , y1
du
dy
= 3x 2
(282)
x , ym
83
. 24.
puass_2d ,
puass_2d
. .
5.1.3.
(252) , (273) (274) (277) xmin =
0, xmax = 1, ymin = -1, ymax = 1 .
MATLAB 5.
pdetool.
pdetool.
(. 25).
84
. 25. pdetool
,
, (0, 1) , (1, -1) , ,
. (. 26).
,
.
(. 27). y, . . .
.
, .
.
Set formula , + - (. . 26).
85
. 26. pdetool
. 27.
pdetool
,
, . 28.
86
. 28. pdetool
, ( ). (. 29 32).
. 29.
87
y , ,
, x y.
,
PDE, , . 33.
. 30.
. 31.
. 32.
88
. 33. pdetool
(. 34).
(. 35).
. 34.
pdetool
89
. 35. pdetool
=.
(. 36).
(3D) ,
,
, . 37.
Plot ,
. 38.
90
. 36. pdetool
. 37.
pdetool
91
. 38. 3D-
pdetool
HELP MATLAB [10, 11].
5.2.
( x, y) C ( x, y) T (k ( x, y)T ) = f ( x, y)
t
(283)
t ; , y ; T(x, y) ; (x, y) ;
(x, y) ; k(x, y) ; f(x, y) ,
x = xmin, x = xmax, y = ymin, y = ymax
[tmin, tmax].
[xmin, xmax]
:
x = {xi |i =1,2,...,n } ,
[ymin, ymax] y:
(284)
92
y = {y j| j =1,2,...,m } ,
(285)
[tmin, tmax] t:
t = {t l |l =1,2,...,s } .
(286)
, (284) (286), - :
G = {(xi = i, yj = jy, tl = lt), | i = 1, 2, , n, j = 1, 2, , m, l = 1, 2, , s }. (287)
()
T ( x1 , y ,t ) = g1( y) ;
(288)
T ( xn, y ,t ) = g 2 ( y) ;
(289)
T ( x , y1 ,t ) = g 3( x) ;
(290)
T ( x , y m,t ) = g 4 ( x) ,
(291)
T
x
=g
2 ( y)
(293)
3( x)
(294)
(295)
xn, y ,t
=g
x , y1,t
T
y
(292)
=g
T
y
x1, y ,t
T
x
1( y)
=g
x , ym,t
4 ( x)
93
T ( x , y ,t1) = g t ( x, y) ,
(296)
t1 ; gt(x, y)
.
T
t
=g
t ( x, y)
(297)
x , y ,t1
(287) ,
T 1, j , l = g 1 ( y j )
(298)
T n, j,l = g 2 ( y j) ;
(299)
T i,1,l = g 3( xi ) ;
(300)
T i,m,l = g 4 ( xi ) ,
(301)
T1,j,l, Tn,j,l, Ti,1,l, Ti,m,l T(x, y, t) (x1, yj, tl), (xn, yj, tl),
(xi, y1, tl), (xi, ym, tl), .
(287),
T 2, j,l T 1, j,l
= g (y ) ;
1 j
x
(302)
T n, j,l T n 1, j,l
= g (y ) ;
j
2
x
(303)
T i,2,l T i,1,l
= g (x ) ;
3 i
y
(304)
T i,m,l T i,m1,l
= g (x ) .
4 i
y
(305)
(287),
94
T i, j,1 = g t (xi , y j) ,
(306)
T i, j,2 T i, j,1
= g ( xi , y ) .
j
t
t
(307)
(283) ,
i, j , l C i , j , l
1
y
1
x
T i, j,l T i, j,l 1
t
(308)
r(x,y)C(x,y)dT/dt-d/dx(k(x,y)dT/dx)- d/dy(k(x,y)dT/dy)=f(x,y)
/
function[x,y,t,T]= ...
termo_2d(t0,ts,s,x0,xn,n,y0,ym,m,r,c,k,f, ...
vt,gt1,v1,g1,v2,g2,v3,g3,v4,g4)
%
%
%
%
:
t0 - , c;
ts - , c;
x0 - , ;
95
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
xn
y0
ym
n
m
s
r
vt -
gt1-
v1 -
g1 -
v2 -
g2 -
v3 -
g3 -
, ;
y, ;
y, ;
;
y;
t;
,
,
, , 'x+2*y', /^3;
,
,
, /( );
,
,
, /( );
,
,
, /^3;
,
(1 - , 2 - );
,
,
, /c;
,
= (1) (1 - , 2 - );
,
,
, /;
,
= (n) (1 - , 2 - );
,
,
, /;
,
y = y(1) (1 - , 2 - );
,
,
, /;
96
% v4 - ,
%
%
y = y(m) (1 - , 2 - );
% g4 -
%
,
%
,
%
, /.
%
%
%
%
%
%
%
%
%
:
- -
1 n;
y - - y
1 m;
t - -
1 s;
T -
n m x s.
%
if exist('t0')==0
t0=0;
end
if exist('ts')==0
ts=6;
end
if exist('s')==0
s=6;
end
if exist('x0')==0
x0=0;
end
if exist('xn')==0
xn=5e-2;
end
if exist('n')==0
n=10;
end
if exist('y0')==0
y0=0;
end
if exist('ym')==0
ym=8e-2;
end
if exist('m')==0
97
m=20;
end
if exist('r')==0
r='2e3';
end
if exist('c')==0
c='100';
end
if exist('k')==0
k='20';
end
if exist('f')==0
f='0';
end
if exist('vt')==0
vt=1;
end
if exist('gt1')==0
gt1='10*(sign(1e2*x-2)-sign(1e2*x-3)+ ...
sign(1e2*y-3)-sign(1e2*y-5))+300';
end
if exist('v1')==0
v1=1;
end
if exist('g1')==0
g1='300';
end
if exist('v2')==0
v2=1;
end
if exist('g2')==0
g2='300';
end
if exist('v3')==0
v3=1;
end
if exist('g3')==0
g3='300';
end
if exist('v4')==0
v4=1;
end
if exist('g4')==0
g4='300';
end
98
%
x=x0:(xn-x0)/(n-1):xn;
y=y0:(ym-y0)/(m-1):ym;
t=t0:(ts-t0)/(s-1):ts;
dx=x(2)-x(1);
dy=y(2)-y(1);
dt=t(2)-t(1);
% , ,
%
F=inline(f,'x','y');
R=inline(r,'x','y');
C=inline(c,'x','y');
K=inline(k,'x','y');
GT=inline(gt1,'x','y');
G1=inline(g1,'y');
G2=inline(g2,'y');
G3=inline(g3,'x');
G4=inline(g4,'x');
%
N=s*n*m;
% N x N,
% 0
a=zeros(N,N);
% -
% 1 x N, 0
b=zeros(1,N);
% ,
%
% vt, v1, v2, v3, v4
for i=1:n
for j=1:m
b(m*(i-1)+j)=GT(x(i),y(j));
if vt==1
a(m*(i-1)+j,m*(i-1)+j)=1;
elseif vt==2
a(m*(i-1)+j,m*(i-1)+j)=-1/dt;
99
a(m*(i-1)+j,n*m+m*(i-1)+j)=1/dt;
else
error('Parameter vt have incorrect value');
end
end
end
for l=1:s
for j=1:m
b(n*m*(l-1)+j)=G1(y(j));
if v1==1
a(n*m*(l-1)+j,n*m*(l-1)+j)=1;
elseif v1==2
a(n*m*(l-1)+j,n*m*(l-1)+j)=-1/dx;
a(n*m*(l-1)+j,n*m*(l-1)+m+j)=1/dx;
else
error('Parameter v1 have incorrect value');
end
b(n*m*(l-1)+m*(n-1)+j)=G2(y(j));
if v2==1
a(n*m*(l-1)+m*(n-1)+j,n*m*(l-1)+m*(n-1)+j)=1;
elseif v2==2
a(n*m*(l-1)+m*(n-1)+j,n*m*(l-1)+m*(n-1)+j)=1/dx;
a(n*m*(l-1)+m*(n-1)+j,n*m*(l-1)+m*(n-2)+j)= ...
-1/dx;
else
error('Parameter v2 have incorrect value');
end
end
for i=2:n-1
b(n*m*(l-1)+m*(i-1)+1)=G3(x(i));
if v3==1
a(n*m*(l-1)+m*(i-1)+1,n*m*(l-1)+m*(i-1)+1)=1;
elseif v3==2
a(n*m*(l-1)+m*(i-1)+1,n*m*(l-1)+m*(i-1)+1)= ...
-1/dy;
a(n*m*(l-1)+m*(i-1)+1,n*m*(l-1)+m*(i-1)+2)=1/dy;
else
error('Parameter v3 have incorrect value');
end
b(n*m*(l-1)+m*(i-1)+m)=G4(x(i));
if v4==1
a(n*m*(l-1)+m*(i-1)+m,n*m*(l-1)+m*(i-1)+m)=1;
elseif v4==2
a(n*m*(l-1)+m*(i-1)+m,n*m*(l-1)+m*(i-1)+m)=1/dy;
a(n*m*(l-1)+m*(i-1)+m,n*m*(l-1)+m*(i-1)+m-1)=...
100
-1/dy;
else
error('Parameter v4 have incorrect value');
end
end
end
% ,
%
for l=2:s
for i=2:n-1
for j=2:m-1
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-1)+j)=...
+R(x(i),y(j))*C(x(i),y(j))/dt+...
(K(x(i),y(j))+K(x(i-1),y(j)))/dx^2+...
(K(x(i),y(j))+K(x(i),y(j-1)))/dy^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*i+j)=...
-K(x(i),y(j))/dx^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-2)+j)=...
-K(x(i-1),y(j))/dx^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-1)+j+1)=...
-K(x(i),y(j))/dy^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-1)+j-1)=...
-K(x(i),y(j-1))/dy^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-2)+m*(i-1)+j)=...
-R(x(i),y(j))*C(x(i),y(j))/dt;
b(n*m*(l-1)+m*(i-1)+j)=F(x(i),y(j));
end
end
end
%
u=b/a';
%
%
%
%
-
n x m,
for l=1:s
for i=1:n
for j=1:m
T(i,j,l)=u(n*m*(l-1)+m*(i-1)+j);
101
end
end
end
% T(x,y,t)
for l=1:s
figure
surf(y,x,T(:,:,l))
xlabel('y, ')
ylabel('x, ')
zlabel('T, K')
grid on
colormap('cool')
axis([min(y) max(y) min(x) max(x) ...
min(min(T(:,:,1))) max(max(T(:,:,1)))])
pause(0.1)
M(l)=getframe;
end
figure
movie(M,10,3)
termo_2d.m /WORK,
MATLAB.
termo_2d :
termo_2d;
x=termo_2d;
[x,y]=termo_2d;
[x,y,t]=termo_2d;
[x,y,t,T]=termo_2d(t0,ts,s,x0,xn,n,y0,ym,m,r,c,k,f, ...
vt,gt1,v1,g1,v2,g2,v3,g3,v4,g4).
, , , .
.
(movie).
termo_2d
puass_2d.
102
,
termo_2d;
, :
- 0 ;
- 6 ;
- 6;
- xmin = 0;
- xmax = 5 ;
- 10;
- ymin = 0;
- ymax = 8 ;
- y 20;
- 2000 /3;
- 100 /();
- 20 /();
- () 0 /3,
(309)
T ( xmin, y ,t ) = 300 K
(310)
T ( xmax, y ,t ) = 300 K
(311)
T ( x , y min,t ) = 300 K
(312)
T ( x , y max,t ) = 300 K
(313)
- , 1200 (10
20 6) (. 39).
20 , 1
( 8900 /3, 380 /(),
385 /() [12]) 10
,
300 , . 40, .
103
. 39.
: ) t = 0; ) t = 1 ; ) t = 2 ; ) t = 3 ; ) t = 4 ; ) t = 5 .
104
termo_2d
[x,y,t,T]=termo_2d(0,10,6,0,1e-2,6,0,20e-2,50,8900,...
380,385,0,1,'20*(sign(1e2*y-5)-sign(1e2*y-7)+...
sign(1e2*y-12)-sign(1e2*y-14))+300',2,0,2,0,1,...
300,1,300)
termo_2d.m .
- ,
1800 (6 50 6) ,
. 40.
5.3.
:
u = u + u
t x y
2
(314)
x = {xi |i =1,2,...,n } ,
(315)
[ymin, ymax] y:
y = {y j| j =1,2,...,m } ,
(316)
[tmin, tmax] t:
t = {t l |l =1,2,...,s } .
(317)
, (315) (317), - :
G = {(xi = i, yj = jy, tl = lt), | i = 1, 2, , n, j = 1, 2, , m, l = 1, 2, , s }. (318)
105
. 40.
: ) t = 0; ) t = 2 ; ) t = 4 ; ) t = 6 ; ) t = 8 ; ) t = 10 .
106
()
u (x1 , y ,t ) = g1( y) ;
(319)
u ( xn , y ,t ) = g 2 ( y) ;
(320)
u (x , y1 ,t ) = g 3( x) ;
(321)
u ( x , y m,t ) = g 4 ( x) ,
(322)
u
x
=g
=g
=g
2 ( y)
(324)
3( x)
(325)
(326)
x , y1,t
u
y
(323)
xn, y ,t
u
y
x1, y ,t
u
x
1( y)
=g
4 ( x)
x , ym,t
u (x , y ,t1) = g t1(x, y) ;
(327)
u (x , y ,t s) = g t 2 (x, y) ,
(328)
t1 ; ts ; gt1(x, y),
gt2(x, y) .
107
u
t
=g
(329)
x , y ,t1
u
t
t1( x, y)
=g
t 2 ( x, y)
(330)
x , y ,t S
(318) ,
(331)
u = g (y ) ;
1, j, l
u n, j,l = g 2 ( y j) ;
(332)
ui,1,l = g 3( xi ) ;
(333)
ui,m,l = g 4 (xi ) ,
(334)
u1,j,l, un,j,l, ui,1,l, ui,m,l u(x, y, t) (x1, yj, tl), (xn, yj, tl),
(xi, y1, tl), (xi, ym, tl), .
(318),
=g
2 ( y j)
(335)
(336)
ui,2,l ui,1,l
= g (x ) ;
3 i
y
(337)
ui,m,l ui,m1,l
= g (x ) .
4 i
y
(338)
(318),
(339)
ui, j, s = g t 2 (xi , y j) ,
(340)
108
(318),
=g
t1( xi , y j)
(341)
ui, j, s ui, j, s 1
= g ( xi , y ) .
j
t2
t
(342)
(314) ,
ui, j,l +1 2ui, j,l +ui, j,l 1 ui +1, j,l 2ui, j,l +ui 1, j,l
t
=0 ;
(343)
,
nms.
(314) (319) (326) (327) (330) (318).
%
%
%
%
d2U/dt2=d2U/dx2+d2U/dy2
/
function[x,y,t,U]= ...
wave_2d(t0,ts,s,x0,xn,n,y0,ym,m, ...
vt1,gt1,vt2,gt2,v1,g1,v2,g2,v3,g3,v4,g4)
%
%
%
%
%
%
%
%
%
:
t0 - ;
ts - ;
x0 - ;
xn - ;
y0 - y;
ym - y;
n - ;
m - y;
109
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
s - t;
vt1- ,
t(1)
(1 - , 2 - );
gt1-
t(1),
,
;
vt2- ,
t(s)
(1 - , 2 - );
gt2-
t(s),
,
;
v1 - ,
= (1) (1 - , 2 - );
g1 -
,
,
;
v2 - ,
= (n) (1 - , 2 - );
g2 -
,
,
;
v3 - ,
y = y(1) (1 - , 2 - );
g3 -
,
,
;
v4 - ,
y = y(m) (1 - , 2 - );
g4 -
,
,
.
110
%
%
%
%
%
%
%
%
%
:
- -
1 n;
y - - y
1 m;
t - -
1 s;
U -
n m x s.
%
if exist('t0')==0
t0=0;
end
if exist('ts')==0
ts=0.2;
end
if exist('s')==0
s=6;
end
if exist('x0')==0
x0=-1;
end
if exist('xn')==0
xn=1;
end
if exist('n')==0
n=18;
end
if exist('y0')==0
y0=-1;
end
if exist('ym')==0
ym=1;
end
if exist('m')==0
m=18;
end
if exist('vt1')==0
vt1=1;
end
if exist('gt1')==0
gt1='sin(4*x)-sin(4*y)';
end
111
if exist('vt2')==0
vt2=1;
end
if exist('gt2')==0
gt2='sin(4*y)-sin(4*x)';
end
if exist('v1')==0
v1=2;
end
if exist('g1')==0
g1='0';
end
if exist('v2')==0
v2=2;
end
if exist('g2')==0
g2='0';
end
if exist('v3')==0
v3=2;
end
if exist('g3')==0
g3='0';
end
if exist('v4')==0
v4=2;
end
if exist('g4')==0
g4='0';
end
%
x=x0:(xn-x0)/(n-1):xn;
y=y0:(ym-y0)/(m-1):ym;
t=t0:(ts-t0)/(s-1):ts;
dx=x(2)-x(1);
dy=y(2)-y(1);
dt=t(2)-t(1);
% , ,
%
GT1=inline(gt1,'x','y');
GT2=inline(gt2,'x','y');
G1=inline(g1,'y');
G2=inline(g2,'y');
G3=inline(g3,'x');
112
G4=inline(g4,'x');
%
N=s*n*m;
% N x N,
% 0
a=zeros(N,N);
% - 1 x N,
% 0
b=zeros(1,N);
%
%
%
%
,
vt1, vt2, v1, v2, v3, v4
for i=1:n
for j=1:m
b(m*(i-1)+j)=GT1(x(i),y(j));
if vt1==1
a(m*(i-1)+j,m*(i-1)+j)=1;
elseif vt1==2
a(m*(i-1)+j,m*(i-1)+j)=-1/dt;
a(m*(i-1)+j,n*m+m*(i-1)+j)=1/dt;
else
error('Parameter vt1 have incorrect value');
end
b(n*m*(s-1)+m*(i-1)+j)=GT2(x(i),y(j));
if vt2==1
a(n*m*(s-1)+m*(i-1)+j,n*m*(s-1)+m*(i-1)+j)=1;
elseif vt2==2
a(n*m*(s-1)+m*(i-1)+j,n*m*(s-1)+m*(i-1)+j)=1/dt;
a(n*m*(s-1)+m*(i-1)+j,n*m*(s-2)+m*(i-1)+j)= ...
-1/dt;
else
error('Parameter vt2 have incorrect value');
end
end
end
113
for l=1:s
for j=1:m
b(n*m*(l-1)+j)=G1(y(j));
if v1==1
a(n*m*(l-1)+j,n*m*(l-1)+j)=1;
elseif v1==2
a(n*m*(l-1)+j,n*m*(l-1)+j)=-1/dx;
a(n*m*(l-1)+j,n*m*(l-1)+m+j)=1/dx;
else
error('Parameter v1 have incorrect value');
end
b(n*m*(l-1)+m*(n-1)+j)=G2(y(j));
if v2==1
a(n*m*(l-1)+m*(n-1)+j,n*m*(l-1)+m*(n-1)+j)=1;
elseif v2==2
a(n*m*(l-1)+m*(n-1)+j,n*m*(l-1)+m*(n-1)+j)=1/dx;
a(n*m*(l-1)+m*(n-1)+j,n*m*(l-1)+m*(n-2)+j)= ...
-1/dx;
else
error('Parameter v2 have incorrect value');
end
end
for i=2:n-1
b(n*m*(l-1)+m*(i-1)+1)=G3(x(i));
if v3==1
a(n*m*(l-1)+m*(i-1)+1,n*m*(l-1)+m*(i-1)+1)=1;
elseif v3==2
a(n*m*(l-1)+m*(i-1)+1,n*m*(l-1)+m*(i-1)+1)= ...
-1/dy;
a(n*m*(l-1)+m*(i-1)+1,n*m*(l-1)+m*(i-1)+2)=1/dy;
else
error('Parameter v3 have incorrect value');
end
b(n*m*(l-1)+m*(i-1)+m)=G4(x(i));
if v4==1
a(n*m*(l-1)+m*(i-1)+m,n*m*(l-1)+m*(i-1)+m)=1;
elseif v4==2
a(n*m*(l-1)+m*(i-1)+m,n*m*(l-1)+m*(i-1)+m)=1/dy;
a(n*m*(l-1)+m*(i-1)+m,n*m*(l-1)+m*(i-1)+m-1)=...
-1/dy;
else
error('Parameter v4 have incorrect value');
end
end
end
114
% ,
%
for l=2:s-1
for i=2:n-1
for j=2:m-1
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-1)+j)=...
-2/dt^2+2/dx^2+2/dy^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*i+j)=-1/dx^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-2)+j)=...
-1/dx^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-1)+j+1)=...
-1/dy^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-1)+j-1)=...
-1/dy^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*l+m*(i-1)+j)=1/dt^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-2)+m*(i-1)+j)=...
1/dt^2;
end
end
end
%
u=b/a';
%
%
%
%
-
n x m x s,
for l=1:s
for i=1:n
for j=1:m
U(i,j,l)=u(n*m*(l-1)+m*(i-1)+j);
end
end
end
% U(x,y,t)
for l=1:s
figure
surf(y,x,U(:,:,l))
115
xlabel('y')
ylabel('x')
zlabel('U')
grid on
colormap('cool')
axis([min(y) max(y) min(x) max(x) min(min(min(U))) ...
max(max(max(U)))])
pause(0.1)
M(l)=getframe;
end
%
figure
movie(M,20,10)
wave_2d.m /WORK,
MATLAB.
wave_2d puass_2d
termo_2d :
wave_2d;
x=wave_2d;
[x,y]=wave_2d;
[x,y,t]=wave_2d;
[x,y,t,U]=wave_2d(t0,ts,s,x0,xn,n,y0,ym,m,...
vt1,gt1,vt2,gt2,v1,g1,v2,g2,v3,g3,v4,g4).
.
.
, , ,
:
- 0;
- 0.2;
- 6;
- xmin = -1;
- xmax = 1;
- 18;
- ymin = -1;
- ymax = 1;
- y 18.
116
(344)
(345)
u
x
(347)
=0 ;
(348)
=0 ;
(349)
x , ymin,t
u
y
=0 ;
xmax, y ,t
u
y
(346)
xmin, y ,t
u
x
=0 ;
x , ymax,t
- , 1944 (18
18 6) (. 41).
wave_2d .
,
, , .
wave_2d
:
[x,y,t,U]=wave_2d;
[x,y,t,U]=wave_2d(t0,ts,s,x0,xn,n,y0,ym,m,...
vt1,gt1,vt2,gt2,v1,g1,v2,g2,v3,g3,v4,g4).
, y, t U
u(x, y, t) . .
117
. 41. u(x, y, t) :
) t = 0; ) t = 0.04; ) t = 0.08; ) t = 0.12; ) t = 0.16; ) t = 0.2.
118
, , , .
,
( ), .
, , , , , .
MATLAB , ,
.
119