You are on page 1of 17

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA




BÀI TẬP LỚN MÔN HỌC


PHƯƠNG PHÁP TÍNH

ĐỀ TÀI 18
BÀI TOÁN GIÁ TRỊ BIÊN VÀ PHƯƠNG PHÁP SAI PHÂN
HỮU HẠN

LỚP: L04 NHÓM: 16


HK222
GVHD: ThS. ĐẶNG VĂN VINH
SINH VIÊN THỰC HIỆN

STT MSSV HỌ TÊN %ĐIỂM ĐIỂ GHI


BTL M CHÚ
BTL
1 2010964 Trần Quốc Chung 100%
2 2113807 Trần Trà Bảo Khương 100%
3 2112204 Trần Thanh Sơn 100%
4 2115254 Trần Như Uyên 100%
2012206 Trần Nhật 100%
5 Tiến
2114878 Trần Ngọc 100%
6 Thiện
Báo cáo Phương Pháp Tính Nhóm 16 – L04

TP.HỒ CHÍ MINH, NĂM HỌC 2022-2023


BÁO CÁO KẾT QUẢ LÀM VIỆC NHÓM

%
Mã số Nhiệm vụ được
STT Họ và tên Điểm Điểm Ký tên
SV phân công
BTL BTL
1 2010964 Trần Quốc Chung Phần 1:1.2 + Ví 100%
dụ
2 2113807 Trần Trà Bảo Khương Phần 2 : Code 100%
Matlab
3 2112204 Trần Thanh Sơn Phần 2: Code 100%
Matlab
4 2115254 Trần Như Uyên Phần 2: 1.2 + Ví 100%
dụ
Phần 1: 1.1 + Ví 100%
5 2012206 Trần Nhật Tiến dụ
Tổng kết chỉnh
6 2114878 Trần Ngọc Thiện sửa hoàn thành 100%
báo cáo + làm
PowerPoint
Họ và tên nhóm trưởng: Trần Ngọc Thiện
Số ĐT: 0329565536 Email: thien.tran1802@hcmut.edu.vn
Nhận xét của GV:
...................................................................................................................................
...................................................................................................................................
........................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
....................................

GIẢNG VIÊN NHÓM TRƯỞNG


(Ký và ghi rõ họ, tên) (Ký và ghi rõ họ, tên)

Đặng Văn Vinh

GVHD: Ths.Đặng Văn Vinh


Báo cáo Phương Pháp Tính Nhóm 16 – L04

MỤC LỤC
LỜI MỞ ĐẦU...................................................................................................1
NỘI DUNG.......................................................................................................1
PHẦN I
BÀI TOÁN BIÊN TUYẾN TÍNH CẤP HAI VÀ PHƯƠNG PHÁP SAI
PHÂN HỮU HẠN............................................................................................2
1.1. Bài toán biên tuyến tính cấp hai........................................................2
1.2. Phương pháp sai phân hữu hạn.........................................................2
1.2.1. Định nghĩa.....................................................................................2
1.2.2. Ví dụ minh họa...............................................................................4
PHẦN II
DÙNG MATLAB ĐỂ GIẢI BÀI TOÁN THỰC TẾ......................................7
2.1. Bài toán thực tế...................................................................................7
2.1.1. Hướng giải quyết............................................................................7
2.1.2. Giải quyết bài toán.........................................................................7
2.2. Giải bài toán thực tế bằng Matlab.....................................................9
2.2.1. Ý tưởng.............................................................................................9
2.2.2. Code Matlab.....................................................................................9
2.2.3. Giải thích code...............................................................................11
KẾT LUẬN.....................................................................................................13
TÀI LIỆU THAM KHẢO.............................................................................14

GVHD: Ths.Đặng Văn Vinh


Báo cáo Phương Pháp Tính Nhóm 16 – L04

LỜI MỞ ĐẦU

