Tải bản đầy đủ (.pdf) (71 trang)

Một số phương pháp xác định nghiệm gần đúng đối với bài toán biên elliptic cấp hai trong miền phức tạp hoặc điều kiện biên phức tạp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (935.54 KB, 71 trang )


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT & TT





BÙI THỊ THU TRANG




MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH NGHIỆM GẦN ĐÚNG
ĐỐI VỚI BÀI TOÁN BIÊN ELLIPTIC CẤP HAI TRONG
MIỀN PHỨC TẠP HOẶC ĐIỀU KIỆN BIÊN PHỨC TẠP


LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH


Chuyên ngành : Khoa học máy tính
Mã số : 60 48 01











Thái Nguyên, năm 2011

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

i
MỤC LỤC
MỤC LỤC i
DANH MỤC BẢNG iii
DANH MỤC HÌNH iv
MỞ ĐẦU 1
Chƣơng 1 3
MỘT SỐ KIẾN THỨC CƠ BẢN VỀ GIẢI SỐ 3
PHƢƠNG TRÌNH ĐẠO HÀM RIÊNG 3
1.1. Phƣơng pháp sai phân. 3
1.1.1. Lƣới sai phân. 3
1.1.2. Hàm lƣới 3
1.1.3. Bài toán sai phân. 4
1.2. Thuật toán thu gọn khối lƣợng tính toán. 5
1.2.1. Bài toán biên thứ nhất: 5
1.2.2. Bài toán biên thứ hai 10
1.3. Giới thiệu thƣ viện TK2004 13
1.3.1. Bài toán biên Dirichlet 13
1.3.2. Bài toán biên hỗn hợp 15
1.4. Giới thiệu thƣ viện RC2009 17
1.4.1. Bài toán biên Dirichlet 17

1.4.2. Bài toán biên Neumann 19
1.5. Phƣơng pháp lặp giải phƣơng trình toán tử 24
1.5.1. Lƣợc đồ lặp hai lớp 24
1.5.2. Lƣợc đồ dừng, định lý cơ bản về sự hội tụ của phép lặp . 27
Chƣơng 2 30
CÁC PHƢƠNG PHÁP XẤP XỈ BIÊN 30
ĐỐI VỚI BÀI TOÁN CÓ ĐIỀU KIỆN BIÊN KÌ DỊ 30
2.1. Cơ sở của phƣơng pháp 30
2.2. Các phƣơng pháp xấp xỉ biên (BAMs) 31
2.2.1. Cơ sở phƣơng pháp 31
2.2.2. Các phƣơng pháp BAMs 32
2.3. Phƣơng pháp xấp xỉ (GFIFs) 32
2.4. Giới thiệu bài toán Motz: 34

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

ii
2.4.1. Kết quả sử dụng các phƣơng pháp BAMs 34
2.4.2. Kết quả sử dụng phƣơng pháp GFIFs 37
Chƣơng 3 41
PHƢƠNG PHÁP CHIA MIỀN 41
GIẢI BÀI TOÁN BIÊN VỚI BIÊN KỲ DỊ 41
3.1. Cơ sở của phƣơng pháp 41
3.2. Ứng dụng của phƣơng pháp chia miền đối với bài toán Motz 43
3.3. Mở rộng phƣơng pháp chia miền trong trƣờng hợp tổng quát: 47
PHẦN KẾT LUẬN 52
TÀI LIỆU THAM KHẢO 53
PHẦN PHỤ LỤC 55








Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

iii
DANH MỤC BẢNG

Bảng 2.1: Các hệ số ứng với Classic BAM (N=35) 35
Bảng 2.2: Các hệ số ứng với Hybrid BAM (N=35) 36
Bảng 2.3: Một số giá trị của các hệ số trong khai triển. 38
Bảng 2.4: Một số giá trị của hệ số khai triển 39
Bảng 3.1. Kết quả thực nghiệm đối với bài toán Motz 46
Bảng 3.2. Số liệu thực hiện trong trƣờng hợp tổng quát. 50




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

iv
DANH MỤC HÌNH

Hình 2.1. Dạng bài toán có điểm biên kì dị 30
Hình 2.2. Biểu diễn bài toán có điểm biên kì dị 33
Hình 2.3. Mô hình bài toán Motz 34
Hình 2.4. Nghiệm của bài toán Motz đối với phƣơng pháp BAM 37
Hình 2.5. Đồ thị biểu diễn hệ số A

k
39
Hình 3.1. Mô tả phƣơng pháp chia miền 41
Hình 3.2. Mô hình Bài toán Mozt áp dụng phƣơng pháp chia miền 44
Hình 3.3. Nghiệm của bài toán Motz với phƣơng pháp chia miền. 46
Hình 3.4. Mô hình bài toán Motz dạng tổng quát 47
Hình 3.5. Đồ thị nghiệm trong trƣờng hợp tổng quát. 50
Hình 3.6. Đƣờng cong đạo hàm bậc nhất 51



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

