Trường Đại học Công nghiệp thành phố Hồ Chí Minh 1
Khoa Công nghệ Cơ khí
Bộ môn Cơ sở - Thiết kế
Bài 7:
Phương trình trình vi phân thường bậc I
Thời lượng: 3 tiết
Nội dung bài học 2
9
phương
pháp
Phân loại đạo hàm (vi phân) 3
Đạo hàm
Đạo hàm Đạo hàm riêng
dv u
dt y
v là 1 hàm của biến u là hàm của hơn 1
độc lập t biến độc lập (x,y,z,t,)
Phân loại phương trình vi phân 4
Phương trình
vi phân
Phương trình vi phân thường Phương trình đạo hàm
62 trang |
Chia sẻ: Tài Huệ | Ngày: 16/02/2024 | Lượt xem: 244 | Lượt tải: 0
Tóm tắt tài liệu Bài giảng Phương pháp số trong tính toán cơ khí - Bài 7: Phương trình trình vi phân thường bậc I - Trường Đại học Công nghệ Thành phố Hồ Chí Minh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
m riêng
2 2 2
d v u u
6tv 1 2 2 0
dt 2 y x
Gồm 1 hoặc nhiều đạo
Gồm một hay nhiều đạo hàm
hàm toàn phần của
của các hàm ẩn số theo một biến độc lập các hàm ẩn số theo nhiều biến độc lập
Khái niệm phương trình vi phân 5
- Phương trình vi phân (PTVP) là một phương trình mà chứa đạo hàm của
một hàm số chưa biết. Nghiệm của PTVP chính là hàm số mà thỏa mãn
PTVP đó.
- PTVP mà chỉ có một biến số thì được gọi là Phương trình vi phân thường
(Ordinary Differential Equation - ODE)
x là biến độc lập; y là biến phụ thuộc
Phương trình có chứa x, y, dy/dx dy
f x, y , 0 (1)
PTVP thường bậc 1 là phương trình chứa dx
hàm x, hàm y và dy/dx
dy
- Ví dụ 1: ax2 by 0 PTVP thường bậc 1 (dy/dx), tuyến tính (đối với y)
dx
dy
- Ví dụ 2: a y x b y 0 PTVP thường bậc 1 (dy/dx), phi tuyến (đối với y)
dx
Phương trình vi phân đầy đủ 6
d
- Ví dụ 1: y x ax2 b y x 0
dx
d
- Ví dụ 2: y x a y x x b y x 0
dx
y(x) là hàm ẩn
x – biến độc lập
Bậc của phương trình vi phân 7
d x t
x t et
dt PTVP bậc 1
d2 x t d x t
5 2x t cos t PTVP bậc 2
dt2 dt
d3 x t d x t
21xt4 PTVP bậc 3
dt3 dt
Phương trình vi phân tuyến tính và phi tuyến 8
Một PTVP là tuyến tính nếu hàm ẩn số và đạo hàm của nó xuất hiện
với lũy thừa bằng 1. Không có tích của hàm số và/hoặc đạo hàm của
nó.
d x t t
- Ví dụ 1: x t e - PTVP tuyến tính
dt
d2 x t d x t
- Ví dụ 2: 5 2t2 x t cos t - PTVP phi tuyến
dt2 dt
2
d x t 2
- Ví dụ 3: 2t x t cos t - PTVP phi tuyến
dt
Phương trình vi phân tuyến tính và phi tuyến 9
Một PTVP là phi tuyến nếu hàm ẩn số và đạo hàm của nó xuất hiện
với lũy thừa khác 1. Ngoài ra có thể có tích của hàm số và/hoặc đạo
hàm của nó.
d x t
- Ví dụ 4: cos x t et - PTVP phi tuyến
dt
d2 x t d x t
- Ví dụ 5: 52 xt - PTVP phi tuyến
dt2 dt
d2 x t d x t
- Ví dụ 6: 51 xt - PTVP phi tuyến
dt2 dt
Điều kiện phụ để giải PTVP 10
Nghiệm của phương trình vi phân:
d2 x t
4x t 0 x t c sin 2 t c cos 2 t
dt 2 12
Tất cả các hàm số trên là nghiệm của PTVP, chúng khác nhau ở các hằng
số c1, c2. Để xác định chính xác c1, c2 cần có thêm các điều kiện phụ:
d2 x t
40xt - PTVP bậc 2
dt 2 Để giải PTVP bậc n
x0 a ; x 0 b 2 điều kiện phụ ta cần n điều kiện
b phụ
x t sin 2 t a cos 2 t
2
Phân loại PTVP theo điều kiện phụ 11
Bài toán giá trị ban đầu Bài toán giá trị biên
(Initial Value Problem) (Boundary Value Problem)
• Các điều kiện thì không ở 1
Tất cả điều kiện là ở 1 điểm của biến độc lập
điểm của biến độc lập
• Giải bài toán này khó hơn bài
toán giá trị ban đầu
x2 x x e2t x 2x x e2t
xx(0) 1, (0) 2.5 x(0) 1, x(2) 1.5
Giống Khác
nhau nhau
Phương trình vi phân bậc I 12
dy
f x, y với điều kiện ban đầu: y x00 y (2)
dx
dy
f x, y 1.2 y 7 e0.3x
dx
- Trường hướng
- Các họ đường cong
Phương trình vi phân bậc I 13
dy 0.3x
f x, y 1.2 y 7 e Tại mỗi điểm có toạ độ (x,y), ta tính được
dx
f(x,y), và nó chính là độ dốc (Slope) dy/dx
0xy 4; 2 6
của hàm y(x). Độ nghiêng của các véctơ vẽ
tại mỗi điểm chính là độ dốc. Tập hợp các
véctơ đó trong khoảng x Є [0; 4]; y Є [2; 6]
Với mỗi một điều kiện ban đầu ta có một
họ đường cong lời giải:
y 26
y 03
y 1.5 2
Phương trình vi phân bậc I 14
dy
f x, y
dx (2)
y x00 y
. Lời giải số của PTVP bậc I (2) là một tập hợp các điểm rời rạc mà xấp xỉ được hàm số
y(x). Khi PTVP được giải bằng phương pháp số thì đề bài phải giới hạn miền lời giải. Ví
dụ x Є [a; b]. Tùy thuộc vào phương pháp số được dùng để giải phương trình, số điểm
giữa khoảng a và b có thể được xác định.
. Ví dụ miền lời giải [a; b] có thể được chia ra làm n khoảng nhỏ đều nhau của biến độc
lập từ x0 = a cho đến xn = b.
. Các lời giải bao gồm các giá trị của biến phụ thuộc được xác định tại mỗi giá trị của biến
độc lập
. Lời giải sẽ là tập hợp các điểm (x0, y0), (x1, y1),,(xn, yn)
Phân loại phương pháp giải PTVP thường bậc I 15
Phương pháp số cho
PTVP
Phương pháp đơn bước Phương pháp đa bước
(Single-step Method) (Multiple-step Method)
Ước tính nghiệm ở một bước
Ước tính nghiệm ở một bước cụ thể dựa trên các thông tin
cụ thể dựa trên các thông tin của nhiều hơn một bước
của một bước trước trước
Lời giải số là một quy trình hoặc tính toán ước tính nghiệm của lời giải chính xác tại một tập
hợp các điểm rời rạc. Quá trình giải tăng dần theo từng bước. Bắt đầu từ điểm mà giá trị ban
đầu được đưa ra. Sau đó sử dụng lời giải tại điểm đầu tiên để tính được lời giải tại điểm thứ
hai gần đó. Tiếp theo là lời giải tại điểm thứ ba, thứ tư, v.vÝ tưởng sử dụng giá trị hàm số tại
một vài điểm trước có thể đem đến một ước tính tốt hơn cho việc tìm lời giải.
Phân loại phương pháp giải PTVP thường bậc I 16
Phương pháp số cho
PTVP
Phương pháp tường minh Phương pháp ẩn tàng
(Explicit Method) (Implicit Method)
yi11 F x i,, x i y i (3) yi1 F x i,,, y i x i 1 y i 1 (4)
yi+1 chưa biết và xuất hiện ở cả 2 vế. Nếu F là
Trong công thức tường minh, vế hàm tuyến tính của yi+1 thì có thể đưa (4) về (3).
phải của phương trình chỉ chứa Còn nếu là phi tuyến thì phải sử dụng kiến thức
những giá trị đã biết: giải phương trình phi tuyến để tìm yi+1. Các
phương pháp ẩn ngầm đưa đến kết quả chính
xi, xi+1, yi đều đã biết
xác hơn so với các phương pháp tường minh
nhưng đòi hỏi nhiều nỗ lực tính toán hơn.
Phương pháp đơn bước – tường minh 17
dy
y fxyya ,;; yxaxbx
dx 00 n
x1 x 0 h; x 2 x 0 2 h ; ; xn x 0 nh
Trong phương pháp đơn bước – tường minh,
Lời giải số
ước tính nghiệm của lời giải số (xi+1,yi+1)
được tính từ lời giải đã biết (xi,yi).
xii1 x h
Độ dốc = ϕi (5)
y y h
Lời giải i1 i i
chính xác Trong đó:
Đường cong h – cỡ bước
của lời giải ϕi=độ dốc – hằng số ước tính giá trị của dy/dx
chính xác trong khoảng từ xi đến xi+1.
Các phương pháp khác nhau ở
chỗ cách tính độ dốc ϕ
Phương pháp Euler tường minh 18
dy
Độ dốc = f x, y (6)
idx i i
xx i
1.B1: Xác định hàm f(x,y)
2.B2: Nhập số liệu điều kiện ban đầu x0, y0
3.B3: Xác định cỡ bước h, số bước n
4.B4: Cho i từ 0 đến n-1, thực hiện bước 5 và
Lời giải 6
chính xác 5.B5: Tính: i f x i, y i
Lời giải số
yi1 y i h i (7)
xii1 x h
6.B6: Xuất kết quả tập hợp (x0,y0),
(x1,y1),,(xn,yn)
Chính là lời giải số của PTVP
Phương pháp Euler tường minh 19
dy 0.3x
f x, y 1.2 y 7 e
dx
yx0 3;0 4.
0.3x
g x 1; f10 x 1.2; f x 7 e
fx1 1.2 6
F x dx dx 1.2 x x
gx 15
9
Fx fx 70 x
e 0 dx e1.2x 77 e 0.3 x dx e 0.9 x dx e10
gx 9
69
xx
570 10 69
y x e C e 43 xx 70 43
9 C y x e5 e 10
9 9 9
y 03
Phương pháp Euler tường minh 20
dy 0.3x 3. i=2:
f x, y 1.2 y 7 e f x, y 1.2 4.892477918 7 e0.31.0 0.685245956
dx 2 2 2
y y h 4.892477918 0.5 0.685245956
yx0 3; 0 4 3 2 2
4.54985494
x32 x h 1.0 0.5 1.5
ba40 4. i=3:
hn0.5 8 0.31.5
f x, y 1.2 4.54985494 7 e 0.996428866
h 0.5 3 3 3
y4 y 3 h 3 4.54985494 0.5 0.996428866
4.051640507
1. i=0: 0.3 0
0f x 0, y 0 1.2 3 7 e 3.4
x43 x h 1.5 0.5 2.0
y y h 3 0.5 3.4 4.7
1 0 0 5. i=4:
x x h 0 0.5 0.5
10 f x, y 1.2 4.051640507 7 e0.3 2.0 1.020287156
2. i=1: 4 4 4
0.3 0.5 y5 y 4 h 4 4.051640507 0.5 1.020287156
1f x 1, y 1 1.2 4.7 7 e 0.384955835
3.541496929
y2 y 1 h 1 4.7 0.5 0.384955835 4.892477918
x54 x h 2.0 0.5 2.5
x21 x h 0.5 0.5 1.0
Phương pháp Euler tường minh 21
0.3 2.5
6. i=5: 5f x 5, y 5 1.2 3.541496929 7 e 0.943230445
y6 y 5 h 5 3.541496929 0.5 0.943230445
3.069881706
x65 x h 2.5 0.5 3.0
f x, y 1.2 3.069881706 7 e0.3 3.0 0.837870429
7. i=6: 6 6 6
y7 y 6 h 6 3.069881706 0.5 0.837870429
2.650946492
x76 x h 3.0 0.5 3.5
0.3 3.5
8. i=7: 7f x 7, y 7 1.2 2.650946492 7 e 0.731571546
y8 y 7 h 7 2.650946492 0.5 0.731571546
2.285160719
x87 x h 3.5 0.5 4.0
Phương pháp Euler tường minh 22
69
xx70 43
y x e5 e 10
99
Phương pháp
Euler tường
minh (h=0.5)
Lời giải
chính xác
Phương pháp Euler ẩn tàng 23
dy
Độ dốc = f x, y
i1dx i 1 i 1 (8)
xx i1
1.B1: Xác định hàm f(x,y)
2.B2: Nhập số liệu điều kiện ban đầu x0, y0
3.B3: Xác định cỡ bước h, số bước n
4.B4: Cho i từ 0 đến n-1, thực hiện bước 5÷7
Lời giải số 5.B5: Tính:
xii1 x h
y y h f x, y (9)
Lời giải i1 i i 1 i 1
chính xác
6. B6: Giải (9) để tìm yi+1 bằng các pp số
7. B7: Xuất kết quả tập hợp (x0,y0),
(x1,y1),,(xn,yn)
Chính là lời giải số của PTVP
Phương pháp Euler ẩn tàng 24
dy 0.3x
f x, y 1.2 y 7 e 2. i=1:
dx
yx0 3; 0 4 x x h 0.5 0.5 1.0
21
0.31.0
y2 y 1 h f x 2, y 2 3.757798698 0.5 1.2 y 2 7 e
3.757798698 3.5e0.31.0
ba40 y 3.969164044
hn0.5 8 2 1.6
h 0.5
1. i=0: 3. i=2:
x x h 0 0.5 0.5 x x h 1.0 0.5 1.5
10 32
0.3 0.5 0.31.5
y1 y 0 h f x 1, y 1 3 0.5 1.2 y 1 7 e y3 y 2 h f x 3, y 3 3.969164044 0.5 1.2 y 3 7 e
0.3 0.5 0.31.5
3 3.5e 3.969164044 3.5e
y 3.757798698 y3 3.875539109
1 1.6 1.6
6. i=5: 25
Phương pháp Euler ẩn tàng
x x h 2.5 0.5 3.0
65
0.3 3.0
y6 y 5 h f x 6, y 6 3.297512707 0.5 1.2 y 6 7 e
0.3 3.0
3.297512707 3.5e
4. i=3: y6 2.950316572
1.6
7. i=6:
x43 x h 1.5 0.5 2.0
y y h f x, y 3.875539109 0.5 1.2 y 7 e0.3 2.0
4 3 4 4 4
x76 x h 3.0 0.5 3.5
3.875539109 3.5e0.3 2.0
0.3 3.5
y4 3.622737397 y y h f x, y 2.950316572 0.5 1.2 y 7 e
1.6 7 6 7 7 7
2.950316572 3.5e0.3 3.5
y 2.609436684
7
5. i=4: 1.6
8. i=7:
x54 x h 2.0 0.5 2.5
x87 x h 3.5 0.5 4.0
0.3 2.5
y5 y 4 h f x 5, y 5 3.622737397 0.5 1.2 y 5 7 e 0.3 4.0
y8 y 7 h f x 8, y 8 2.609436684 0.5 1.2 y 8 7 e
0.3 2.5
3.622737397 3.5e 0.3 4.0
y5 3.297512707 2.609436684 3.5e
1.6 y8 2.289760266
1.6
Phương pháp Euler ẩn tàng 26
69
xx70 43
y x e5 e 10
99 Phương pháp
Euler tường
minh (h=0.5)
Lời giải
chính xác
Phương pháp
Euler ẩn tàng
(h=0.5)
Phương pháp Taylor bậc cao 27
Triển khai y(xi+1) trong dãy Taylor quanh điểm xi:
121 1kkkk 1 1
y xi1 y x i hy x i h y x i h y x i h y i (10)
2!kk ! 1 !
Trong đó ξi Є [xi, xi+1], h= xi+1– xi
1 1 1
y x y x h y x hy x hkk1 ykk x h y 1
i1 i i2! ikk ! i 1 ! i
y f x, y
yi1 i ii
pk x i, y i
yi1 y i h p k x i, y i (11)
Trong đó:
1 1 1
p x,,,,, y f x y hf x y h21 f x y hk fk 1 x y (12)
kiiii2! ii 3! iik ! ii
Phương pháp Taylor bậc hai 28
xii1 x h
y y h p x, y
i1 i k i i (13)
1 1 1
p x,,,,, y f x y hf x y h21 f x y hk fk 1 x y
kiiii2! ii 3! iik ! ii
- Phương pháp Euler chính là khi k=1: p1 xi,, y i f x i y i i
- Phương pháp Taylor bậc hai k=2:
1
pxy2 i,,,,, i fxy i i hgxyfxy i i i i
1 2
p2 x,,, y f x y hf x y
2 yi12 y i h p x i, y i
fxy ,,,,,, gxyy gxyfxy
xii1 x h
i từ 0 đến n-1 (14)
Phương pháp Taylor bậc hai 29
dy 0.3x
0.3x p x, y 0.84 y 4.375 e i
f x, y 1.2 y 7 e 2 i i i
dx
y y h p x, y
i12 i i i
yx0 3; 0 4
xii1 x h
hn0.5 8 1. i=0:
0.3 0
p2 x 0, y 0 0.84 3 4.375 e 1.855
0.3x
f x, y 1.2 y 2.1 e y1 3 0.5 1.855 3.9275
0.3xx 0.3 x 0 0.5 0.5
1.2 1.2y 7 e 2.1 e 1
0.3x
1.44ye 10.5 2. i=1:
1
0.3 0.5
p2 x,,, y f x y hf x y p x, y 0.84 3.9275 4.375 e 0.466497396
2 2 1 1
0.5 y2 3.9275 0.5 0.466497396 4.160748698
1.2y 7 e0.3xx 1.44 y 10.5 e 0.3
2 x2 0.5 0.5 1.0
0.84ye 4.375 0.3x
Phương pháp Taylor bậc hai 30
0.31.0
3. i=2: p2 x 2, y 2 0.84 4.160748698 4.375 e 0.25394919
y3 4.160748698 0.5 0.25394919 4.033774103
x3 1.0 0.5 1.5
4. i=3: 0.31.5
p2 x 3, y 3 0.84 4.033774103 4.375 e 0.598747083
y4 4.033774103 0.5 0.598747083 3.734400561
x4 1.5 0.5 2.0
5. i=4: 0.3 2.0
p2 x 4, y 4 0.84 3.734400561 4.375 e 0.735845563
y5 3.734400561 0.5 0.735845563 3.366477780
x5 2.0 0.5 2.5
Phương pháp Taylor bậc hai 31
6. i=5: 0.3 2.5
p2 x 5, y 5 0.84 3.366477780 4.375 e 0.761237667
y6 3.366477780 0.5 0.761237667 2.985858946
x6 2.5 0.5 3.0
7. i=6: 0.3 3.0
p2 x 6, y 6 0.84 2.985858946 4.375 e 0.729379253
y7 2.985858946 0.5 0.729379253 2.621169319
x7 3.0 0.5 3.5
8. i=7: 0.3 3.5
p2 x 7, y 7 0.84 2.621169319 4.375 e 0.670804575
y8 2.621169319 0.5 0.670804575 2.285767031
x8 3.5 0.5 4.0
Phương pháp Taylor bậc hai 32
69
xx70 43
y x e5 e 10
99
Phương pháp Euler
tường minh (h=0.5)
Lời giải chính xác
Phương pháp Taylor
bậc 2 (h=0.5)
Phương pháp Euler
ẩn tàng (h=0.5)
Phương pháp Runge-Kutta bậc 2 (RK2) 33
dy
y fxyya ,;; yxaxbx
dx 00 n
x1 x 0 h; x 2 x 0 2 h ; ; xn x 0 nh
Đây là một hệ phương trình 4 ẩn
(a , a , b , c ) nhưng chỉ có 3
yi1 y i h x i, y i 1 2 1 11
phương trình. Nếu một trong số
các giá trị là hằng số thì 3 giá trị
(15) yi1 y i h a 1 k 1, i a 2 k 2, i (RK2) còn lại sẽ có thể được tính. Vì
vậy chúng ta có một vài phiên
bản của phương pháp RK2:
k1,i f x i, y i
(16) - Phương pháp Euler Cải tiến
k f x b h, y c k h
2,i i 1 i 11 1, i - Phương pháp Heun
- Phương pháp Ralston
11
(17) a a 1; a b ; a c
1 2 2 122 2 11
Phương pháp Runge-Kutta bậc 2 (RK2) 34
k f x, y
a1 0 1,i i i
17 1 1 1
a1, b k f x h y k h
2 1 2,i i i 1, i (18)
2 2 2
1 y y h k
c i1 i 2, i
11 2
xii1 x h
11 (19)
yi1 yhfx i i hy,, i hfxy i i
22
Phương pháp Runge-Kutta bậc 2 (RK2) 35
dy
f x, y 1.2 y 7 e0.3x xx0.5
dx ii1
0.5
0.5 0.3xi
yx0 3; 0 4; y y 0.5 1.2 y 1.2 y 7 e0.3xi 7 e 2
i1 i i i
2
hn0.5 8
x x h
ii1 xx0.5
11 ii1
y yhfx hy,, hfxy
i1 i i i i i 0.3x 0.25
22 0.3xi i
yii1 0.58 y 1.05 e 3.5 e
1. i=0: 2. i=1:
x1 0 0.5 0.5 x2 0.5 0.5 1.0
0.3 0 0.3 0 0.25 0.3 0.5 0.3 0.5 0.25
y1 0.58 3 1.05 e 3.5 e 3.937102202 y2 0.58 3.937102202 1.05 e 3.5 e
4.174582668
Phương pháp Runge-Kutta bậc 2 (RK2) 36
69
xx70 43
y x e5 e 10
99
Phương pháp Euler
tường minh (h=0.5)
Lời giải chính xác
Phương pháp Euler
cải tiến (h=0.5)
Phương pháp Taylor
bậc 2 (h=0.5)
Phương pháp Euler
ẩn tàng (h=0.5)
Phương pháp Runge-Kutta bậc 2 (RK2) 37
1
a
1 k1,i f x i, y i
2
1 17
a2 b 1 1, k 2,i f x i h y i k 1, i h
2 (20)
c 1
11 1
yi1 y i h k 1, i k 2, i
2
xii1 x h
h (21)
yi1 y i fxy i,,, i fxhyhfxy i i i i
2
Phương pháp Runge-Kutta bậc 2 (RK2) 38
Euler
h f xi,, y i f x i11 y i
y y fxy ,,, fxhyhfxy y yh (22)
i11 i22 i i i i i i i i
xi1 Euler
yi1
Phương pháp Runge-Kutta bậc 2 (RK2) 39
xx0.5
ii1
0.5 0.3xxii 0.3 0.3xi 0.5
yi1 y i 1.2 y i 7 e 1.2 y i 0.5 1.2 y i 7 e 7 e
2
xii1 x h
h
yi1 y i fxy i,,, i fxhyhfxy i i i i
2
xxii1 0.5
0.3xi 0.3xi 0.5
yii1 0.58 y 0.7 e 1.75 e
1. i=0: 2. i=1:
x2 0.5 0.5 1.0
x1 0 0.5 0.5
0.3 0.5 0.3 0.5 0.5
0.3 0 0.3 0 0.5 y0.58 3.946238959 0.7 e 1.75 e
y0.58 3 0.7 e 1.75 e 3.946238959 2
1
4.187746066
Phương pháp Runge-Kutta bậc 2 (RK2) 40
69
xx70 43
y x e5 e 10
99
Phương pháp Euler
tường minh (h=0.5)
Lời giải chính xác
Phương pháp Heun
(h=0.5)
Phương pháp Euler
cải tiến (h=0.5)
Phương pháp Taylor
bậc 2 (h=0.5)
Phương pháp Euler
ẩn tàng (h=0.5)
Phương pháp Runge-Kutta bậc 2 (RK2) 41
1
a1 k f x, y
3 1,i i i
217 3 3 3
a2 b 1 k 2,i f x i h, y i k 1, i h
3 4 4 4 (22)
3
c 1
11 yi1 y i h k 1, i 2 k 2, i
4 3
xii1 x h
h 33 (23)
yi1 y i fxy i, i 2 fx i hy , i hfxy i , i
3 4 4
Phương pháp Runge-Kutta bậc 2 (RK2) 42
xxii1 0.5
3
0.3x 0.5
0.5 3 i
0.3xxii 0.3 4
yi1 y i 1.2 y i 7 e 2 1.2 y i 0.5 1.2 y i 7 e 7 e
34
xx0.5
ii1
770.3x 0.3x 0.375
y0.58 y ei e i
ii1 60 3
1. i=0: 2. i=1:
x2 0.5 0.5 1.0
x1 0 0.5 0.5
770.3 0.5 0.3 0.5 0.375
77 y2 0.58 3.941727143 e e
y0.58 3 e0.3 0 e0.3 0 0.375 3.941727143 60 3
1 60 3
4.181245857
Phương pháp Runge-Kutta bậc 2 (RK2) 43
69
xx70 43
y x e5 e 10
99
Phương pháp Euler
tường minh (h=0.5)
Lời giải chính xác
Phương pháp Ralston
(h=0.5)
Phương pháp Heun
(h=0.5)
Phương pháp Euler
cải tiến (h=0.5)
Phương pháp Taylor
bậc 2 (h=0.5)
Phương pháp Euler
ẩn tàng (h=0.5)
Phương pháp Runge-Kutta bậc 3 (RK3) 44
dy
y fxyya ,;; yxaxbx
dx 00 n
x1 x 0 h; x 2 x 0 2 h ; ; xn x 0 nh
yi1 y i h x i, y i
(24) yi1 y i h a 1 k 1, i a 2 k 2, i a 3 k 3, i (RK3)
k1,i f x i, y i
(25) k2,i f x i b 1 h, y i c 11 k 1, i h
k fx bhy, ckhckh
3,i i 2 i 21 1, i 22 2, i
Phương pháp Runge-Kutta bậc 3 (RK3) 45
k1,i f x i, y i
11
k2,i f x i h, y i hk 1, i
22
(26)
k3,i f x i h,2 y i hk 1, i hk 2, i
h
yi1 y i k 1, i 4 k 2, i k 3, i
6
xii1 x h
h 1 1 1 1
yii1 y f x ii, y 4 f x ii h , y hf x ii , y f x iiii h , y hf x , y 2 hf x ii h , y hf x ii , y
6 2 2 2 2
(27)
Phương pháp Runge-Kutta bậc 3 (RK3) 46
dy 0.3x
f x, y 1.2 y 7 e
dx
y0 3; 0 x 4; h 0.5 n 8
1. i=0:
0.3 0
k1,0 f x 0, y 0 1.2 3 7 e 3.4
1 1 1 0.3 0.25
k2,0 f x 0 h, y 0 hk 1,0 f 0.25,3 0.5 3.4 f 0.25,3.85 1.2 3.85 7 e 1.874204404
2 2 2
k3,0 f x 0 h, y 0 hk 1,0 2 hk 2,0 f 0.5,3 0.5 3.4 2 0.5 1.874204404 f 0.5,3.174204404
0.3 0.5
1.2 3.174204404 7e 2.21591055
h 0.5
y1 y 0 k 14 k 2,0 k 3,0 3 3.4 4 1.874204404 2.21591055 4.092727347
66
Tương tự cho các vòng lặp sau
Phương pháp Runge-Kutta bậc 3 (RK3) 47
69
xx70 43
y x e5 e 10
99
Phương pháp Euler
tường minh (h=0.5)
Lời giải chính xác
Phương pháp RK3 cổ
điển (h=0.5)
Phương pháp Ralston
(h=0.5)
Phương pháp Heun
(h=0.5)
Phương pháp Euler
cải tiến (h=0.5)
Phương pháp Taylor
bậc 2 (h=0.5)
Phương pháp Euler
ẩn tàng (h=0.5)
Phương pháp Runge-Kutta bậc 3 (RK3) 48
k1,i f x i, y i
11
k2,i f x i h, y i hk 1, i
33
(28)
22
k3,i f x i h, y i hk 2, i
33
h
yi1 y i k 1, i 3 k 3, i
4
xii1 x h
h 2 2 1 1 (29)
yi1 y i f x i, y i 3 f x i h , y i hf x i h , y i hf x i , y i
4 3 3 3 3
Phương pháp Runge-Kutta bậc 3 (RK3) 49
dy 0.3x
f x, y 1.2 y 7 e
dx
y0 3; 0 x 4; h 0.5 n 8
1. i=0: k f x, y 1.2 3 7 e0.3 0 3.4
1,0 0 0
1
0.3
1 1 0.5 0.5 1 3.4 3.4 6
k2,0 f x 0 h, y 0 hk 1,0 f ,3 3.4 f , 1.2 7 e 5.978605972
3 3 3 3 6 6 6
2 2 1 1 1
k3,0 f x 0 h, y 0 hk 2,0 f ,3 5.978605972 f ,1.992868657
3 3 3 3 3
1
0.3
1.2 1.992868657 7e 3 3.942419538
h 0.5
y1 y 0 k 1,0 3 k 3,0 3 3.4 3 3.942419538 4.093407327
44
Tương tự cho các vòng lặp sau
Phương pháp Runge-Kutta bậc 3 (RK3) 50
69
xx70 43
y x e5 e 10 Phương pháp
99
RK3-Heun (h=0.5)
Lời giải
chính xác
Phương pháp Runge-Kutta bậc 4 (RK4) 51
dy
y fxyya ,;; yxaxbx
dx 00 n
x1 x 0 h; x 2 x 0 2 h ; ; xn x 0 nh
yi1 y i h x i, y i
(30) yi1 yhak i 11, i ak 22, i ak 33, i ak 44, i (RK4)
k1,i f x i, y i
k f x b h, y c k h
2,i i 1 i 11 1, i
(31)
k3,i fx i bhy 2, i ckhckh 21 1, i 22 2, i
k fx bhy, ckhckhckh
4,i i 3 i 31 1, i 32 2, i 33 3, i
Phương pháp Runge-Kutta bậc 4 (RK4) 52
k1,i f x i, y i
11
k2,i f x i h, y i hk 1, i
22
11
k3,i f x i h, y i hk 2, i (32)
22
k4,i f x i h, y i hk 3, i
h
yi1 y i k 1, i 22 k 2, i k 3, i k 4, i
6
xii1 x h
Phương pháp Runge-Kutta bậc 4 (RK4) 53
dy 0.3x
f x, y 1.2 y 7 e
dx
y0 3; 0 x 4; h 0.5 n 8
1. i=0: 0.3 0
k1,0 f x 0, y 0 1.2 3 7 e 3.4
11 0.3 0.25
k2,0 f x 0 h, y 0 hk 1,0 f 0.25,3 0.25 3.4 f 0.25,3.85 1.2 3.85 7 e 1.874204404
22
11
k3,0 f x 0 h, y 0 hk 2,0 f 0.25,3 0.25 1.874204404 f 0.25,3.468551101
22
1.2 3.468551101 7e0.3 0.25 2.331943083
k4,0 f x 0 h, y 0 hk 3,0 f 0.5,3 0.5 2.331943083 f 0.5,4.165971542
0.3 0.5
1.2 4.165971542 7e 1.025789985
h 0.5
y1 y 0 k 1,02 k 2,0 2 k 3,0 k 4,0 3 3.4 2 1.874204404 2 2.331943083 1.025789985
66
4.069840413
Tương tự cho các vòng lặp sau
Phương pháp Runge-Kutta bậc 3 (RK3) 54
69
xx70 43
y x e5 e 10 Phương pháp
99
RK4 Cổ điển
(h=0.5)
Lời giải
chính xác
Sử dụng lệnh có sẵn của MATLAB 55
69
xx
Lời giải 570 10 43
dy 0.3x y x e e
f x, y 1.2 y 7 e chính xác 99
dx
y0 3; 0 x 4; h 0.5 n 8
1) Tạo file hàm số xác định hàm dy/dx = f(x,y):
function dydx = DiffEq(x,y)
dydx = -1.2*y + 7*exp(-0.3*x);
end
- Giải bằng một trong số các câu lệnh có sẵn của
2) Tạo file script lời giải: MATLAB, ví dụ như ode45
- Giải bằng lời giải chính xác
- Nhập vào MATLAB lời giải bằng tay mà ta đã tính
dựa trên 1 trong số 9 phương pháp đã học
- So sánh kết quả giữa lời giải chính xác và
MATLAB
- So sánh kết quả giữa lời giải chính xác và lời giải
tay
04x format long;
56
h 0.5 tspan = [0:0.5:4]; % Mien cua bien doc lap:Tu a den b voi buoc h
y 03 y0 = 3; % Gia tri ban dau cua ham phu thuoc y
69 [x,yMATLAB] = ode45(@DiffEq,tspan,y0) % Su dung ham ode45
xx70 43
y x e5 e 10 yExact = exp((-6/5)*x).*((70/9)*exp((9/10)*x) - 43/9) % Loi giai
99 chinh xac
% Nhap ket qua tinh tay theo mot trong so 9 phuong phap, vi du PP
Euler tuong minh
y_ExEuler =
[3;4.7;4.892477918;4.549854940;4.051640506;3.541496929;3.06988170
6;2.650946492;2.285160719]
% Tinh sai so giua loi giai chinh xac va MATLAB
error_Exact_MATLAB = abs((yExact - yMATLAB)./yExact)*100
% Tinh sai so giua loi giai chinh xac va mot trong so 9 pp ma ta
giai tay, vi du PP Euler tuong minh
error_Exact_ExEuler = abs((yExact - y_ExEuler)./yExact)*100
% Ve do thi ham loi giai chinh xac
x = [0:0.01:4]; %Chia nho lai khoang x de ve do thi cho muot
yExact = exp((-6/5)*x).*((70/9)*exp((9/10)*x) - 43/9);
plot(x,yExact,'b')
hold on
scatter(tspan,yMATLAB,'k') %ve cac diem loi giai cua MATLAB
hold on
scatter(tspan,y_ExEuler,'d') %Ve cac diem loi giai cua tinh tay
57
Véctơ x Véctơ lời giải y theo câu Véctơ lời giải chính xác
lệnh ode45 của MATLAB
Phương pháp Euler
tường minh (h=0.5)
Véctơ lời giải theo 1 Sai số giữa lời giải Sai số giữa lời giải
chính xác và lời giải chính xác và lời giải
trong số 9 phương Lời giải chính xác
pháp số tính bằng tay bằng câu lệnh của tính bằng tay theo 1
MATLAB trong số 9 pp
Lời giải theo câu lệnh
ode45 của MATLAB
Bài toán kỹ thuật 58
Cho ống nước chảy vào bể nước hình trụ có bán kính Rtank.
Cùng ngay tại thời điểm đó thì ở dưới đáy bể, nước cũng
được thoát ra bởi một vòi ống tròn có bán kính rhole. Cho biết
quy luật dòng chảy nước vào bể có dạng:
dm
in K Kcos Ct (33)
dt 12
Cho biết ở thời điểm ban đầu t0=0 thì nước trong bể đang ở
độ cao h0. Hãy tính độ cao của bể nước ở thời điểm t* (s) kể
từ khi bắt đầu. Cho biết khối lượng riêng của nước là ρ.
Để giản lược tính toán, ta chấp nhận giản lược sau của độ
cao h khi tính dòng chảy ra khỏi bể:
hh 0.008 (34)
Giải phương trình vi phân bằng phương pháp giải tích chính
xác và một trong số 9 phương pháp số có trong bài học để so
sánh. Cho bước lặp bằng 0.5. Khảo sát thời gian t Є [0;10].
59
- Dòng chảy ra ở vòi ống dưới đáy bể:
2
Arhole hole
s
dmout ds
- Khối lượng của nước đi qua ống độ dài s: m A s A
out holedt hole dt (34)
v
- Vận tốc của nước dưới đáy bể khi nước có độ cao h: v 2 gh (35)
dm 22
- Dòng chảy ra ở vòi dưới đáy bể là: out r 2 gh r 2 g 0.008 h
dt hole hole (36)
60
- Độ biến thiên khối lượng nước trong bể:
- Khối lượng của nước trong bể khi có độ cao h:
m Atank h (37)
- Độ biến thiên nước trong bể:
dm dh
R2 (38)
dttank dt
- Theo định luật bảo toàn khối lượng:
dmdm dm dh
in out R22 K Kcos C t r 2 g 0.008 h
dt dt dttank dt 12 hole
2
dh rhole KK21
f h, t 2 0.008 2 g h 2 cos C t 2
dt Rtank R tank R tank (39)
h t00 h
dh 100cos 3t 100 61
f h, t 0.3543557534E-5 h
dt 997 997
h00
rhole 0.01 m ;
Rtank 1 m ;
K1 100 kg s ; 1) Giải bằng tay bằng phương pháp giải tích. Tìm hàm lời giải
chính xác (Slide 19)
K2 100 kg s ; 2) Tùy từng đề yêu cầu, giải một trong số 9 phương pháp (Bấm
3 máy tính CASIO chứ không được dùng MATLAB hay Excel hỗ
997 kg m ; trợ vì để luyện tập khi đi thi cuối kz). Chú {: bước lặp bằng
1 0.5. Khảo sát thời gian t Є [0;10] 20 điểm
C 3 s ; 3) Lập bảng tính tay so sánh lời giải chính xác và lời giải số theo
t 0 (s); mẫu (Slide 22/26/32/36/40/43/47/50/54):
0
h0 0 (m);
t 6 (s);
2 4) Sử dụng Code MATLAB như theo mẫu ở Slide 56 để kiểm
g 9.81 m s . nghiệm lại và in kết quả, vẽ đồ thị so sánh kết quả (Slide 57).
Phương trình vi phân thường bậc I 62
Phương pháp Euler tường
minh (h=0.5)
Lời giải chính xác
Phương pháp RK3 cổ
điển (h=0.5)
Phương pháp Ralston
(h=0.5)
Phương pháp Heun
(h=0.5)
Phương pháp Euler cải
tiến (h=0.5)
Phương pháp Taylor bậc
2 (h=0.5)
Phương pháp Euler ẩn
tàng (h=0.5)
Các file đính kèm theo tài liệu này:
- bai_giang_phuong_phap_so_trong_tinh_toan_co_khi_bai_7_phuong.pdf