Phương pháp sai phân là 1 trong 3 phương pháp để giải phương trình vi phân
Trang 1
Mục Lục
Trang 2Tổng kết phương pháp sai phân
A. Tổng kết các vấn đề lý thuyết
1. Mục tiêu của phương pháp:
Phương pháp sai phân là 1 trong 3 phương pháp để giải phương trình vi phân
Bao gồm :
tích phân và biến đổi tương ứng
Thực chất của phương phấp sai phân là việc xấp xỉ các giá trị của
hàm tại các điểm đặc biệt ( thường chọn là lưới sai phân đều cho đơn giản) : Như vậy để xây dựng được 1 nghiệm sai phân đúng theo nghĩa sai phân cần tính được các giá trị của nghiệm phương trình vi phân tại các đầu mút quan trọng, có tất cả là m*n ( m là kích thước lưới sai phân, t là thời gian trong trường hợp 1 chiều) các giá trị này với 1 số giá trị biên đã biết còn lại ta cần tìm các giá trị còn lại điều đó đưa đến nhận xét là :
Thực chất của phương pháp sai phân chính là giải hệ phương trình đại số tuyến tính khi đã biết 1 số giá trị đặc biệt Chỉ cần lập được hệ
đại số tuyến tính để tính các nghiệm chính là đã giải quyết được 70% công việc của bài toán Việc còn lại chỉ là tìm phương pháp giải phù hợp ( Euler,Luân phương ẩn, Seidel co dãn, truy hồi 3 đường
chéo… )
Giải thích thêm : Ở đây sở dĩ ta phải giải hệ vì vịj thì các chỉ số i,j chạy tương ứng vì vậy ta thu được 1 hệ phương trình chứ ko phải là 1 phương trình(biểu thức)
Còn phương pháp phần tử hữu hạn là xấp xỉ các hàm trên các miền hữu hạn thành các toán tử tuyến tính để xấp xỉ được như vậy thực chất
là giải bài toán xấp xỉ hàm với sai số đã chọn
Trang 32. Cách làm:
Để xấp xỉ được giá trị của hàm thì ta dung cách thay thế các đạo hàm bằng các sai phân tương ứng của nó và đưa về giải hệ phương trình Cụ thể
uxi=u’(xi)=uẋi= uẋi+1 (Sai phân cấp 1)
Từ các công thức đó ta thay vào các đạo hàm tương ứng thì ta có một hệ phương trình sai phân với các giá trị nút lưới tương ứng Giải hệ này ta
có đáp số.Cụ thể từng bài toán xem xét dưới đây
B. Các dạng phương trình vi phân thường sử dụng phương pháp sai phân để giải
I. Bài toán truyền nhiệt
1. Truyền nhiệt dừng 1 chiều ( tức là biểu thức
u t
∂
∂
=0)
Lu = (k(x)u’)’-q(x)u(x)=-f(x)
Bài toán biên loại 1:
u(a)=A, u(b)=B với a,b là 2 biên
Như đã nói ở trên ta đưa về hệ phương trình tuyến tính:
aiyi-1-(ai+1+ai+h2qi)yi+ai+1yi+1= -h2fi
( Để có được hệ thức này như đã nói ở trên ta thay các đạo hàm bằng sai phân tương ứng và rút gọn) Ở đây các chỉ số i chạy nên ta thu được hệ phương trình với mỗi phương trình với 3 ẩn yi-1, yi, yi+1 với i thay lần lượt
từ 1 đến N-1
-C1y1+B1y2=-(h2f1+ A1y0)=-d1
A2y1-C2y2+B2y3=-h2f2=-d2
………
Trang 4B C
β2=
1 1
d C
Trang 5Chú ý quan trọng :
i. d i =h 2 f i phải chú ý dấu của f i cho trong đề bài ( bài giữa kì cả
lớp sai vì lỗi này nên cần chú ý đặc biệt)
ii. Để đỡ nhầm lẫn nên thay ngay các giá trị trung gian có thể
tính từ ban đầu luôn như A i , B i ,C i , d i =h 2 f i rồi mới đi giải hệ bằng công thức trên
iii. Với lưới sai phân nhỏ ( từ khoảng 4 đến 5 điểm cần tính) có
thể dung phương pháp khử Gauss-Jordan như vậy sẽ tiết
kiệm khối lượng tính ít nhất 2.5 lần
0.0651
0.0717
0.0782
0.0848
0.0913
+
−
=
1.85*( 0.096) 7.153 3.809 1.85*0.905
Trang 6Với điều kiện ban đầu : u(x,0)=g(x)
Và điều kiện biên :u(a,t)=α(t)
:u(b,t)=β(t)
Thay các đạo hàm bằng sai phân tương ứng ta xây dựng được 3 phương pháp giải tương ứng là : sai phân hiện, sai phân ẩn và 6 điểm đối xứng Crank-Nicolson:
a. Phương pháp sai phân hiện.
Chú ý rằng đạo hàm theo x thì chỉ số j ( tức là của t giữ nguyên )
Và đạo hàm theo t thì chỉ số i ( tức là của x giữ nguyên) Cho dễ nhớ
Bài toán đưa về:
f
Hay :
Trang 7j i
j j N
ban đầu u(x,0)=g(x), ngoại trừ u(a,0) và u(b,0 ) xác định theo điều kiện đầu) nên ta có thể tính được lớp thứ j từ lớp j-1 mà không cần giải hệ
tương tự ta thay các hằng, hoặc hàm số theo sai phân tương ứng
là được
Ví dụ:
Lấy lại ví dụ trong như trong vở
f(x,t)=2; u(0,t)=et; u(1,t)=e1+t+1; u(x,0)= ex+x2
=e1+t+1(Điều kiện biên)
vi0=ex+x2 (Điều kiện đầu)
Sử dụng lược đồ sai phân ta có công thức tổng quát
Trang 8-2
0 1
v
+
0 2
v
]+
0 1
v
+0.005
1 1
v
-2
0 2
v
+
0 3
v
]+
0 2
v
+0.005
1 2
f
=0.5[(ex+x2)-2(ex+x2)+ (ex+x2)]+ (ex+x2)+0.005*2
=0.5[(e0.1+0.12)-2(e0.2+0.22)+ (e0.3+0.32)]+ (e0.2+0.22)+0.005*2 =0.5*0+1.271= 1.2875
v
-2
0 9
v
+
0 10
v
]+
0 9
v
+0.005*2 =0.5[(ex+x2)-2(ex+x2)+ e1+t+1]+ ex+x2+0.01
=0.5[(e0.8+0.82)-2(e0.9+0.92)+ e1+0.005+1]+ e0.9+0.92+0.01
=3.309
Các bước 2,3,4… tương tự nhau chỉ có bước 1, và 9 là cần chú
ý vì điều kiện biên Ở đây kết quả xấp xỉ “ không được tốt lắm
Trang 9-2
1 1
v
+
1 2
v
]+
1 1
b. Phương pháp sai phân ẩn
Tương tự như phương pháp sai phân hiện phương pháp sai phân ẩn cũng sử dụng việc thay các đạo hàm bằng các sai phân tương ứng nhưng thay vì sử dụng các sai phân ở lớp dưới (j) ta sử dụng luôn sai phân ở lớp trên (j+1) để từ 1 phương trình ta thu được 3 giá trị xấp xỉ ngay lập tức
Tuy nhiên để từ lớp j+1 xấp xỉ được chính nó ta cần đưa đến việc giải hệ phương trình với mỗi phương trình trong hệ gồm 3 ẩn ở lớp j+1 và các hằng số biết trước do đã tính được lớp j
Trang 10h
τ
1 1
j i
j i
v + +
=-j i
v
-τ f i j+1
(1)
Như đã nói ở trên biểu thức trên xác định 1 hệ phương trình do các chỉ
số i,j chạy Mỗi phương trình của hệ chứa 3 ẩn ở lớp trên
1 1
j i
v + +
,
1
j i
v +
,
1 1
j i
v +
−
và 1 ẩn ở lớp dưới
j i
Trang 11+ 0.025
1 2
v
=-0 1
v
=-1.288Tương tự với j=0,i=2,3,4 Ta thuc được hệ như sau:
-1.05 0.025 0 0
1 1
v
-1.288 0,025 -1.05 0.025 0
1 2
v
-1.654
0 0.025 -1.05 0.025
1 3
v
= -2.184
0 0 0.025 -1.05
1 4
v
-2.868 Để giải hệ này về mặt tổng quát thì dung truy đuổi 3 đường chéo
Trang 12α1=
1 1
B C
β1=
1 1
d C
+
−
yi= αi+1yi+1+ βi+1
Nếu hệ ít phương trình có thể dùng phương pháp khử Gauss-Jordan thì nhanh hơn.
Ở bài toán trên ta có nghiệm là
(1.2661
1.6574
2.1857
Trang 13Lớp thứ 2,3 4… tính tương tự
c. Phương pháp Crank-Nicolson
Lý luận tương tự như phương pháp sai phân ẩn cho cách tìm ra
nghiệm Ở đây để tiết kiệm thời gian ta đi luôn và hệ tổng quát tức là
sau quá trình biến đổi và thay thế sai phân
Trang 14B C
β1=
1 1
d C
yi= αi+1yi+1+ βi+1
Hoặc hệ nhỏ có thể giải Gauss
Ví dụ: Lấy lại ví dụ trên f(x,t)=2; u(0,t)=et; u(1,t)=e1+t+1; u(x,0)= ex+x2
Ở đây chọn h=0.2 cho ít phương trình
v
2.5550.025 -2.1 0.025 0 =
1 2
v
= 3.311
1 3
v
Trang 150 0 0.025 -2.1
1 4
v
5.832
Có nghiệm là : 1.2359 1.6168 2.1345 2.8026
Với điều kiện biên
u(x,y)=g(x,y) trên biên của miền đang xét D
Thay các đạo hàm bằng sai phân tương ứng ta có:
Trang 16Vì vậy việc giải nghiệm
đúng là vô cùng phức tạp, do đó chỉ có thể chọn phương pháp giải gần đúng
( Đây là lí do vì sao ở phương pháp này ta ko dung 3 đường chéo, hay Gauss để giải) Có rất nhiều phương pháp giải gần đúng hệ này xong ở đây ta quan tâm đến phương pháp giải bằng lặp Seidel đã học trong giải tích số
Chọn xấp xỉ đầu
(0) ij
Trang 174. Truyền nhiệt không dừng trong không gian 2 chiều
a. Lược đồ sai phân hiện:
Thay các đạo hàm bằng sai phân tương ứng:
n
f −
(4)Hay
Trang 18,
3 ij
Trang 19Cách làm tương tự như trên nhưng ở đây ta thay các xấp sỉ sai phân bằng các sai phân của lớp trên n+1 chứ ko phải lớp dưới n-1 nữa và từ
Trang 20dung một phương pháp giải gần đúng nghiệm mà thôi Cũng như trên ở đây ta
chọn phương pháp lặp Seidel Công thức lặp cụ thể như sau:
Chọn xấp xỉ đầu
1 0 ij
được tính truy hồi theo các bước trước Sau khi chọn xấp
sỉ đầu ta có công thức lặp như sau:
ẩn, một chiều địa phương, nhảy ô
c. Lược đồ luân phương ẩn.
Để đi tới lược đồ luân phương ẩn ta thay các đạo hảm bằng các sai phân tương ứng ở lớp n+1/2 thay vì lớp n+1 và lớp n( n là lớp theo
Trang 21v +
từ
1 2 ij
v
= gij=g(xi,yj) ta tính được
1 2 ij
Trang 22ta tính ra
1 ij
ta tính ra
1 2 ij
n
v +
ta tính ra
1 ij
n
v +
theo hệ sau:
Trang 23=
=
d. Phương pháp một chiều địa phương.
Đúng như tên gọi của phương pháp, phương pháp 1 chiều địa phương
dựa trên ý tưởng là tách bài toán truyền nhiệt ko dừng 2 chiều về
thành 2 bài toán truyền nhiệt không dừng 1 chiều như sau:
2 1 2
1
( , , )2
1
( , , )2
(Theo chiều của y) (3)
Như đã xét ở tiết trước ta lập lược đồ sai phân cho lần lượt 2 bài toán
này:
Bài toán 2 đối với x
Trang 241 1 1 1
1 ij 2
1
2 ij 2
1
1 2
2'
v
Từ hệ (*)
Bước 2: Từ
1 2 ij
v
ta tính được
1 ij
n
v +
ta tính được
1 ij
n
v +
từ hệ (**)
Trang 25Giải các hệ trên bằng công thức truy đuổi 3 đường chéo hoặc khủ Gauss ta có kết quả cần tìm
e. Phương pháp nhảy ô
Phương pháp này trong chương trình thầy ko dậy chắc ko phải thi
II Phương trình truyền sóng ( dây rung)
Ở đây chỉ xét bài toán dây rung 1 chiều
τ
Trang 26Chú ý quan trọng :
nhất thiết phải dùng truy đuổi hay Gauss
Trang 27những bài ( ví dụ như ví dụ đầu tiên ở trên ta lại không dùng α1
,β1
mà tính ngay α2
,β2
phương trình vi phân ban đầu trước rồi thay số vào, việc nhẩm nghiệm và kiểm tra tính đúng của các xấp sỉ thì ta sử dụng tính chất đơn điệu của hàm số
chính xác là 1 hàm số, tuy nhiên với các nghiệm vô tỉ thì ko thể
công thức tương đối phức tạp
minh định lý, bổ đề về sự hội tụ