Phương pháp tính là bộ môn toán học có nhiệm vụ giải đến kết quả bằng
số cho các bài toán. Môn học này là cầu nối giữa toán học lý thuyết và các ứng
dụng của nó trong thực tế, là một học rất quan trọng của chương trình đào tạo
kỹ thuật cũng như một người kĩ sư.

Đến với bài của nhóm sẽ có 2 vấn đề cần được giải quyết:

Vấn đề 1 tìm hiểu về bài toán biên tuyến tính cấp hai và phương pháp
sai phân hữu hạn.

Vấn đề 2 ứng dụng Matlab vào việc giải bài toán thực tế bằng phương
pháp sai phân hữu hạn.

Đây là phần bài tập lớn của nhóm 16 chúng em thực hiện bởi các thành
viên trong nhóm. Chúng em cố gắng thể hiện nội dung 1 cách cụ thể để dễ dàng
hiểu rõ và đánh giá, đồng thời cũng trình bày cách xây dựng phương pháp từ ý
tưởng, cách giải phương pháp là đúng đắn và hợp lý, phân tích trường hợp sử
dụng.Trong quá trình làm bài không tránh khỏi lỗi và sai sót. Hy vọng sẽ nhận
được góp ý và đánh giá của thầy và các bạn.

Nhóm thực hiện xin cảm ơn!

4
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

NỘI DUNG

PHẦN I

BÀI TOÁN BIÊN TUYẾN TÍNH CẤP HAI VÀ PHƯƠNG PHÁP SAI
PHÂN HỮU HẠN

1.1. Bài toán biên tuyến tính cấp hai

Các phương pháp tìm nghiệm gần đúng của phương trình vi phânthường đòi
hỏi các điều kiện được cho tại một thời điểm ban đầu nào đó. Đối với phương
trình vi phân bậc hai, ta cần hai giá trị y ¿) và y ' ¿ ) . Tuy nhiên nhiều bài toán
trong thực tế cho thấy điều kiện của hàm cần tìm được cho tại nhiều thời điểm
khác nhau. Vấn đề này dẫn tới việc tìm nghiệm gần đúng của một dạng bài toán
thứ hai được gọi là bài toán biên. Trong phần này chúng ta chỉ xét bài toán biên
của phương trình vi phân thường tuyến tính cấp hai với điều kiện biên được
cho ở hai điểm có dạng:

