Đề tài Matlab - Tìm hiểu và ứng dụng giải một số bài toán kĩ thuật

mục lục

Phần 1 Giới thiệu về Matlab

1. Bắt đầu với Matlab

2. Các khái niệm cơ bản

a. Câu lệnh và biến

b. Các phép toán

c. Số dùng trong Matlab

d. Nhập số liệu từ bàn phím

e. In kết quả ra màn hình

f. Ma trận

g. Số phức và ma trận phức

3. Các hàm toán học

a. Các hàm l-ợng giác

b. Các hàm toán sơ cấp

4. Các thao tác đặc biệt trên ma trận

5. Thực hiện các phép tính trên ma trận

a. Các phép tính trên ma trận

b. Các phép tính phần tử - phần tử của ma trận

6. Các hàm thực hiện các phép tính về đa thức

7. Các hàm phân tích dữ liệu

8. Hàm của hàm

a. Hàm tích phân số

b. Hàm tìm nghiệm ph-ơng trình phi tuyến và các hàm tối -u

c. Hàm giải ph-ơng trình vi phân

9. Các toán tử điều khiển

10. Các loại file trong Matlab

11. Xử lí tín hiệu

12. Vẽ đồ thị

Phần 2 ứng dụng Matlab giải một số

bài toán kĩ thuật

1. Bài toán về mạch điện

2. Giải bài toán động học cơ cấu phẳng

3. Giải bài toán cân bằng máy

4. Tính thiết kế bộ truyền bánh răng

5. Tính sức bền trục

6. Tính dao động

a. Tính dao động hệ một bậc tự do

b. Tính dao động hệ hai bậc tự do

c. Xác định tần số dao động riêng của hệ nhiều bậc tự do

Kết luận

tài liệu tham khảo

pdf61 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 3963 | Lượt tải: 5download
Tóm tắt nội dung Đề tài Matlab - Tìm hiểu và ứng dụng giải một số bài toán kĩ thuật, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
c tiết diện nguy hiểm là A và B dựa vào các ph−ơng 
trình cân bằng sau: 
 MB + lBC x RC = 0 
(5) 
 MA+(-lA x R0) = 0 
(6) 
Để giải các ph−ơng trình véc tơ (3), (4), (5) và (6) ta đ−a ra các véc tơ 
đơn vị của hệ toa độ Đề các là i, j và k và dùng hàm cross(...,...) để nhân 
có h−ớng hai véc tơ. Cách làm đ−ợc thể hiện rõ trong file plkd.m d−ới 
đây: 
% File plkd.m 
% Tinh phan luc tai khop dong va mo men uon 
% Cac Vec to don vi cua he toa do De cac 
I=[1 0 0]'; 
J=[0 1 0]'; 
K=[0 0 1]'; 
% Vec to vi tri 
la=100; lb=250; lc=350; lbc=100; 
La=100*I; Lb=250*I; Lc=350*I; Lbc=lbc*I; 
% Luc tac dung 
Pay=-1.4*J; Paz=.5*K; 
Pby=-.9*J; Pbz=1.4*K; 
% Tinh phan luc goi C 
LcRc=-cross(La,Pay)-cross(La,Paz)-cross(Lb,Pby)-
cross(Lb,Pbz); 
Rc0=LcRc/lc; % Vec to phan luc tai 
goi C(chua quay) 
Q=[0 0 0; 0 0 -1; 0 1 0]; % Ma tran chuyen 
(quay) 
Rc=-Q*Rc0 % Vec to phan luc tai 
goi C 
% Tinh phan luc tai goi O 
 R0=-(Pay+Paz+Pby+Pbz+Rc) 
% Tinh mo men uon tai tiet dien B va A 
 Mb=-cross(Lbc,Rc) 
 Ma=-cross(-La,R0) 
% --------------------------------------------- 
Chạy ch−ơng trình plkd.m trên màn hình Command Window, kết quả 
của các phản lực khớp động tại O , C và các mô men uốn tại mặt cắt A và 
B nhận đ−ợc nh− sau: 
Rc = 
 0 
 1.0429 
 -1.1429 
R0 = 
 0 
 1.2571 
 -0.7571 
Mb = 
 0 
 -114.2857 
 -104.2857 
Ma = 
 0 
 -75.7143 
 -125.7143 
ằ plkd 
Rc = 
 0 
 1.0429 
 -1.1429 
R0 = 
 0 
 1.2571 
 -0.7571 
Mb = 
 0 
 -114.2857 
 -104.2857 
Ma = 
 0 
 75.7143 
 125.7143 
