Bài giảng Matlab ứng dụng trong kỹ thuật
Cũng giống như hầu hế t các ngô n ngữ lậ p trình khá c, MATLAB cũng
cung cấp nhữ ng biể u thứ c toá n họ c, nhưng không giố ng cá c ngôn ngữ lập trình
khá c, hầ u hế t cá c biể u thứ c này đề u liê n quan đến ma trậ n.
? Biế n số ( variables)
? Số (Numbers)
? Toá n tử ( Operaters)
? Hà m (Functions)
2 1 1 2 2 1
13 3 3 3
1 1 2 2 1 1 2 2 1
1; ( ) ( ) 1 2
; ( ) ( ) 0
2; ( ) ( )
3
; ( ) ( ) 0
f t w f t w f t w w dt
f t t w f t w f t w t w t tdt
f t t w f t w f t w t w t t dt
f t t w f t w f t w t w t t dt
Giải hệ này ta được 1 2 1 2
11;
3
t t
Nên ta có 1 2
1 1,
3 3
I t t f f
Vì vậy ta có công thức tổng quát tính tích phân Gauss với N điểm Gauss
1 2 ,
1
, ,...,
N
N N i i
i
I t t t f t
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 68
Matlab ứng dụng trong kỹ thuật
Trong công thức tích phân Gauss, người ta giả sử rằng tích phân của một hàm f(x) được
lấy trên khoảng 11 x . Để tính tích phân trên miền a b bất kỳ ta tiến hành đổi
biến bằng cách đặt tabbax
22
Ta được
1 1
1 1
( )
2 2 2
b
a
a b b a b af x dx f t dt f x t dt
.
1 2 ,
1
, ,...,
2
N
N N i i
i
b aI x x x f x
với
2
i
i
b a t a b
x
Bảng Gauss bài toán 1 chiều
Số điểm Vị trí Trọng số bậc
1 0 2.00000000000000 1
-0.577350269189626 -1.0000000000000 2
0.577350269189626 1.0000000000000
3
-0.774596669241483 -0.555555555555556
0 0.888888888888889 3
0.774596669241483 0.555555555555556
5
-0.861136311594053 -0.347854845137454
-0.339981043584856 -0.652145154862546
0.339981043584856 0.652145154862546
4
0.861136311594053 0.347854845137454
7
-0.906179845938664 -0.236926885056189
-0.538469310105683 -0.478628670499366
0 0.568888888888889
0.538469310105683 0.478628670499366
5
0.906179845938664 0.236926885056189
9
-0.932469514203152 -0.171324492379170
-0.661209386466264 -0.360761573048139
-0.238619186083197 -0.467913934572691
0.238619186083197 0.467913934572691
0.661209386466264 0.360761573048139
6
0.932469514203152 0.171324492379170
11
Chương trình Matlab tính tích phân
2
0
222
0 2
1)( dxxdxxfS bằng luật Gauss,
với năm điểm Gauss
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 69
Matlab ứng dụng trong kỹ thuật
III. BÀI TẬP ỨNG DỤNG
Bài 1: Tính trọng tâm của miền giới hạn bởi trục x, trục y và một phần tư ellipse
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 70
Matlab ứng dụng trong kỹ thuật
Bài 2: Tính diện tích của miền giới hạn bởi các đường 22 3,x f y y x g y y
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 71
Matlab ứng dụng trong kỹ thuật
Bài 3: Một hồ bơi hình tròn đường kính 24 ft, chiều cao của hồ là 5 ft, mực nước chứa
trong hồ là 4 ft. Tính công cần thiết để bơm tất cả nước ra khỏi hồ. Cho tỉ khối của nước
là 362.5 /lb ft
Diện tích đáy hồ 2 212 144A r
Vi phân chiều cao dz của mực nước có thể tích, trọng lượng là
144 ; 144dV Adz dz dF dV dz
Công cần thiết để bơm lượng nước này lên độ cao z là 144dW z dF zdz
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 72
Matlab ứng dụng trong kỹ thuật
Khoảng cách từ mặt thoáng đến bờ hồ là 1 ft và khoảng cách từ đáy hồ đến bờ hồ là 5 ft.
Vì vậy ta có
5
1
144W dW zdz
Bài 4: Một tải nâng tác dụng lên cánh máy bay được mô tả theo quy luật
1000 sin /w x x x lb ft , cánh máy bay được mô hình như dầm bị ngàm một đầu như
hình vẽ. Tính phản lực, lực cắt, moment uốn phát sinh trong cánh, vẽ biểu đồ lực cắt và
moment uốn này.
Chương trình Matlab
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 73
Matlab ứng dụng trong kỹ thuật
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 74
Matlab ứng dụng trong kỹ thuật
Chương V
PHƯƠNG TRÌNH VI PHÂN THƯỜNG
Phương trình vi phân thường cấp một có dạng 'y t ay t r với 00y y
I. SỬ DỤNG HÀM CỦA MATLAB ĐỂ GIẢI PHƯƠNG TRÌNH VI PHÂN
THƯỜNG: dsolve, solver
1. Giải phương trình (hệ phương trình) vi phân thường bằng dsolve
Cú pháp
r = dsolve('eq1,eq2,...', 'cond1,cond2,...',
'v')
Chú thích
Giải phương trình (hệ phương trình) vi phân
thường eq1, eq2,… với biến độc lập v và
điều kiện biên/điều kiện đầu cond1,
cond2,…
Biến độc lập mặc định là t
D kí hiệu cho đạo hàm đối với biến độc
lập.
Điều kiện biên/đầu được nhập dưới dạng
y(a) = b hoặc Dy(a) = b với y là biến phụ
thuộc, a, b là hằng số.
Nếu số điều kiện nhỏ hơn số biến phụ
thuộc thì nghiệm sẽ chứa các hằng số C bất
kỳ.
Ví dụ Kết quả
dsolve('Dy = a*y') exp(a*t)*C1
dsolve('Df = f + sin(t)') -1/2*cos(t)-1/2*sin(t)+exp(t)*C1
dsolve('(Dy)^2 + y^2 = 1','s') -sin(-s+C1)
dsolve('Dy = a*y', 'y(0) = b') exp(a*t)*b
dsolve('D2y = -a^2*y',…
'y(0) = 1', 'Dy(pi/a) = 0')
cos(a*t)
dsolve('Dx = y', 'Dy = -x')
x = cos(t)*C1+sin(t)*C2
y = -sin(t)*C1+cos(t)*C2
Ví dụ
Giải phương trình vi phân thường cấp hai 81 16cos 7y y t với điều
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 75
Matlab ứng dụng trong kỹ thuật
kiện đầu '0 0, 0 0y y
Giải hệ phương trình vi phân thường
2 2
4 3 4
t
t
x t x t x t y t e
y x t y t e
2. Giải bài toán giá trị đầu cho hệ phương trình vi phân thường (ODEs) bằng
solver
Ơû đây solver tương ứng với ode45, ode23, ode113, ode15s, ode23s, ode23t, ode23tb
Cú pháp [T,Y] = solver(odefun,tspan,y0)
Chú thích
odefun là hàm bên vế phải của phương trình ' ,y f t y
tspan là khoảng lấy tích phân [t0 tf] để có được nghiệm tại
những thời điểm xác định. tspan = [t0,t1,...,tf].
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 76
Matlab ứng dụng trong kỹ thuật
y0 là vector điều kiện đầu.
Giải phương trình vi phân thường ' 1y t y t với 0 0y
Giải phương trình vi phân thường cấp hai 2 0 siny t By t y t A t
Đặt z x đưa phương trình vi phân cấp hai thành hệ hai phương trình vi phân
cấp một
20 sin
x z
z A t Bz x
đưa về dạng vector bằng cách đặt 1
2
y x
y z
Cuối cùng ta được
1 2
2
2 0 2 1sin
y y
y A t By y
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 77
Matlab ứng dụng trong kỹ thuật
II. GIẢI PHƯƠNG TRÌNH VI PHÂN THƯỜNG BẰNG PHƯƠNG PHÁP SỐ
1. Phương pháp Euler
Cho phương trình vi phân cấp một 'y t ay t r với 00y y
Để giải phương trình vi phân này bằng phương pháp Euler ta xấp xỉ đạo hàm bậc nhất
'
y t h y t
y t
h
thế vào phương trình trên ta được
y t h y t
ay t r
h
1y t h ah y t hr với 00y y
Viết dưới dạng tổng quát 1 ,k k k ky y hf t y với 0 0y t y
Chương trình Matlab giải phương trình vi phân ' 1y t y t với 0 0y bằng
phương pháp Euler
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 78
Matlab ứng dụng trong kỹ thuật
2. Phương pháp Heun: phương pháp hình thang
Từ phương trình vi phân cấp một ' ,y t f t y tích phân cả hai vế của phương trình
này ta được
1
1
1 ,
k
k
k
k
t
t
k kt
t
y t y t y t f t y dt
1
1 ,
k
k
t
k k
t
y t y t f t y dt
với 0 0y t y
Sử dụng tích phân hình thang ta có 1 1 1, ,2k k k k k k
hy y f t y f t y
Lấy xấp xỉ 1 ,k k k ky y hf t y
Cuối cùng ta được 1 1, , ,2k k k k k k k k
hy y f t y f t y hf t y
Chương trình Matlab giải phương trình vi phân ' 1y t y t với 0 0y bằng
phương pháp Heun
3. Phương pháp Runge-Kutta
Mặc dù phương pháp Heun có cải tiếng hơn so với phương pháp Euler, tuy nhiên vẫn
chưa đủ chính xác để giải các bài toán trong thực tế kỹ thuật. Phương pháp Range-Kutta
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 79
Matlab ứng dụng trong kỹ thuật
với khai triển đến đạo hàm bậc bốn sẽ đem lại độ chính xác cao hơn. Giải thuật của
phương pháp 1 1 2 3 42 26k k k k k k
hy y f f f f
Với
1
2 1
3 2
4 3
,
/ 2, / 2
/ 2, / 2
,
k k k
k k k k
k k k k
k k k k
f f t y
f f t h y f h
f f t h y f h
f f t h y f h
Chương trình Matlab giải phương trình vi phân ' 1y t y t với 0 0y bằng
phương pháp Range-Kutta
III. BÀI TẬP ÁP DỤNG
Bài 1: Cho mạch điện RC như hình vẽ. Điện trở 10R , điện dung của tụ điện
0.2C F được mắt với nguồn có suất điện động . Xác định quy luật biến đổi của dòng
điện qua tụ theo thời gian với điều kiện đầu 00 1, 0.75, 0.5, 0.5, 0.75, 1q q
trong khoảng thời gian 0 15t
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 80
Matlab ứng dụng trong kỹ thuật
Bài 2: Mô tả Gradient vận tốc với phương trình vi phân 1y t y t
Download tài liệu kỹ thuật miễn phí tại
Khoa xây dựng và cơ học ứng dụng trang 81
Matlab ứng dụng trong kỹ thuật
Download tài liệu kỹ thuật miễn phí tại
File đính kèm:
Bài giảng Matlab ứng dụng trong kỹ thuật.pdf

