HCMUS
CÁC XẤP XỈ ĐẠO HÀM TRONG 2 CHIỀU
Năm học 2022-2023
Bài tập 1
Tìm các cơng thức sai phân tiến (forward), sai phân lùi (backward), sai phân trung
tâm (central) xấp xỉ cho:
∂u
∂u
(xi , yj ),
(xi , yj ).
∂x
∂y
SAI PHÂN HỮU HẠN
Chúng ta có khai triển Taylor của u(x(t), y(t)) trong 2D tại (xi , yj ):
∂u
∂u
(xi , yj )∆x +
(xi , yj )∆y
u(x(t), y(t)) = u(xi , yj ) + t
∂x
∂y
t2 ∂ 2 u
∂ 2u
∂u
2
2
+
(xi , yj )∆x∆y + 2 (xi , yj )(∆y) + O(h3 ),
(xi , yj )(∆x) +
2 ∂x2
∂x∂y
∂y
(1)
với ∆x = x(t) − xi và ∆y = y(t) − yi .
* Chúng ta xét: x(t) = (1 − t)xi + txi+1 ,
Chọn t = 1, chúng ta được: x(1) = xi+1 ,
Suy ra: ∆x = xi+1 − xi ,
y(t) = (1 − t)yj + tyj = yj .
y(1) = yj .
∆y = 0.
Khi đó, từ (1) suy ra:
BÀI TẬP
∂u
u(x(1), y(1)) = u(xi+1 , yj ) = u(xi , yj ) + t
(xi , yj )∆x
∂x
t2 ∂ 2 u
2
+
(xi , yj )(∆x) + O(h3 ).
2 ∂x2
{z
}
|
(2)
O(h2 )
Do đó
∂u
u(xi+1 , yj ) − u(xi , yj )
(xi , yj ) =
+ O(h).
∂x
∆x
Vậy công thức sai phân tiến xấp xỉ
∂u
(xi , yj ) theo hướng x, có bậc hội tụ là bậc 1.
∂x
19/03/2022
* Chúng ta xét: x(t) = (1 − t)xi + txi−1 ,
y(t) = (1 − t)yj + tyj = yj .
Chọn t = 1, chúng ta được: x(1) = xi−1 ,
y(1) = yj .
Suy ra: ∆x∗ = xi − xi−1 = −∆x,
1
(3)
∆y = 0.
FDM
Khi đó, từ (1) suy ra:
HCMUS
∂u
u(x(1), y(1)) = u(xi−1 , yj ) = u(xi , yj ) − t
(xi , yj )∆x
∂x
t2 ∂ 2 u
2
+
(xi , yj )(∆x) + O(h3 ).
2 ∂x2
|
{z
}
(4)
O(h2 )
Do đó
∂u
u(xi , yj ) − u(xi−1 , yj )
(xi , yj ) =
+ O(h).
∂x
∆x
SAI PHÂN HỮU HẠN
Vậy công thức sai phân lùi xấp xỉ
(5)
∂u
(xi , yj ) theo hướng x, có bậc hội tụ là bậc 1.
∂x
Lấy (2) − (4), chúng ta được:
u(xi+1 , yj ) − u(xi−1 , yj ) = 2
∂u
(xi , yj )∆x + O(h3 ).
∂x
Do đó
∂u
u(xi+1 , yj ) − u(xi−1 , yj )
(xi , yj ) =
+ O(h).
∂x
2∆x
Vậy công thức sai phân trung tâm xấp xỉ
∂u
(xi , yj ) theo hướng x, có bậc hội tụ là bậc 1.
∂x
* Chúng ta xét: x(t) = (1 − t)xi + txi+1 ,
y(t) = (1 − t)yj + tyj = yj .
Chọn t = 1, chúng ta được: x(1) = xi+1 ,
y(1) = yj .
Suy ra: ∆x = 0,
(6)
∆y = yj+1 − yj .
Khi đó, từ (1) suy ra:
BÀI TẬP
∂u
u(x(1), y(1)) = u(xi , yj+1 ) = u(xi , yj ) + t
(xi , yj )∆y
∂y
t2 ∂ 2 u
2
+
(xi , yj )(∆y) + O(h3 ).
2 ∂y 2
{z
}
|
(7)
O(h2 )
Do đó
∂u
u(xi , yj+1 ) − u(xi , yj )
(xi , yj ) =
+ O(h).
∂y
∆y
19/03/2022
Vậy công thức sai phân tiến xấp xỉ
∂u
(xi , yj ) theo hướng y, có bậc hội tụ là bậc 1.
∂y
* Chúng ta xét: x(t) = (1 − t)xi + txi = xi ,
Chọn t = 1, chúng ta được: x(1) = xi−1 ,
Suy ra: ∆x = 0,
2
(8)
y(t) = (1 − t)yj + tyj+1 .
y(1) = yj .
∆y∗ = yj − yj−1 = −∆y.
FDM
Khi đó, từ (1) suy ra:
HCMUS
∂u
(xi , yj )∆y
u(x(1), y(1)) = u(xi , yj−1 ) = u(xi , yj ) − t
∂y
t2 ∂ 2 u
2
+
(xi , yj )(∆y) + O(h3 ).
2 ∂y 2
|
{z
}
(9)
O(h2 )
Do đó
∂u
u(xi , yj ) − u(xi , yj−1 )
(xi , yj ) =
+ O(h).
∂y
∆y
SAI PHÂN HỮU HẠN
Vậy công thức sai phân lùi xấp xỉ
(10)
∂u
(xi , yj ) theo hướng y, có bậc hội tụ là bậc 1.
∂y
Lấy (7) − (9), chúng ta được:
u(xi , yj+1 ) − u(xi , yj−1 ) = 2
∂u
(xi , yj )∆y + O(h3 )
∂y
Do đó
∂u
u(xi , yj+1 ) − u(xi , yj−1 )
(xi , yj ) =
+ O(h).
∂x
2∆y
Vậy công thức sai phân trung tâm xấp xỉ
(11)
∂u
(xi , yj ) theo hướng x, có bậc hội tụ là bậc 1.
∂y
Bài tập 2
Tìm công thức sai phân trung tâm xấp xỉ
∂ 2u
(xi , yj ) với bậc hội tụ là 2.
∂y 2
Chúng ta có:
BÀI TẬP
∂u
t2 ∂ 2 u
2
u(xi , yj+1 ) = u(xi , yj ) + t
(xi , yj )∆y +
(xi , yj )(∆y)
∂y
2 ∂y 2
t3 ∂ 3 u
3
+
(xi , yj )(∆y) + O(h4 ).
3! ∂y 3
∂u
t2 ∂ 2 u
2
u(xi , yj−1 ) = u(xi , yj ) − t
(xi , yj )∆y +
(xi , yj )(∆y)
∂y
2 ∂y 2
t3 ∂ 3 u
3
−
(xi , yj )(∆y) + O(h4 ).
3! ∂y 3
(12)
(13)
19/03/2022
Lấy (12) + (13), chúng ta được:
t2 ∂ 2 u
2
u(xi , yj+1 ) + u(xi , yj−1 ) = 2u(xi , yj ) +
(xi , yj )(∆y) + O(h4 ).
2 ∂y 2
Chọn t = 1, suy ra:
∂ 2u
u(xi , yj+1 ) − 2u(xi , yj ) + u(xi , yj−1 )
(xi , yj ) =
+ O(h2 ).
2
2
∂y
(∆y)
3
(14)
FDM
∂ 2u
(xi , yj ) với bậc hội tụ là 2. Tương tự,
∂y 2
∂ 2u
chúng ta có cơng thức sai phân trung tâm xấp xỉ
(xi , yj ) với bậc hội tụ là 2 như sau:
∂x2
Vậy (14) là công thức sai phân trung tâm xấp xỉ
HCMUS
∂ 2u
u(xi+1 , yj ) − 2u(xi , yj ) + u(xi−1 , yj )
(xi , yj ) =
+ O(h2 ).
2
∂x
(∆x)2
(15)
Bài tập 3
(Một cách làm tổng quát) Xác định α, β, γ, δ cho công thức sai phân tiến sau:
SAI PHÂN HỮU HẠN
∂ 2u
(xi , yj ) = αu(xi , yj ) + βu(xi+1 , yj ) + γu(xi+2 , yj ) + O(hδ ).
∂x2
(16)
Chúng ta có:
(2t)2 ∂ 2 u
∂u
2
(xi , yj )∆y +
(xi , yj )(∆y)
u(xi , yj+2 ) = u(xi , yj ) + t
∂y
2
∂y 2
(2t)3 ∂ 3 u
3
+
(xi , yj )(∆y) + O(h4 ).
3
3! ∂y
t2 ∂ 2 u
∂u
2
(xi , yj )∆y +
(xi , yj )(∆y)
u(xi , yj+1 ) = u(xi , yj ) + t
∂y
2 ∂y 2
t3 ∂ 3 u
3
(xi , yj )(∆y) + O(h4 ).
+
3! ∂y 3
(17)
(18)
Chọn t = 1 và lấy (17) − 2 × (18), chúng ta được:
∂ 2u
2
u(xi , yj+2 ) − 2u(xi , yj+1 ) = −u(xi , yj ) + 2
(xi , yj )(∆y)
∂y 2
3
∂ u
3
(xi , yj )(∆y) + O(h4 ).
+
3
∂y
BÀI TẬP
Suy ra
u(xi , yj+2 ) − 2u(xi , yj+1 ) + u(xi , yj )
∂ 2u
(xi , yj ) =
+ O(h2 ).
2
∂y
(∆y)2
Vậy (19) là cơng thức sai phân tiến xấp xỉ
(19)
∂ 2u
có bậc hội tụ là 2.
∂x2
19/03/2022
4
FDM