6. Tính dao động 
a. Tính dao động của hệ một bậc tự do 
Giả sử có hệ dao động một bậc tự do nh− hình vẽ: m kà khối l−ợng của 
vật, c là độ cứng lò xo (N/m), k là hệ số cản của giảm chấn thuỷ lực 
(Ns/m), còn F là lực kich thích với F=F0coswt ( F0 là biên độ của lực – 
N, w là tần số góc – rad/s). 
Viết ph−ơng trình định luật 2 cho vật ; 
 mx’’= -kx’-cx +F0coswt (1) 
trong đó x, x’, x’’ lần l−ợt là chuyển vị, x 
vận tốc và gia tốc của vật. k F 
ta biến đổi (1) nh− sau: 
 c m 
 x’’= -kx’/m - cx/m + +F0coswt/m (2) 
Đặt x1=x’, x2= x thì x1’= x’’, x2’= x1, ph−ơng trình vi phân cấp 2 trên sẽ 
đ−ợc viết thành hệ hai ph−ơng trình bậc nhất với hai ẩn là x1 và x2 nh− 
d−ới đây: 
 x1’= - kx1/m - cx2m + F0coswt/m (3)
 x2’= x1 
Ch−ơng trình để giải hệ (3) đ−ợc viết trong các file ml00.m và ml0.m 
nh− d−ới đây: 
% File ml00.m 
% Chuongtrinh tinh dao dong he 1 bac tu do co 
giam chan 
% thuy luc chui luc kich dong dang F=F0cos(wt) 
global m k c w F0 
m=100; % Khoi luong vat - kg 
c=10000; % Do cung lo xo - N/m 
k=80; % He so can nhot Ns/m 
w1=sqrt(c/m) % Tan so dao dong rieng 
w=6; % Tan so luc kich dong 
tc=15; % Thoi gian dao dong 
x0=[0 .01 ]' ; % Dieu kien ban dau (van 
toc, toa do) 
F0=20 ; % Bien do luc kich dong - N 
 [t,x]=ode45('ml0',tc,x0); 
subplot(211) 
plot(t,x(:,2)) 
title(' TINH DAO DONG HE MOT BAC TU DO') 
ylabel('Chuyen vi cua vat - cm') 
grid 
subplot(212) 
plot(t,x(:,1)) 
xlabel('thoi gian -s') 
ylabel('Van toc cua vat - m/s') 
grid 
pause 
% File ml0.m 
function xc=ml0(t,x) 
 global m k c w F0 
 xc=zeros(2,1); 
 xc(1)=-k/m*x(1)-c/m*x(2)+F01*cos(w*t)/m; 
 xc(2)=x(1); 
Kết quả chạy ch−ơng trình cho d−ới dạng đồ thị d−ới đây: 
0 5 1 0 1 5
-1
-0 .5
0
0 .5
1
 TIN H D A O D O N G H E M O T B A C TU D O
C
hu
ye
n 
vi
 c
ua
 v
at
- 
cm
0 5 1 0 1 5
-0 .1
-0 .0 5
0
0 .0 5
0 .1
tho i g ia n -s
V
an
 t
oc
 c
ua
 v
at
 -
 m
/s
b. Tính dao động hệ hai bậc tự do 
Có hệ dao dộng hai bậc tự do nh− hình vẽ: khối l−ợng 
của các vật là m1, m2, độ cứng các lò xo là c1và c2, hệ x2 
F1
số cản nhớt là k1 và k2, lực kích thich đặt lên hệ là c2 k2
F1=F10sinw1t, F2=F20sinw2t. 
 x1 
F2 
 c1 
k1
Viết hệ ph−ơng trình định luật 2 Niu tơn cho 
từng vật: 
m1x1’’=- k1x1’- c1x1+k2(x2’-x1’)+c2(x2-x1) +F01sinw1t 
m2x2’’= - k2 (x2’-x1’)- c2(x2 -x1)+F02sinw2t 
x1’’ = - (k1+k2)x1’/m1- (c1+c2)x1/ m1+k2x2’/ m1+c2x2 / m1+ F01sinw1t/ m1
 (1) 
x2’’ = k2x1’/ m2 + c2x1 / m2 - k2x2’ / m2 - c2x2/ m2 + F02sinw2t/ m2
T−ơng tự nh− khi giải ph−ơng trình vi phân câp hai ở phần trên, ta cũng 
đặt: 
y1 = x1’, y2 = x1, y3 = x2’, y4 = x2. 
 (2) 
Rút ra: 
 y1’=x1’’ 
 (3) 
 y2’=y1
 y3’= x2’’ 
 y4’=y3 