{ p ( x ) y ' ' +q ( x ) y ' +r ( x ) y=f ( x )


a ≤ x ≤b , y ( a ) =α , y ( b )=β
(1)

với phương pháp được chọn là phương pháp sai phân hữu hạn. So với một
số phương pháp khác, phương pháp sai phân hữu hạn cho kết quả không chính
xác bằng, khối lượng tính toán nhiều hơn, nhưng ổn định hơn và giải quyết
được các trường hợp hai chiều, ba chiều v.v... Ý tưởng của phương pháp là xấp
xỉ các đạo hàm y ' ( x ) , y ' ' ( x) trong (1) bằng sai phân hữu hạn tại các điểm chia.
Bài toán trên trở thành bài toán giải hệ phương trình tuyến tính ba đường chéo,
và có thể được thực hiện bằng phương pháp nhân tử LU.

1.2. Phương pháp sai phân hữu hạn

1.2.1. Định nghĩa

Xét phương trình { p ( x ) y ' ' +q ( x ) y '+r ( x ) y=f ( x )


a ≤ x ≤b , y ( a ) =α , y ( b )=β

Chia đoạn [ a ; b ] thanh n đoạn nhỏ bằng nhau bởi các điểm

x k =a+hk , k=0... n−1 , x n=b

Khai triển Taylor của y đến cấp 3 tại x k


2 3
( x−x k ) ( x−x k )
y ( x ) ≈ y ( x k ) + ( x−x k ) y ' ( x k ) + y ' ' ( xk )+ y ' ' ' ( xk )
2! 3!
5
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

Thay x=x k+1 =x k + h và x=x k−1=x k −h

Thay vào phương trình đã cho, ta có

Ta có hệ phương trình ma trận AX = b

6
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

Trường hợp A vuông cấp 3: N = 3

1.2.2. Ví dụ minh họa

Ví dụ 1

{
π
y ' ' − y ' −2 y=cos x ;0< x<
2
Xét bài toán biên: có nghiệm chính xác
y ( 0 )=−0,3 ; y ()
π
2
=−0,1

y ( x ) =−0,1 ( sin x +3 cos x )


Sử dụng phương pháp sai phân hữu hạn xấp xỉ nghiệm gần đúng và so sánh với
π
nghiệm chính xác trong trường hợp h=
8
Bài giải

Ta có hệ phương trình:

7
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

{(
y 0=−0,3; y n=−0,1
1 −1

h 2h
2 ) 2
(
1 −1
y K −1 + −2− 2 y K + 2 −
h h 2h
y K +1=cos x K
) ( )
∀ K =1,2,3

{
y 0=−0,3 ; y n=−0,1

( ) ( ) ( ) ()
1 1
+
h 2h
2
2
y 0 + −2− 2 y + 2 −
h 1 h 2h
1 1
y 2=cos
π
8

( h1 + 21h ) y +(−2− h2 ) y +( h1 − 2h1 ) y =cos( π4 )


2 1 2
2
2 3

( h1 + 21h ) y +(−2− h2 ) y +( h1 − 2h1 ) y =cos ( 38π )


2 2 2 2 4

{
3

(−2− h2 ) y +( h1 − 21h ) y +0 y =cos ( π8 )−( h1 + 21h ) y


2 1 2 2 3 2 0

( h 2h ) ( h ) ( h 2 h )
1 1
+ 2
y + −2−
2
y + −
1
1
1
y =cos ( )
π
42 2 2 3

0y + +
( h1 21h ) y +(−2− h2 ) y =cos( 38π )−( h1 − 2h1 ) y
1 2 2 2 3 2 4

Bấm máy:

π
−Shift + STO+ M
8
Mode−eqn−anx +bny +cnz =dn

K xK yK y ( xK ) | y ( xK )− y K|
0 0 −0,30000 −0,30000 0,00000
1 π −0,31569 −0,31543 0,00025
8
2 π −0,28291 −0,28284 0,00007
4
3 3π −0,20700 −0,20719 0,00019
8
4 π −0,10000 −0,10000 0,00000
2
Ví dụ 2
Cho bài toán biên: {
√ x y ' ' ( x )+ ( x +1 ) y ' ( x )−( sin x ) y ( x )=cos x dùng phương pháp
y ( 0,5 ) =2,5 ; y ( 1,1 )=M
sai phân hữu hạn tính gần đúng y ( 0,7 ) ; y ( 0,9 ) với bước chia h=0 , 2
Bài giải:

8
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

√ x y ' ' ( x ) + ( x+1 ) y ' ( x )−( sin x ) y ( x )=cos x


y K+ 1−2 y K + y K−1 y K +1− y K−1
↔ √xK + ( x +1 ) −( sin K ) y ( x K )=cos x K
h
2
2h
y 2−2 y 1+ y 0 y 2− y 0
∙ K=1 → √ x 1 + ( x +1 ) −( sin x 1 ) y 1=cos x K
h2
2h

( ( )
−2
) ( ( )
↔ y 1 √ x 1 2 −sin x 1 + y 2 √ x 1 2 +
h
1
h
x 1+1
2h ) y 0 ( x1 +1 ) y 0
=cos x K 1−¿ √ x 1 2 +
h 2h
¿

↔−42,477901 y 1 +25,106650066 y 2=−40,90140947 (1 )


Tương tự với K=2
↔−18,96708245 y 1 + (−48,21749181 y 2 )=−36,38559722 ( 2 )

{
( 1 ) , ( 2 ) → y 1=1,8385
y 2=1,4778

Bấm máy:

x0 x1 x2 x3
0,5 0,7 0,9 1,1

y 0=2,5 y 1 y2 y ( 1,1 )=1,3

P Q
A= ÷ B= ÷ C= A−B ÷ R=2 A ÷ D= A+ B , f −MC−YD
h 2
2h

A B C R−2 A D f −MC−YD
x1 a1 b1 c1
x2 a2 b2 c2

M Y
2,5=α 0
0 β=1

PHẦN II

DÙNG MATLAB ĐỂ GIẢI BÀI TOÁN THỰC TẾ

2.1. Bài toán thực tế

Ứng dụng chính của phương pháp sai phân hữu hạn trong thực tế dùng để tính
độ võng của dầm có các đầu chịu tải đồng đều. Dầm có độ dài L=4, hệ số đàn
hồi chuyển động tâm E=200000, tải trọng phân bố đều trên toàn bộ dầm q 0=1,
kích thước mỗi đoạn nhỏ h=0.25 và b=0.3. Moment quán tính của mỗi đoạn
b . h3
dầm được tính bằng công thức I = .
12

9
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

Xác định moment và độ võng tại các điểm chia trong đó bước sai phân h= 0.25.
Với điều kiện biên M 0=M n=0
Và y 0= y n=0
2
d M
Phương trình vi phân của Moment dầm: =q 0 (1)
dx
2
d y M
Phương trình vi phân của độ võng dầm: = (2)
dx E I

2.1.1. Hướng giải quyết

Với h= 0.25 ta chia thanh dầm trên thành 4 đoạn với 5 điểm nút. Tại mỗi
điểm nút ta lập được một phương trình vi phân ứng với giá trị tại điểm đó. Ta
sẽ sử dụng phương pháp sai phân hữu hạn để sắp xỉ nghiệm của hai phương
trình trên.
2.1.2. Giải quyết bài toán

Ta viết công thức sai phân hướng tâm của

'' M k+ 1−2 M k + M k−1


M =
h2

Thay vào phương trình (1) ta được


2
M k+1 −2 k + M k−1=q 0 h

Theo hình vẽ sử dụng tam giác đồng dạng ta thu được các giá trị của q tại các
điểm nút.

−q0 −q −3 q0
q 1= ; q 2= 0 ; q 3 =
4 2 4

−q 0 2
Tại nút 1: 0−2 M 1 + M 2= h
4

−q 0 2
Tại nút 2: M 1−2 M 2+ M 3= h
2

10
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

−3 q 0 2
Tại nút 3: M 2−2 M 3+ 0= h
4

Từ đây ta thu được hệ phương trình ma trận AM =B như sau:

( )
2
−q 0 h
4

( )( )
−2 1 0 M1 −q 0 h2
1 −2 1 M 2 =
0 1 −2 M 3 2
2
−3 q 0 h
4

Giả hệ trên:
2
M 1=0.625 q 0 h =0.0391 q0

2
M 2=q 0 h =0.0625 q 0

2
M 3=0.873 q 0 h =0.0547 q 0

{ }
0.0391q 0
¿> { M }= 0.0625 q 0
0.0547 q 0

Tương tự để tính độ võng ta cũng lập được các phương trình tại các điểm nút
như sau:
( 0.625 q ¿ ¿ 0 h )
2
Tại nút 1: 0−2 y1 + y 2=h2 ¿
EI

( q¿¿ 0 h )
2
2
Tại nút 2: y 1 −2 y 2 + y 3=h ¿
EI

( 0.873 q ¿ ¿ 0 h )
2
Tại nút 3: y 2−2 y 3 +0=h2 ¿
EI

( )( ) ( )
−2 1 0 y 1 q h 4 0.625
0
1 −2 1 y 2 = 1
EI
0 1 −2 y 3 0.873

Giải hệ trên:
4
−1.187 q 0 h −0.00463 q0
y 1= =
EI EI
11
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

4
−1.749 q0 h −0.00682q 0
y 2= =
EI EI
4
−1.311 q0 h −0.00513q 0
y 3= =
EI EI

Các kết quả thu được chỉ là các giá trị gần đúng, nếu chia bước sai phân h càng
nhỏ thì kết quả thu được sẽ dần hội tụ về chính xác.

2.2. Giải bài toán thực tế bằng Matlab

2.2.1. Ý tưởng

Yêu cầu tính moment và độ võng của dầm có độ dài L=4, hệ số đàn hồi
chuyển động tâm E=200000, tải trọng phân bố đều trên toàn bộ dầm q 0=1, kích
thước mỗi đoạn nhỏ h=0.25 và b=0.3. Moment quán tính của mỗi đoạn dầm
3
b.h
được tính bằng công thức I = . Điều kiện biên M0=Mn=0 và y0=yn=0.
12
L
Đầu tiên, tính số điểm chia dầm n= +1 và tạo ma trận A và vector b có
h
kích thước n x n. Sau đó, điền các giá trị vào ma trận A và vector b theo công
thức sau:
 Điều kiện biên M0=Mn=0 và y0=yn=0 được áp dụng vào ma trận A.
 Các giá trị còn lại được tính bằng vòng lặp for. Với mỗi phần tử trong
khoảng từ 2 đến n-1, ta tính giá trị của phần tử trên đường chéo chính
của ma trận A và giá trị của vector b theo công thức đã cho.
 Sau đó, giải hệ phương trình tuyến tính Ax=q để tìm giá trị moment tại
các điểm chia dầm.
 Sau khi tính được giá trị moment tại các điểm chia, ta tính giá trị độ
võng tại các điểm chia dựa trên công thức đã cho. Cuối cùng, in ra kết
quả moment và độ võng tại các điểm chia.

2.2.2. Code Matlab

% Các thông số cho trước:


L = 4; % độ dài của dầm
E = 200000; % hệ số đàn hồi chuyển động tâm của dầm
q0 = 1 % tải trọng phân bố đều trên toàn bộ dầm
h = 0.25; % kích thước của mỗi đoạn nhỏ
b = 0.3; % kích thước của mỗi đoạn nhỏ
I = b*h^3/12; % moment quán tính của mỗi đoạn dầm
M0 = 0; % moment quay mặt cắt ngang tại điểm M0
Mn = 0; % moment quay mặt cắt ngang tại điểm Mn
y0 = 0; % độ võng tại điểm y0
yn = 0; % độ võng tại điểm yn
% Tính số điểm chia dầm
12
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

n = L/h + 1;
disp(n);
% Tạo ma trận A và vector b
A = zeros(n, n);
q = zeros(n, 1);
% Điều kiện biên M0 = Mn = 0 và y0 = yn = 0
A(1, 1) = 1;
A(n, n) = 1;
% Tính giá trị của ma trận A và vector b
for i = 2:n-1
% Tính giá trị của phần tử trên đường chéo chính của ma trận A
A(i, i-1) = 1/h^2;
A(i, i) = -2/h^2;
A(i, i+1) = 1/h^2;
% Tính giá trị của vector q
q(i) = q0*h^2/E/I;
end
% Giải hệ phương trình tuyến tính Ax = q
M = A\q;
% Tính giá trị của độ võng tại các điểm chia
y = zeros(n, 1);
for i = 2:n-1
y(i) = (M(i-1) - 2*i + M(i+1))*h^2/E/I;
end
% In kết quả
disp('Moment tại các điểm chia:');
disp(M);
disp('Độ võng tại các điểm chia:');
disp(y);

Kết quả

13
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

2.2.3. Giải thích code

Dòng 2-11: Khai báo các thông số cho trước của dầm, bao gồm độ dài của
dầm (L), hệ số đàn hồi chuyển động tâm của dầm (E), tải trọng phân bố đều
trên toàn bộ dầm (q0), kích thước của mỗi đoạn nhỏ (b x h), moment quán
tính của mỗi đoạn dầm (I), và moment quay mặt cắt ngang tại điểm M 0 và
Mn cùng độ võng tại điểm y0 và yn.

Dòng 13: Tính số điểm chia dầm bằng cách chia độ dài của dầm cho kích
thước của mỗi đoạn nhỏ và cộng thêm 1 vì có 1 điểm ở đầu dầm và 1 điểm
ở cuối dầm.

14
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

Dòng 16-18: Khởi tạo ma trận A và vector b với các giá trị ban đầu là 0.

Dòng 21-22: Điều kiện biên của bài toán là moment quay mặt cắt ngang tại
M0 và Mn cùng độ võng tại y0 và yn bằng 0.

Dòng 25-33: Tính giá trị của ma trận A và vector b. Với mỗi phần tử trong
khoảng từ 2 đến n-1 của ma trận A, tính giá trị của các phần tử trên đường
chéo chính, đường chéo trên và đường chéo dưới của ma trận A, tương ứng
với công thức của phương trình Laplace cho độ võng. Giá trị của vector b
được tính bằng công thức q0*h2/E/I.

Dòng 36: Giải hệ phương trình tuyến tính Ax = q bằng cách sử dụng toán tử
. Kết quả được lưu trữ trong vector M, chứa giá trị của moment tại các điểm
chia.

Dòng 39-42: Tính giá trị của độ võng tại các điểm chia bằng cách sử dụng
công thức của phương trình Laplace.

Dòng 45-48: In kết quả của moment tại các điểm chia và độ võng tại các
điểm chia.

KẾT LUẬN
15
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

Do yêu cầu giải quyết các bài toán thực tế, nhiều năm qua đã có nhiều
phương pháp số phát triển. Phương pháp phổ biến nhất được sử dụng trong kỹ
thuật tính là các phương pháp sai phân hữu hạn, thể tích hữu hạn và phần tử
hữu hạn…ngoài ra còn có phương pháp phần tử biên giới. ở đây nêu nội dung
của phương pháp Sai phân hữu hạn (SPHH).

Phương pháp Sai phân hữu hạn (SPHH) là phương pháp số tương đối đơn
giản và ổn định. Nội dung của phương pháp này là biến đổi một cách gần đúng
các đạo hàm riêng của phương trình vi phân chủ đạothành thương của các số
gia tương ứng. Như vậy phương pháp SPHH đã xấp xỉ các phương trình vi
phân đạo hàm riêng thành các phương trình đại số, chuyển từ vùng tính toán
liên tục thành vùng tính toán rời rạc . Mức độ chính xác của nghiệm trong
phương pháp SPHH có thể được cải thiện nhờ việc tăng số điểm nút.

TÀI LIỆU THAM KHẢO


16
GVHD: Ths.Đặng Văn Vinh
Báo cáo Phương Pháp Tính Nhóm 16 – L04

[1] Richard L. Burden, J. Douglas Faires & Annette M. Burden. (2016).


Numerical Analysis (tenth ed.). Cengage Learning, Boston, Massachusetts,
USA.

[2] Steven C. Chapra. (2012). Applied Numerical Methods with


MATLAB® for Engineers and Scientists (third ed.). McGraw-Hill Education,
New York, USA.

[3] Steven C. Chapra & Raymond P. Canale. (2015). Numerical


Methods for Engineers (seven ed.). McGraw-Hill Education, New York, USA.

[4] Timothy Sauer. (2012). Numerical Analysis (second ed.). Pearson


Education Inc.,Boston, Massachusetts, USA.

[5] Zhonggang Zeng. (2016). Introduction to Scientific Computing


with Maple Programming. Access at bitly.com.vn/co77p0.

[6] Numerical Analysis [Richard L. Burden, J. Douglas Faires, Annette M.


EXERCISE SET 11.3 T.704

[7] Giáo trình "Các phương pháp tính toán kết cấu bằng máy tính" của
Nguyễn Thế Vinh và Phan Văn Hùng.

[8] Giáo trình "Kết cấu học đại cương" của Nguyễn Văn Hiệu và Nguyễn
Minh Hà.

[9] Các tài liệu về phương pháp sai phân hữu hạn và ứng dụng trong tính
toán kết cấu.

17
GVHD: Ths.Đặng Văn Vinh

You might also like