1
MỞ ĐẦU
Một số mô hình trong vật lý và cơ học đều đƣa đến việc xác định nghiệm của
bài toán biên elliptic cấp hai với các điều kiện biên khác nhau. Trong những trƣờng
hợp đơn giản khi miền hình học là miền hình chữ nhật và có điều kiện biên hỗn hợp
yếu (tức là trên một cạnh chỉ có 1 loại điều kiện biên Dirichlet hoặc Neumann) thì
bằng việc sử dụng các phƣơng pháp sai phân, bài toán vi phân đƣợc đƣa về hệ
phƣơng trình véc tơ ba điểm và xác định nghiệm gần đúng qua việc giải các hệ
phƣơng trình đại số tuyền tính bằng các thuật toán đã biết. Tuy nhiên trong miền
hình học không phải là miền hình chữ nhật hoặc điều kiện biên là hỗn hợp mạnh
(tức là trên một cạnh có hai loại điều kiện biên Dirichlet và Neumann) thì bài toán
xuất hiện điểm kì dị tại các góc của miền hoặc điểm phân chia giữa hai loại điều
kiện biên khi đó phƣơng pháp sai phân sẽ gặp khó khăn. Để giải quyết các dạng bài
toán trên, chúng ta có thể sử dụng phƣơng pháp chia miền tìm nghiệm xấp xỉ bằng
tổng hữu hạn các hàm cơ sở xung quanh điểm kì dị. Nhƣ vậy, việc tìm hiểu, nghiên
cứu các phƣơng pháp tìm nghiệm xấp xỉ của các bài toán biên elliptic cấp hai trong
trƣờng hợp miền phức tạp hoặc điều kiện biên phức tạp cũng nhƣ so sánh giữa các

phƣơng pháp và lập trình tính toán thử nghiệm trên môi trƣờng Matlab là có ý nghĩa
khoa học.
Nội dung chính của luận văn là tiến hành tìm hiểu, nghiên cứu cơ sở lý
thuyết các phƣơng pháp tìm nghiệm xấp xỉ của bài toán biên elliptic cấp hai trong
miền hình học phức tạp hoặc điều kiện biên phức tạp, đặc biệt là phƣơng pháp xác
định nghiệm xấp xỉ thông qua các hệ hàm cơ sở xung quanh các điểm kì dị, so sánh
với phƣơng pháp chia miền và lập trình tính toán thử nghiệm trên nền ngôn ngữ
Matlab. Cấu trúc của luận văn gồm 3 chƣơng:
Chƣơng 1: Đƣa ra một số kiến thức cơ bản về phƣơng pháp sai phân, thuật
toán thu gọn giải hệ phƣơng trình véc tơ ba điểm, các hệ thống thƣ viện chƣơng
trình mẫu và lý thuyết về các sơ đồ lặp.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

2
Chƣơng 2: Trình bày cơ sở lý thuyết về phƣơng pháp xấp xỉ biên đối với bài
toán có điều kiện biên kì dị trong 2 trƣờng hợp, trƣờng hợp miền hình học phức tạp
và trƣờng hợp điều kiện biên hỗn hợp mạnh. Kết quả áp dụng với bài toán Motz.
Chƣơng 3: Đƣa ra cơ sở các phƣơng pháp chia miền giải bài toán biên với
biên kì dị, so sánh các phƣơng pháp xấp xỉ biên với phƣơng pháp chia miền đối với
bài toán Motz.
Luận văn này đƣợc hoàn thành dƣới sự hƣớng dẫn tận tình của TS Vũ Vinh
Quang, em xin bày tỏ lòng biết ơn chân thành của mình đối với thầy. Em xin chân
thành cảm ơn các thầy, cô giáo trƣờng Đại học Công nghệ thông tin và truyền thông
- Đại học Thái Nguyên, Viện Công nghệ thông tin - Viện Khoa học và Công nghệ
Việt Nam đã tham gia giảng dạy, giúp đỡ em trong suốt quá trình học tập. Tuy
nhiên vì điều kiện thời gian và khả năng có hạn nên luận văn không thể tránh khỏi
những thiếu sót. Em kính mong các thầy cô giáo và các bạn đóng góp ý kiến để luận
văn đƣợc hoàn thiện hơn.


Tác giả

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

3
Chƣơng 1
MỘT SỐ KIẾN THỨC CƠ BẢN VỀ GIẢI SỐ
PHƢƠNG TRÌNH ĐẠO HÀM RIÊNG

Trong chƣơng này, luận văn trình bày một số kiến thức liên quan đến việc
giải số phƣơng trình đạo hàm riêng bao gồm: Cơ sở về phƣơng pháp lƣới, phƣơng
pháp lặp, thuật toán thu gọn khối lƣợng tính toán, giới thiệu các thƣ viện chƣơng
trình TK2004 và RC2009 tìm nghiệm số của các bài toán biên hỗn hợp trong miền
chữ nhật. Những kiến thức cơ sở và kết quả đƣợc tham khảo từ các tài liệu
[3,4,8,10].
1.1. Phƣơng pháp sai phân.
1.1.1. Lƣới sai phân.
Xét bài toán

u f , x ,
u g, x .
  


 

(1.1)
trong đó
 
( x,y ) R ,a x b,c y d      

2
, chọn 2 số nguyên
1N 

1M 
,
đặt
( )/h b a N
gọi là bƣớc lƣới theo x,
( )/k d c M
gọi là bƣớc lƣới theo y. Đặt
, , 0 , 0
ij
x a ih y c jk i N j M     
. Mỗi điểm
( , )
ij
xy
gọi là một nút lƣới ký
hiệu là nút
( , )ij
. Tập tất cả các nút trong miền ký hiệu là
hk

. Nút ở trên biên


gọi là nút biên; tập tất cả các nút biên ký hiệu là
hk


, tập
hkhkhk
 =
gọi là một
lƣới sai phân trên