Thay (1) vào (3) và chú ý đến (2) ta lập đ−ợc hệ gồm bốn ph−ơng trình 
vi phân tuyến tính bậc nhất. Hệ ph−ơng trình này và cách giải nó đ−ợc 
cho trong file ml11.m và ml1.m ở d−ới đây. 
Nhân tiện đây ta cũng thử tác dụng của giảm chấn động lực: theo lí 
thuyết, nếu lực kích thích vào vật 2 bằng 0 ( F2=0), và các thông số của 
bộ giảm chấn động lực gồm khối l−ợng m2 và lò xo có độ cứng c2 thoã 
mãn điều kiện: c2/m2 = w1
2 ( w1 là tần số lực kích thích của lực F1 lên vật 
1) thì dao động của vật chính 1 có khối l−ợng m1 đó sẽ bằng 0. Trong 
ch−ơng trình ta cho F20=0, m2=10 kg, c2=510 N/m và w1= 22 /mc . 
% File ml11.m 
% Tinh dao dong he hai bac tu do 
global m1 m2 k1 k2 c1 c2 w F10 F20 
m1=100; % Khoi luong vat thu nhat - kg 
c1=10000; % Do cung lo xo thu nhat - N/m 
m2=10; % Khoi luong vat thu 2 - kg 
c2=510; % Do cung lo xo thu 2 - N/m 
k1=220; k2=0; % He so can nhot cua giam chan 
- Ns/m 
w20=sqrt(c2/m2) 
x0=[0 .0 0 .0]'; % Dieu kien ban dau 
F10=100; % Bien do luc tac dung vao 
vat 1 – N 
F20=0; % -- 2 
w1=w20; % Tan so goc cua luc k.thich 
- rad/s 
 [t,y]=ode45('ml1',tc,x0); 
subplot(211) 
plot(t,y(:,2)*100) 
title('TINH DAO DONG HE HAI BAC TU DO') 
ylabel('Chuyen vi cua vat 1 - cm') 
grid 
subplot(212) 
plot(t,y(:,4)*100) 
xlabel(' Thoi gian - s') 
ylabel('Chuyen vi cua vat 2 - cm') 
grid 
pause 
% File ml1.m 
% Chuong trinh con tinh dao dong he hai bac tu 
do 
function yc=ml1(t,y) 
 global m1 m2 k1 k2 c1 c2 w F10 F20 
 yc=zeros(4,1); 
 yc(1)=-(k1+k2)/m1*y(1)-(c1+c2)/m1*y(2)+... 
k2/m1*y(3)+c2/m1*y(4)+F10*sin(w1*t)/m1; 
 yc(2)= y(1); 
 yc(3)= k2/m2*y(1)+c2/m2*y(2)-k2/m2*y(3)-
c2/m2*y(4)+... 
 F20*sin(w2*t)/m2; 
 yc(4)= y(3); 
Chạy ch−ơng trình sẽ cho kết quả d−ới dạng đồ thị sau: 
0 2 4 6 8 1 0 1 2 1 4 1 6 1 8 2 0
-2
-1
0
1
2
TIN H D A O D O N G H E H A I B A C TU D O
C
hu
ye
n 
vi
 c
ua
 v
at
 1
 -
 c
m
0 2 4 6 8 1 0 1 2 1 4 1 6 1 8 2 0
-4 0
-2 0
0
2 0
4 0
 Th o i g ia n - s
C
hu
ye
n 
vi
 c
ua
 v
at
 2
 -
 c
m
Ta thấy một điều thú vị là : đúng nh− dự đoán, biên độ dao động của vật 
chính 1 giảm dần theo thời gian và sẽ tắt hẳn sau ít giây nữa. 
c. Xác định tần số dao động riêng của hệ nhiều bậc tự do 
Với hệ cơ học nhiều bậc tự do việc xác định các tần số dao động riêng 
của hệ có một ý nghĩa quan trọng. Matlab giúp ta giải bài toán này không 
mấy khó khăn. 
Ví dụ: Có hệ gồm bốn toa xe móc nối với nhau, hãy xác định tần số dao 
động riêng của hệ theo chiều dọc. Biết khối l−ợng các toa xe là m1=45T, 
m2=35T, m3=40T, m4=50T, độ cứng các lò xo là c1=c2=800KNm, 
c3=1000KN/m. 
 m1 x1 m2 x2 m3 x3 m4 x4
Để giải bài toán tr−ớc hết ta phải lập các ma trận khối l−ợng và ma trân 
độ cứng nh− sau: 
- Ma trận khối l−ợng: 
 M=diag(m1, m2, m3, m4); ( Ma trận chéo có các phần tử là các 
khối l−ợng) 
-Ma trận độ cứng: 
 c1 -c1 0 0 
 C = -c1 c1+c2 -c2 0 
 0 -c2 c2+c3 -c3
 0 0 -c3 c3
- Dùng hàm eig để xác định các trị riêng và véc tơ riêng: 
 [ X, L] = eig( C, M); 
trong đó L là ma trận đ−ờng chéo mà mỗi phần tử trên đ−ờng chéo là một 
trị riêng (eigenvalue) là w1
2, w2
2, w3
2
 và w4
2 . Còn w1 w2, w3 và w4 chính là 
các tần số dao động riêng của hệ (rad/s). 
Ma trận (hàng) của các tần số dao động riêng đ−ợc xác định nh− sau: 
 w = diag(sqrt(L)); 
Kết quả tính bằng số cụ thể nhận đ−ợc nhờ chạy ch−ơng trình trong file 
tansd.m d−ới đây: 
% File tánd.m 
% CHUONG TRINH TINH TAN SO DAO DONG RIENG 
% CUA HE NHIEU BAC TU DO 
m1=45000; m2=35000; 
 m3=40000; m4=50000; % Khoi luong cac toa xe 
c1=800000;c2=c1; % Do cung lo xo N/m. 
c3=1000000; 
% Ma tran khoi luong va ma tran do cung 
m=[m1 m2 m3 m4]; 
M=diag(m); 
C=[c1 -c1 0 0; -c1 c1+c2 -c2 0 ; 0 -c2 c2+c3 
-c3;... 
 0 0 -c3 c3]; 
% Tinh tri rieng va vec to rieng 
 ,L]=eig(C,M); 
wb=diag(L); % Cac tri rieng 
w=sqrt(wb) % Cac tan so dao dong rieng - 
rad/s 
Các giá trị tần số dao động riêng đ−ợc ch−ơng trình cho d−ới đây: 
 w = 
 8.6524 
 6.5472 
 0 + 0.0000i 
 3.2807 
Ta thấy có một tần số dao động riêng bằng 0 : w3=0. Điều này về mặt lí 
thuyết dao động thì hoàn toàn hợp lí vì nó t−ơng ứng vối một dạng dao 
động riêng của hệ trong đó toàn hệ chuyển động nh− một vật rắn. 
Kết luận 
Qua hai phần nghiên cứu tìm hiểu phần mềm lập trình Matlab và ứng 
dụng nó để giải một số bài toán kĩ thuật, chúng tôi thấy rằng đây là một 
phần mềm rất mạnh, dễ sử dụng và rất có hiệu quả trong tính toán, đặc 
biệt thích hợp cho việc nghiên cứu trong lĩnh vực khoa học kĩ thuật. 
 Đồng thời chúng tôi cũng thấy rõ rằng: để hiểu cặn kẽ cũng nh− sử dụng 
đ−ợc hết khả năng của Matlab thì đó cũng không phải là chuyện dễ, vì 
bản thân nó là một phần mềm lớn. Tuy nhiên, trong phạm vi của đề tài 
nghiên cứu này, những vấn đề cơ bản và những ứng dụng phổ biến của 
phần mềm đã đ−ợc trình bày và đã có những ví dụ minh hoạ cụ thể. Từ 
những phần cơ bản này, ng−ời đọc qua sử dụng thực tế phần mềm sẽ có 
khả năng tự tìm hiểu sâu hơn nhờ tra cứu phần Help trong máy. 
Cách trình bày chúng tôi đã cố gắng sao cho ngắn gọn, dễ hiểu và thiên 
về thực hành. Một trong những mục đích chính của nhóm nghiên cứu là 
biến kết quả nghiên cứu này thành tài liệu để tìm hiểu và sử dụng Matlab 
cho những ng−ời quan tâm, đặc biệt là cho sinh viên. Hi vọng là với tài 
liệu này, ng−ời học có thể tự thực hành trên máy tính để lập các ch−ơng 
trình tính toán cho bài toán của mình. 
Do khuôn khổ thời gian có hạn, còn một phần thứ hai nữa của Matlab mà 
chúng tôi ch−a kịp nghiên cứu: đó là phần SIMULINK. Đây là phần 
mềm mô phỏng rất mạnh và hiệu quả của Matlab, cho phép giảiđ−ợc 
nhiều loại bài toán phức tạp. Chúng tôi hi vọng sẽ có điều kiện nghiên 
cứu tiếp trong thời gian tới. 

File đính kèm:

  • pdfĐề tài Matlab_Tìm hiểu và ứng dụng giải một số bài toán kĩ thuật.pdf