.
1.1.2. Hàm lƣới.
Mỗi hàm số xác định tại các nút của lƣới gọi là một hàm lƣới, giá trị của hàm
lƣới
),( yxu
tại nút lƣới
( , )ij
viết tắt là
i , j
u
,
MjNi ,0,,0 
. Mỗi hàm
( , )u i j

xác định tại mọi
),( yx
tạo ra hàm lƣới
u
xác định bởi
i , j
u
.



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

4

1.1.3. Bài toán sai phân.
Ký hiệu
)(
m
C
là không gian các hàm số hai biến
( , )xy
có các đạo hàm
riêng đến cấp
m
liên tục trong
 =
. Giả sử bài toán có
nghiệm
)(
4
Cu
, khi đó:

constCyx
x
u
max
yx
=),(

1
4
4
),(




,
constCyx
y
u
max
yx
=),(
2
4
),(




.
Do đó theo công thức Taylor ta có:

2 2 3 3
4
1
23
( , ) = ( , ) = ( , ) ( )

2! 3!
i j i j i j
u h u h u
u x y u x h y u x y h h
x x x


  
    
  

hay
2
11
2
22
( , ) 2 ( , ) ( , )
= ( )
i j i j i j
u x y u x y u x y
u
h
hx








Một cách tƣơng tự:
i j i j
u( x ,y ) u( x ,y k )


1
=

2 2 3 3
4
23
= ( , ) ( )
2! 3!
ij
u k u k u
u x y k k
y y y

  
   
  

i j i j
u( x ,y ) u( x ,y k )


1

2 2 3 3
4

23
= ( , ) ( )
2! 3!
ij
u k u k u
u x y k k
y y y

  
   
  

Do đó:
2
11
2
22
( , ) 2 ( , ) ( , )
= ( )
i j i j i j
u x y u x y u x y
u
k
ky








Vậy ta có:
11
2
( , ) 2 ( , ) ( , )
i j i j i j
u x y u x y u x y
h





11
22
2
( , ) 2 ( , ) ( , )
()
i j i j i j
u x y u x y u x y
u h k
k



    

Ta đặt:

1 , 1, , 1 , , 1

22
22
i i j i j i j i j i j
hk
u u u u u u
u
hk
   
   
  

Khi đó chứng tỏ:

kh
u u (h k )

   
22
=


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

5
Số hạng
22
()hk


là một số vô cùng bé bậc hai. Ta nói toán tử

kh

xấp xỉ
toán tử

, điều đó cho phép thay phƣơng trình vi phân bằng phƣơng trình sai phân:

hk ij ij i j i j hk
u f , f f ( x ,y ), ( x ,y ) ==

tức là:

1, , 1, , 1 , , 1
22
22
( , ), ( , )
i j i j i j i j i j i j
i j i j hk
u u u u u u
f x y x y
hk
   
   
  
(1.2)
đồng thời thay điều kiện biên bằng điều kiện:

ij i j i j hk
u g( x ,y ), ( x ,y ) 
(1.3)

Ta đƣợc bài toán sai phân hoàn chỉnh: Tìm hàm lƣới
u
tại các nút
(i, j )

thỏa mãn hệ phƣơng trình sai phân (1.2) với các điều kiện biên (1.3). Nhƣ vậy việc
tìm nghiệm xấp xỉ của bài toán vi phân (1.1) với độ chính xác cấp hai đƣợc đƣa về
việc giải bài toán sai phân (1.2) với điều kiện (1.3) bằng các phƣơng pháp đại số.
1.2. Thuật toán thu gọn khối lƣợng tính toán
Phƣơng pháp này đƣợc đề xuất bởi Samarskij-Nicolaev. Bằng các phép biến
đổi đơn giản về véc tơ và ma trận, các bài toán sai phân luôn luôn đƣợc đƣa về hệ
phƣơng trình véc tơ ba điểm thuộc một trong các dạng sau đây:
1.2.1. Bài toán biên thứ nhất
Xét bài toán biên thứ nhất đối với phƣơng trình véc tơ ba điểm

jjjj
FYCYY =
11 

,
11  Nj
,
00
= FY
,
NN
FY =
. (1.4)
Trong đó
j

Y
là véc tơ cần tìm,
C
là ma trận vuông,
j
F
là véc tơ cho trƣớc. Ý
tƣởng của phƣơng pháp rút gọn hoàn toàn giải (1.1) là khử liên tiếp các ẩn
j
Y
đầu
tiên với các
j
lẻ, sau đó từ các phƣơng trình còn lại khử các
j
Y
với
j
là bội của 2,
rồi bội của 4, … Mỗi bƣớc khử sẽ giảm đƣợc một nửa số ẩn. Nhƣ vậy nếu
n
N 2=

thì sau một số lần khử sẽ còn lại một phƣơng trình chứa véc tơ ẩn
/2N
Y
mà từ đó
/2N
Y


có thể tính đƣợc qua
0
Y

N
Y
. Sau khi đã có đƣợc
/20
,
N
YY

N
Y
thì quá trình ngƣợc
lại là việc tìm các
j
Y
với
j
là bội của
4
N
rồi bội của
8
N
,… rõ ràng, phƣơng pháp

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


6
rút gọn hoàn toàn là một biến thể của phƣơng pháp khử Gauss áp dụng cho bài toán
(1.4) trong đó việc khử các biến đƣợc thực hiện theo một thứ tự đặc biệt. Sau đây, ta
sẽ mô tả cụ thể phƣơng pháp.
Giả sử
0>,2= nN
n
. Ký hiệu
11,2, ,=;=,=
(0)(0)
NjFFCC
jj
. Khi đó (1.4)
đƣợc viết dƣới dạng

1)(1=
(0)
1
0
1


NjFYYCY
jjjj
,
00
= FY
,
NN
FY =

. (1.5)
Bƣớc khử thứ nhất: Từ các phƣơng trình đầu của (1.5) ta khử các
j
Y
với
j

lẻ. Muốn vậy ta viết 3 phƣơng trình liên tiếp:
(0)
11
(0)
2
=


jjjj
FYYCY
,
(0)
1
(0)
1
=
jjjj
FYYCY


,
(0)
121

(0)
=


jjjj
FYYCY

Nhân 2 vế của phƣơng trình thứ hai với
(0)
C
vào bên trái rồi cộng cả 3 phƣơng trình
lại ta đƣợc:

22,4, ,=,=
(1)
12
(1)
2


NjFYYCY
jjjj
,
00
= FY
,
NN
FY =
(1.6)
trong đó:

ECC 2)(=
2)(0(1)

,
22,4, ,=,=
(0)
1
(0)(0)(0)
1
(1)


NjFFCFF
jjjj
.
Nhận xét rằng hệ (1.6) chỉ chứa các
j
Y
với
j
chẵn, số véc tơ ẩn
j
Y

1
2

N
.
Do đó nếu giải đƣợc hệ này thì các

j
Y
với
j
lẻ sẽ tìm đƣợc từ phƣơng trình

11,3, ,=,=
11
(0)(0)


NjYYFYC
jjjj
(1.7)
Nhƣ vậy hệ (1.5) tƣơng đƣơng với hệ gồm (1.6) và (1.7).
Bƣớc khử thứ hai: ở bƣớc khử này ta sẽ tiến hành khử các
j
Y
của hệ (1.6)
với
j
là bội của 2 nhƣng không là bội của 4. Muốn vậy ta viết 3 phƣơng trình liên
tiếp của (1.6)
(1)
22
(1)
4
=



jjjj
FYYCY
,
4)4,8, ,=(,=
(1)
2
(1)
2


NjFYYCY
jjjj
,
(1)
242
(1)
=


jjjj
FYYCY
.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

7
Nhân 2 vế của phƣơng trình thứ hai với
)1(
C
vào bên trái rồi cộng cả 3 vế phƣơng

trình lại ta đƣợc

44,8, ,=,=
(2)
4
(2)
4


NjFYYCY
jjjj
,
00
= FY
,
NN
FY =
(1.8)
trong đó:
ECC 2)(=
2)(1(2)

,
44,8, ,=,=
(1)
2
(1)(1)(1)
2
(2)



NjFFCFF
jjjj
.
Hệ (1.8) chỉ chứa
1
4

N
véc tơ ẩn
j
Y
, trong đó
j
là bội của 4. Nếu giải đƣợc hệ
này thì các
j
Y
, với
j
là bội của 4 sẽ tìm đƣợc từ phƣơng trình 2 nhƣng không là bội
số của 4 sẽ tìm đƣợc từ phƣơng trình:
22,6,10 ,=,=
(1)
22
(1)


NjFYFYC
jjjj

.
Cứ tiếp tục quá trình khử này. Kết quả là sau bƣớc khử thứ
l
ta nhận đƣợc
một hệ gồm
1
l
C
N
ẩn trong đó
j
là bội của
l
2


lllll
jl
j
j
l
l
j
NjFYYCY 2, ,,3.2,2.22=,=
)(
2
)(
2



,
00
= FY
,
NN
FY =
(1.9)
và nhóm các phƣơng trình:
1
2
1
2
1)(1)(
=






k
j
k
j
k
jj
k
YYFYC
,
2, ,,5.2,3.22=

111


Nj
kkk
,
1, ,1,,= llk
(1.10)
trong đó các ma trận
)(k
C
và các véc tơ vế phải
)(k
j
F
đƣợc tính theo các công thức
truy toán:
ECC
kk
2)(=
21)()(


,
1
2
1)(11)(
1
2
)(

=






k
j
k
j
kk
k
j
k
j
FFCFF
,

1,2,3 =,2, ,,3.2,2.22= kNj
kkkk

, (1.11)
Từ các bƣớc khử trên suy ra rằng sau
1n
bƣớc khử
1)=( nl
ta thu đƣợc hệ
chỉ gồm một phƣơng trình đối với biến
/22

=1
N
N
YY 

NNN
n
jn
j
n
j
n
jj
n
FYFYYYFYYFYC ==,==
000
1)(
1
2
1
2
1)(1)(







(1.12)

với vế phải đã biết. Vì vậy từ (1.12) ta có thể tìm đƣợc
/2N
Y
, và tất cả các ẩn còn lại
đƣợc tìm liên tiếp từ các phƣơng trình:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

8

( 1) ( 1)
11
22
00
1 1 1 1
=,
=
=
= 2 ,3.2 ,5.2 , , 2 ,
= , 1, ,1
kk
j j k k
jj
NN
k k k k
C Y F Y Y
YF
YF
jN
k n n




   



(1.13)
Các công thức trên đã mô tả phƣơng pháp rút gọn hoàn toàn. Việc tính các
)(k
j
F
theo công thức truy toán có thể dẫn đến việc tích luỹ sai số nếu nhƣ chuẩn của
ma trận
1)( k
C
lớn hơn 1. Ngoài ra các ma trận
)(k
C
nói chung là các ma trận đầy đủ,
thậm chí cả với ma trận ban đầu là
CC =
(0)
(ma trận ba đƣờng chéo). Điều này dẫn
đến tăng khối lƣợng tính toán khi tính các
)(k
j
F
theo (1.13). Để khắc phục những
khó khăn trên, thay cho

)(k
j
F
ta sẽ tính các véc tơ
)(k
j
p

)(k
j
q
theo công thức sau:
10,1,2, ,=,2 ,,3.2,2.22=,=
)()()()(
 nkNjqpCF
kkkkk
j
k
j
kk
j
(1.14)
trong đó ta chọn
(0)
j
p

11,2, ,=,=
(0)
NjFq

jj
. Bằng các công thức toán học, có
thể thấy mối quan hệ mà
)(k
j
p

)(k
j
q
phải thoả mãn nhƣ sau.

=
)()()( k
j
k
j
k
qpC 
1)(
1
2
1)(
1
2
1)(
1
2
1)(1)(1)(
1

2
1)(1)(
][














k
k
j
k
k
j
k
k
j
k
j
kk
k

j
k
j
k
qqppCpqC
,
1,2,3 =,2, ,,3.2,2.22= kNj
kkkk

,
Ta sẽ chọn
)(k
j
p

)(k
j
q
thoả mãn
1)(
1)(2
1)(
1)(2
)()(
2=






k
kj
k
kj
k
j
k
j
qqpq

Khi đó, kết hợp với công thức
21)()(
][=2


kk
CEC
ta có
1)(
1
2
1)(1)(1)(
1
2
1)()()(
=









k
k
j
k
j
kk
k
j
k
j
k
j
k
ppCpqpC

Đặt
1)()(1)(
=


k
j
k
j
k
j

ppS
, suy ra
1)( k
j
S
phải thoả mãn
1)(
1
2
1)(
1
2
1)(1)(1)(
=








k
k
j
k
k
j
k
j

k
j
k
ppqSC

Nhƣ vậy ta thu đƣợc thuật toán sau đây để xác định các véc tơ
)(k
j
p

)(k
j
q

1)(
1
2
1)(
1
2
1)(1)(1)(
=









k
k
j
k
k
j
k
j
k
j
k
ppqSC
,
1)()(1)(
=


k
j
k
j
k
j
ppS
,
1)(
1)(2
1)(
1)(2
)()(

2=





k
kj
k
kj
k
j
k
j
qqpq
(1.15)
0=;=
(0)(0)
jjj
pFq
,
kkkk
Nj 2, ,,3.2,2.22= 
,
10,1,2, ,= nk
.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

9

Ký hiệu
1)(1)(
=


k
jj
k
j
pYt
, ta sẽ thấy rằng
j
Y
có thể tính đƣợc từ các công thức sau
1
2
1
2
1)(1)(1)(
=






k
j
k
j

k
j
k
j
k
YYqtC
,
1)(1)(
=


k
j
k
jj
tpY
,

NN
FYFY =;=
00
,
kkkk
Nj 2, ,,3.2,2.22= 
,
1, ,1,= nnk
(1.16)
Nhận xét rằng các quá trình (1.15) và (1.16) luôn cần tính ma trận nghịch đảo
1)1(
][

k
C
. Bằng các phép biến đổi sơ cấp từ các mối quan hệ của ma trận
)(k
C
và đa
thức Chebysev
)
2
1
(2=
2
)(
CTC
k
k
, ta có
1,
1
2
1)=(
1)(
=




kl
k
l

k
CC
, trong đó
E
l
CC
k
kl
2
1)(2
cos2=
1,




.
Nhƣ vậy, chẳng hạn ta có phƣơng trình


=
1)( k
C
, (1.17)
thì với việc giải lần lƣợt các phƣơng trình
1
11,
1,2, ,2=,=



k
llkl
lC

,

=
0

sẽ cho ta nghiệm của (1.17) là
1
2
=
k


Tóm lại, qua các bƣớc phân tích trên đây ta có thuật toán rút gọn hoàn toàn
giải bài toán biên thứ nhất nhƣ sau:
 Quá trình xuôi:
Bƣớc 1: Cho các giá trị ban đầu
11,2,3, ,=,=,
(0)(0)
NjFqp
jjj

Bƣớc 2: Với
1=k
giải phƣơng trình
(0)(1)
=

jj
qCp
và tính
22,4,6, ,=(0),
1)(
(0)
1)(
(1)(1)
2=



Nj
jjjj
qqpq

Bƣớc 3: Với
12,3, ,= nk
xác định các véc tơ
kkkkk
k
j
k
k
j
k
jj
Njppq 2 ,,3.2,2.22=,=
1)(
1

2
1)(
)
1
2(
1)((0)









.
Sau đó, với mỗi
1
1,2, 2=
k
l
và với mỗi
kkkk
Nj 2 ,,3.2,2.22= 
, giải
phƣơng trình
1)()(
1,
=



l
j
l
jkl
C


Khi đó

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

10

)
1
(21)()(
=



k
j
k
j
k
j
pp

,

( ) ( ) ( 1) ( 1)
11
( 2 ) 2
= 2 , = 2 ,2.2 ,3.2 , 2
k k k k k k k k
j j k k
jj
q p q q j N



  

 Quá trình ngƣợc:
Bƣớc 1: Cho các giá trị ban đầu
NN
FYFY =,=
00

Bƣớc 2: Với
1, ,2,= nnk
tính
111
1
2
1
2
1)((0)
2 ,3.22=,=








kkk
k
j
k
j
k
jj
NjYYq


Sau đó, với mỗi
1
1,2, ,2=
k
l
và với mỗi
111
2 ,3.22=


kkk
Nj
, giải phƣơng
trình

1)()(
1,
=


l
j
l
jkl
C


Khi đó:
kkkk
k
j
k
jj
NjpY 2, ,3.2,2.22=,=
)
1
(21)(





Bƣớc 3: Với
1=k
, giải phƣơng trình

11,3,5, ,=,=
11
(0)


NjYYqCY
jjjj

1.2.2. Bài toán biên thứ hai
Xét bài toán thứ hai











.2
,11,
,0,
1
11
00
NNN
jjjj
FCYY

NjFYCYY
jFY
(1.18)
trong đó
2 , 0
n
Nn
. Để giải bài toán (1.18) ta cũng thực hiện các bƣớc khử lần
lƣợt nhƣ đã đƣợc trình bày ở bài toán biên thứ nhất. Sau n phép thử, ta nhận đƣợc
các phƣơng trình

)()(
)0(
)(
00
2,
n
NN
nn
FYCYFY 
(1.19)
Và nhóm các phƣơng trình
.1, ,1,,2, ,2.3,2,
111
22
)1()1(
11






nnkNjYYFYC
kkk
jj
k
jj
k
kk

Trong đó
)(k
j
F

)(k
C
đƣợc xác định bởi công thức truy toán sau

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

11

,2][
,2
2, ,2.2,2
,
,
2)1()(
)1()1(1

2
)(
1
2
1
)1(1
1
)(
0
)(
0
1
11
ECC
FCFF
Nj
FFCFF
FF
kk
k
N
kk
N
k
N
kkk
k
j
j
kk

j
k
j
k
k
kk















(1.20)
Kí hiệu:
,
)()()()( k
j
k
j
kk
j

qpCF 

nkNNj
kkk
, ,2,1,,2, ,2.2,2 

Bằng các phép biến đổi đơn giản và cách chọn
)(k
j
p

)(k
j
q
thích hợp, ta nhận
đƣợc quá trình sau để xác định các véc tơ
)(k
j
p

)(k
j
q
với
NJ 

)1(
2
)1(
2

)1()1()1(
)1()1(







k
j
k
j
k
j
k
j
k
kk
qpqSC

,
)1()1()( 

k
j
k
j
k
j

Spp

,2
)1(
2
)1(
2
)()(
)1()1(






k
j
k
j
k
j
k
j
kk
qqpq

0)0()0(
,
1, ,2,1,0,2, ,2.3,2




jjj
kkk
pFq
nkNj

Tƣơng tự, với j=N, ta có:
,0;
,22
,
,2
)0()0(
)1(
2
)()(
)1()1()(
)1(
2
)1(1)1(
)1(
)1(













NNN
k
N
k
N
k
N
k
N
k
N
k
N
k
N
k
N
k
N
k
pFq
qpq
Spp
pqSC
k
k


Trong đó
1,2, ,1,,2, ,2.3,2,
111)1()1(


nnkNjtpY
kkkk
j
k
jj

Trong đó
)1( k
j
t
là nghiệm của phƣơng trình.
)1()1(
22
)1()1()1(




kk
jj
k
j
k
j

k
YYqtC


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

12
Dƣới đây là thuật toán giải bài toán biên thứ hai:
 Quá trình xuôi:
Bƣớc 1: Xác định các giá trị ban đầu
NjFqp
jjj
, ,2,1,;0
)0()0(


Bƣớc 2: Với k=1,2,…,n-1 xác định các véc tơ:
kkkk
j
k
j
k
jj
Njppqv
kk
2, ,2.2,2,
)1(
2
)1(
2

)1()0(
)1()1(








Sau đó, với
)1(
2, ,2,1


k
l
và với mỗi
,2, ,2.2,2
kkk
Nj 
giải phƣơng trình
)1()(
1,



l
j
l

jkl
vvC

Khi đó
kkkk
j
k
j
k
j
k
j
k
j
k
j
k
j
Njqqpqvpp
kk
2, ,2.2,2,2,
)1(
2
)1(
2
)()()12()1()(
)1()1(









Bƣớc 3: Với k=1,2,…,n-1 xác định các véc tơ
)1(
2
)1()0(
)1(
2





k
N
k
NN
k
pqv

Sau đó, với
,2, ,2,1
)1( 

k
l
giải phƣơng trình

)1()(
1,



l
N
l
Nkl
vvC

Khi đó
)1(
2
)()()2()1()(
1
1
22,






k
N
k
N
k
NN

k
N
k
N
k
k
qpqvpP

 Quá trình ngƣợc:
Bƣớc 1: Xác định Y
N
, xác định véc tơ
0
)()0(
2Yqv
n
NN


sau đó, với l=1,2,…,n, giải hệ
)1()(
,


l
N
l
Nnl
vvC



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

13
Khi đó
)()( n
N
n
NN
vpY 

Bƣớc 2: Xác định
1, ,2,1,  NjY
j

Với k = n,n-1,…,2,1, xác định các véc tơ
111
22
)1()0(
2, ,2.3,2,
)1()1(





kkk
jj
k
jj

NjYYqv
kk

Sau đó, với
1
2, ,2,1


k
l
và với mỗi
,2, ,2.2,2
111 

kkk
Nj
giải phƣơng
trình
)1()(
1,



l
j
l
jkl
vvC

Khi đó

kkkk
j
k
jj
NjvpY
k
2, ,2.3,2.2,2,
)2()1(
1




Trên đây là nội dung của thuật toán thu gọn khối lƣợng tính toán giải bài
toán biên thứ nhất và bài toán biên thứ hai. Trong các tài liệu của Samarskij -
Nicolaev [8] đã chứng minh độ phức tạp của các thuật toán là
)log( NNMO 
.
1.3. Giới thiệu thƣ viện TK2004
1.3.1. Bài toán biên Dirichlet
Cho

là hình chữ nhật
 
2
1 2 1 1 2 2
= = ( , ) :0 < < ;0 < <x x x R x l x l

Xét bài toán:
,,

,.
u cu f x
ux

   


 

(1.21)
trong đó
22
( ); ( )f L L

   

Rời rạc hoá miền

bằng lƣới
h



1 2 1 1 2 2
= = ( , ) = ( , ); = ; = ;
h i j i j
x i j x x x ih x jh


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


14
1
1
=
l
h
M
;
2
2
=
l
h
N
;
= 0,1, ,iM
;

= 0,1, ,jN
.
Bằng cách biến đổi đơn giản ta có thể đƣa bài toán sai phân tƣơng ứng về hệ
phƣơng trình vec tơ 3 điểm có dạng nhƣ sau:
11
00
1, 2, 1,
0 1,0 2,0 1,0
1, 2, 1,
= , = 1,2, , 1
= ; =

= ( ; ; ; )
= ( ; ; ; )
= ( ; ; ; )
j j j j
NN
T
j j j M j
T
M
T
N N N M N
Y CY Y F j N
Y F Y F
Y y y y
F g g g
F g g g




   












(1.22)
Ma trận C có dạng
C=
2( 1) 0 0 0 0
2( 1) 0 0 0
0 2( 1) 0 0 0
0 0 0 2( 1) 0
0 0 0 2( 1)
0 0 0 0 2( 1)
rr
r r r
rr
rr
r r r
rr



  








  





      


2
2 1, 0,
2
2 2,
2
2 2,
2
2 1, ,
jj
j
j
Mj
M j M j
h rg
h
F
h
h rg



















Với
2
2
2
1
=
h
r
h

Trên cơ sở của thuật toán thu gọn khối lƣợng tính toán của Samarskij –
Nicolaev, sử dụng ngôn ngữ Matlab giải hệ phƣơng trình (1.22)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

15
Xây dựng hàm

0000( , 1, 2, 3, 4, 1, 2, , , , , 1, 2, 1, 2)u phi b b b b L L c M N n p p q q
trả lại
nghiệm bằng số của bài toán, trong đó:
+
MN
là lƣới trên hình chữ nhật.
+
phi
là ma trận giá trị của hàm vế phải.
+
1, 2, 3, 4b b b b
là véc tơ giá trị của điều kiện biên trên các cạnh.
+
1, 2LL
là kích thƣớc của hình chữ nhật.
+
1, 2, 1, 2p p q q
là tọa độ của các đỉnh hình chữ nhật trong không gian lƣới.
1.3.2. Bài toán biên hỗn hợp
Cho miền
 
1 2 1 1 2 2
= = ( , );0 < < ;0 < <x x x x l x l

Xét bài toán biên hỗn hợp
1
2
2
= ( );
= ( );

= ( )
u x x
u g x
x
u
x
x
x



 










(1.23)
trong đó:
2 2 2
12
( ); ( ); ( )L g L L

     



   
1 1 1 1 1 2 2 2
= = ( ,0);0 = ( , );0x x x l x l x x l     
 
2 2 2
= (0, );0x x x l  

 
2 1 2 1 1
= = ( , );0x x l x l  

Tƣơng tự, ta đƣa bài toán sai phân về hệ phƣơng trình vec tơ 3 điểm
00
11
1
=
= 1 1
2 = =
j j j j
N N N
YF
Y CY Y F j N
Y CY F j N




     





(1.24)
trong đó:
0 1,0 2,0 1,0
= ( , , , )
T
M
F y y y

;
1, 2, 1,
= ( , , , ) ; =1, ,
T
j j j M j
Y y y y j N



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

16
C=
2( 1) 0 0 0 0
2( 1) 0 0 0
0 2( 1) 0 0 0
0 0 0 2( 1) 0
0 0 0 2( 1)
0 0 0 0 2( 1)

rr
r r r
rr
rr
r r r
rr



  








  




      


2
2 1, 0,
2
2 2,

2
2 2,
2
2 1, ,
jj
j
j
Mj
M j M j
h rg
h
F
h
h rg




















2
2 1, 2 1, 0,
2
2 2, 2 2,
2
2 2, 2 2,
2
2 1, 2 1, ,
2
2
2
2
N N N
NN
N
M N M N
M N M N M N
h h rg
hh
F
hh
h h rg






















Trên cơ sở của thuật toán thu gọn khối lƣợng tính toán của Samarskij –
Nicolaev, sử dụng ngôn ngữ Matlab giải hệ phƣơng trình (1.24).
Xây dựng các hàm
0001( , 1, 2, 3, 4, 1, 2, , , , , 1, 2, 1, 2)u phi b b b b L L c M N n p p q q
trả lại
nghiệm bằng số của bài toán trong đó:
+
MN
là lƣới trên hình chữ nhật.
+
phi
là ma trận giá trị của hàm vế phải.
+
1, 2, 3, 4b b b b

là véc tơ giá trị của điều kiện biên trên các cạnh.
+
1, 2LL
là kích thƣớc của hình chữ nhật.
+
1, 2, 1, 2p p q q
là tọa độ các đỉnh của hình chữ nhật trong không gian lƣới.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

17
Hoàn toàn tƣơng tự, trong các trƣờng hợp khi điều kiện biên Neumann trên 2
cạnh, 3 cạnh hoặc 4 cạnh của hình chữ nhật, sử dụng phƣơng pháp sai phân, chúng
ta đƣa bài toán elliptic về các hệ phƣơng trình vecto 3 điểm và sử dụng thuật toán
thu gọn khối lƣợng tính toán xác định nghiệm bằng số trên từng điểm lƣới. Các hàm
đƣợc thiết lập tƣơng tự là
0010( ), 0100( ), 1000( ), 1100( ), , 1111( )u u u u u
sẽ cho
phép xác định nghiệm số với các bài toán tƣơng ứng. Trong các kí hiệu hàm trên, kí
hiệu 0 tƣơng ứng với biên Dirichlet, kí hiệu 1 tƣơng ứng với biên Neumann. Các hệ
thống hàm trên đã đƣợc xây dựng thành thƣ viện TK2004 cho phép giải số tất cả
các bài toán biên elliptic với điều kiện biên hỗn hợp, các kết quả trên đã đƣợc đƣa ra
trong [3].
1.4. Giới thiệu thƣ viện RC2009
Thƣ viện chƣơng trình RC2009 là sự phát triển của thƣ viên TK2004 tìm
nghiệm số của bài toán biên hỗn hợp trong trƣờng hợp toán tử của phƣơng trình
phức tạp hơn.
Cho

là hình chữ nhật

 
2
1 2 1 1 2 2
= = ( , ) :0 < < ;0 < <x x x R x l x l
. Xét
bài toán
 
22
12
22
12
uu
k ( x ) k ( x ) c( x )u f( x ), x ,
xx
u x , x .



   




 


(1.25)
trong đó
22
( ); ( )f L L


   
.
1.4.1. Bài toán biên Dirichlet
Xét trƣờng hợp khi toán tử
lu u
tức là điều kiện biên dạng Dirichlet,
12
k ,k ,c

là các hằng số,

là hình chữ nhật có kích thƣớc hai cạnh là L
1
, L
2
. Xuất phát từ
phƣơng pháp lƣới, chia miền

thành
 
MN
điểm lƣới, trong đó
2 , 0
n
Nn
. Kí
hiệu
12
12

,
LL
hh
MN

là các bƣớc lƣới,

là vé c tơ hàm vế phải của phƣơng trình. Từ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

18
phƣơng pháp sai phân với độ chính xác
 
22
12
O h h
chuyển bài toán vi phân về bài
toán sai phân tƣơng ứng với hệ phƣơng trình vé c tơ ba điểm
1 1 0 0
; , ; 1, 1.
j j j j N N
Y CY Y F Y F Y F j N

       

Trong đó Y
j
là các vé c tơ nghiệm, F
j

là các vé c tơ cấp (M-1), C là ma trận hệ số cấp
   
11MM  
đƣợc xác định nhƣ sau
 
   
1, 2, 1,
0 1,0 2,0 1,0 1, 2, 1,
, , , , 0,
, , , , , , ,
j j j M j
M N N N M N
Y u u u j N
F g g g F g g g





Ma trận C có dạng
0 0 0 0
0 0 0
0 0 0 0
,
0 0 0 0
0 0 0
0 0 0 0
dr
r d r
rd

C
dr
r d r
rd


















      


2
2
1, 0,
2
2

2
2,
2
2
2
2,
2
2
2
1, ,
2

jj
j
j
Mj
M j M j
h
rg
k
h
k
F
h
k
h
rg
k



























trong đó
 
22
1 2 2
2
2 1 2

, 2 1
k h h
r d r c
k h k
   
.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

19
Trên cơ sở thuật toán thứ nhất tiến hành cài đặt giải hệ phƣơng trình trên.
Thiết kế các hàm RC0000(phi,b1,b2,b3,b4,l1,l2,k1,k2,C,N,M,n), thực hiện thuật
toán thu gọn.
Hàm v0000(phi,b1,b2,b3,b4,l1,l2,k1,k2,C,M,N,n,p1,p2,q1,q2) trả lại ma trận
nghiệm xấp xỉ của bài toán (1.24) bắt đầu từ tọa độ (p
1
,q
1
) đến (p
2
,q
2
).
1.4.2. Bài toán biên Neumann
Xét bài toán biên hỗn hợp
 
22
12
22
12

uu
k ( x ) k ( x ) c( x ) f ( x ), x ,
xx
u g x , x .


   




 


(1.26)
Trong đó

là toán tử điều kiện biên (
uu
nếu điều kiện biên là Dirichlet,
u
u
v





nếu điều kiện biên là Neumann) và tồn tại ít nhất 1 cạnh là điều kiện biên Neumann.
Trƣờng hợp 1: Điều kiện trên cạnh trên của hình chữ nhật là dạng

Neumann.
Từ phƣơng pháp sai phân với độ chính xác
 
22
12
O h h
chuyển bài toán vi
phân (1.25) về bài toán sai phân tƣơng ứng với hệ phƣơng trình vé c tơ ba điểm
1 1 0 0 1
; , 2 ; 1, 1
j j j j N N N
Y CY Y F Y F Y CY F j N
  
         

trong đó Y
j
là các véc tơ nghiệm,
j
F
là các vé c tơ cấp
 
1M 
,C là ma trận hệ số cấp
   
11MM  
đƣợc xác định nhƣ sau:
 
     
 

1, 2, 1,
0 3 3 3
, , , , 0,
1 , 2 , , 1
j j j M j
Y u u u j N
F b b b M





Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

20
   
 
 
   
2
2
1, 2 4 1
2
2
2
2, 2 4
2
2
2
2, 2 4

2
2
2
1, 2 4 2
2
21
22
22
21
N
N
N
MN
MN
h
h b rb N
k
h
hb
k
F
h
h b M
k
h
h b M rb N
k























  





0 0 0 0
0 0 0
0 0 0 0
,
0 0 0 0

0 0 0
0 0 0 0
dr
r d r
rd
C
dr
r d r
rd


















      

 

 
2
2
1, 1
2
2
2
2,
2
2
2
2,
2
2
2
1, 2
2
j
j
j
Mj
Mj
h
rb j
k
h
k
F
h
k

h
rb j
k

























1,2, 1jN


trong đó
 
22
1 2 2
2
2 1 2
, 2 1
k h h
r d r c
k h k
   
.
Trên cơ sở của thuật toán thứ hai áp dụng trong trƣờng hợp đã biết vé c tơ F
0
,
tiến hành cài đặt giải hệ phƣơng trình vé c tơ ba điểm.

×