Giáo trình Ứng dụng máy tính trong tính toán thiết kế ô tô

Giới thiệu chung về matlap

Matlap vừa là ngôn ngữ lập trình vừa là một phần mềm ứng dụng tính toán rất

hiệu quả .Matlap là từ viết tắt của ‚Matrix Laboratory‛ đợc phát triển bởi tập đoàn

The Math Works,Ins .of Natick,Massachusetts – Hoa kỳ từ những năm 1970.Lúc

đầu Matlap đ-ợc dùng chủ yếu để giải quyết các vấn đề về matrân ,đại số tuyến

tính ,giải tích số, hiện nay khả năng tính toán của Matlap rất lớn ,bao trùm nhiều

lĩnh vực khác nhau .

Matlap 6.0 đ-ợc phát hành vào mùa thu năm 2000 và chạy trên nhiều hệ điều

hành khác nhau tiếp đó là phiên bản 6.5 rồi 7.0 và hiên nay là 7.5 .Tr-ơng trình

Matlap bao gồm phần lõi (core) và các Modul phần mềm đ-ợc gọi là các toolbox

(hộp công cụ) . Mỗi toolbox phục vụ những tính toán riêng biệt nào đó ,Ví dụ

toolbox optimization thì chuyên để giải quyết các bài toán tối -u .và vv

 

pdf 49 trang kimcuc 9500
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Ứng dụng máy tính trong tính toán thiết kế ô tô", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Ứng dụng máy tính trong tính toán thiết kế ô tô

Giáo trình Ứng dụng máy tính trong tính toán thiết kế ô tô
 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YấN 
KHOA CƠ KHÍ ĐỘNG LỰC 
BÀI GIẢNG 
 HỌC PHẦN: ỨNG DỤNG MÁY TÍNH TRONG TÍNH 
TOÁN THIẾT KẾ ễ Tễ 
 SỐ TÍN CHỈ: 02 
 LOẠI HèNH ĐÀO TẠO: ĐẠI HỌC CHÍNH QUY 
 NGÀNH: CễNG NGHỆ KỸ THUẬT ễ Tễ 
Hưng Yờn - 2015 
1 
Lời nói đầu : 
 ‚Môn ứng dụng Matlap trong kỹ thuật ô tô’’ đ-ợc biên soạn nhằm giúp các bạn 
là sinh viên các ngành khoa học kỹ thuật nắm đựoc cơ sở của phần mềm trợ giúp 
tính toán Matlap ,qua đó dùng Matlap để giải quyết các bài tập lớn ,đồ án ,luận văn 
tốt nghiệp .Matlap thực sự là một phần mềm rất mạnh ,vừa có khả năng lập trình 
nh- nhiều ngôn ngữ khác ,vừa là một môi tr-ờng tính toán thực dụng có thể dùng 
ngay hàng trăm hàm và ch-ơng trình con đã đ-ợc lập trình sẵn để giải quyết bài 
toán về ma trận ,đại số tuyến tính ,giải tích số ,ph-ơng trình vi phân ,quy hoạch 
tuyến tính tối -u hoá cũng nh- các ch-ơng trình về đồ hoạ .Hiện nay Matlap đã 
xâm nhập vào hầu hết các lĩnh vực ,từ kỹ thuật cơ sở đến những vấn đề có tính 
chuyên môn rất cao . 
 Một -u điểm của Matlap là học là học tập phần mềm này rất đơn giản ,chỉ cần 
vài buổi học là học viên có thể nắm đ-ợc phần cơ bản của ch-ơng trình để rồi qua 
đó tìm hiểu thêm các tài liệu rất phong phú của Matlap trên mạng internet .Đối với 
các bạn đã thành thạo một ngôn ngữ truyền thống nào đó ,việc tham khảo phần 
mềm Matlap sẽ giúp cho bạn cơ hội tham khảo rất nhiều ch-ơng trình tính toán tinh 
vi của Matlap qua các tập tin nguồn có sẵn ,dựa vào đây bạn có thể viết lại ngôn 
ngữ mà bạn -a thích . 
Thiết kế bài giảng : 
 Thac sĩ : Lê Anh Vũ 
 Thạc sỹ : Đồng Minh Tuấn 
2 
Ch-ơngI: giỚi thiệu chung về Matlap, phạm vi ứng dụng 
1.1.Giới thiệu chung về matlap 
 Matlap vừa là ngôn ngữ lập trình vừa là một phần mềm ứng dụng tính toán rất 
hiệu quả .Matlap là từ viết tắt của ‚Matrix Laboratory‛ được phát triển bởi tập đoàn 
The Math Works,Ins .of Natick,Massachusetts – Hoa kỳ từ những năm 1970.Lúc 
đầu Matlap đ-ợc dùng chủ yếu để giải quyết các vấn đề về matrân ,đại số tuyến 
tính ,giải tích số, hiện nay khả năng tính toán của Matlap rất lớn ,bao trùm nhiều 
lĩnh vực khác nhau . 
 Matlap 6.0 đ-ợc phát hành vào mùa thu năm 2000 và chạy trên nhiều hệ điều 
hành khác nhau tiếp đó là phiên bản 6.5 rồi 7.0 và hiên nay là 7.5 .Tr-ơng trình 
Matlap bao gồm phần lõi (core) và các Modul phần mềm đ-ợc gọi là các toolbox 
(hộp công cụ) . Mỗi toolbox phục vụ những tính toán riêng biệt nào đó ,Ví dụ 
toolbox optimization thì chuyên để giải quyết các bài toán tối -u .và vv 
1.1.1.cách cài đặt Matlap 
 ở đây chúng tôi giới thiệu cho các bạn cách cài đặt Matlap 7.5. đầu tiên các bạn 
có thể chọn mua đĩa Matlap phiên bản 7.5 tại các cửa hiệu máy tính .Sau đó cho đĩa 
vào ổ CD rom .Sau đó mở dĩa CD vào setup màn hình hien ra nhu sau: 
Chọn install,sau đó bấm next một màn hình sau hiện ra : 
3 
Nhập mã số vào password và bấm next 
Một màn hình mới hiện ra: 
Chọn yes và bấm next màn hình sau sẽ hiện ra: 
4 
Chọn Typical và tiếp tục bấm next 
 Chọn ổ C làm nơi cài ch-ơng trình Matlap bấm next .Nh- vậy Matlap sẽ tự động 
cài ch-ơng trình vào máy của bạn 
1.2. Giao diện đồ hoạ, các phím chức năng 
1.2.1. Các kiểu biến trong Matlap 
 Trong Matlap sử dụng các biến cơ bản sau: 
a.Biến toàn cục 
 Muốn truy xuất đ-ợc các biến dùng chung cho ch-ơng trình chính và các tập 
tin hàm (đóng vai trò nh- các ch-ơng trình con ) thì phải khai báo biến này là biến 
toàn cục bằng dòng lệnh 
5 
 >> Goloball ten_bien1 
 b.Biến kiểu xâu ký tự (string): 
 Cú pháp lệnh: 
 names = Dong Minh Tuan 
 names = 
 Dong Minh Tuan 
 number = 0983744750 
 number = 
 983744750 
c.Biến symbolic : 
 Cú pháp lệnh để tạo các đối t-ợng simbolic 
 >> x=symm(x) 
 x = 
 x 
 Ngoài ra còn dùng lệnh symm để khai báo nhiều biến symbolic một lúc : 
 >> Symm (x,y,z) : Tạo ba biến symbolic x,y,z 
1.2.2. Giao diện đồ hoạ 
 Matlap gồp có 3 màn hình cơ bản : 
 Màn hình comand 
 Màn hình comand Work 
 Màn hình comand off 
1.2.3. Các phím chức năng 
  : phím enter 
6 
 : phím quay lại 
 : Dịch chuyển con chuột về bên phải man hình 
 : Dịch chuyển con chuột về bên trái màn hình 
: phím dịch chuyển con chuột xuống d-ới màn hình lệnh 
1.3.Các ph-ơng pháp làm việc với Matlap. 
 1.3.1các lệnh cơ bản . 
Các hàm thông dụng: 
 Sqrpt(x) : 
 Expe(x) 
 Log(x) : 
 Log10(x) 
 Shin(x) : 
 Cose(x) 
 Tang(x) 
 Coto(x) 
 Asin(x) 
 Accos(x) 
 Actan(x) 
 Acot(x) 
 Sninh(x) 
 Sign(x) 
 
Các hằng đ-ợc định nghĩa tr-ớc trong Matlap(predefined constants). 
1 Biến,hằng ý nghĩa 
2 Pi 
3 Ans 
4 Eps 
5 I,j 
6 Inf 
7 
7 NaN 
1.3.2.Các lệnh dùng trong không gian màn hình làm việc 
Thứ tự Lệnh Công dụng 
1 Cl 
2 Clear 
3 Clear var1 
4 inpput 
5 Exist 
6 Quit 
7 Who 
8 Whoss 
9 % 
10 Dis 
1.4. Quy cách viết dãy lệnh, biểu thức của Matlap 
 Chế độ t-ơng tác trong cách một chỉ thích hợp với bài toán nhỏ ,đơn giản .Đối 
với bài toán đòi hỏi phải sử dụng nhiều lệnh ,một tập lệnh đ-ợc dùng lặp đi lặp lại 
hoặc làm việc với các dãy số có số phần tử rất lớn chúng ta cần tạo Script file 
1.4.1Tạo và sử dụng Script file 
 Chúng ta có thể viết và l-u các tr-ơng trình Matlap trong các tập tin có phần đuôi 
dạng (.m) đ-ợc gọi là các M – file .Matlap dùng hai loại M-file là Cript file (tập tin 
lệnh) và funtion file (tập tin hàm ) .Hai loại này khác nhau khi tạo file và sử dụng 
Cách tạo : 
8 
Sau khi vào M- file thì có cửa sổ hiện ra (hình2) 
 Sau khi soạn xong chúng ta l-u lại tên file (không vào tên đuôi .m ).Tên file tuân 
theo quy tắc tên biến trong Matlap ,file này đ-ợc l-u trong th- mục hiện hành 
(current directory) th-ờng là th- mục work ,sau khi l-u trở lại màn hình Destop để 
chạy ch-ơng trình 
 Cấu trúc đề nghị của một cript file gồm các phần cơ bản sau: 
 Phần chú thích (comments section) : viết các dòng chú thích cho tr-ơng 
trìnhgồm: tên của ch-ơng trình và các từ khoá mo tả ch-ơng trình ,định 
nghĩa các biến đầu vào và đầu ra ,chú ý phải xác định rõ đơn vị đo l-ờng cho 
tất cả các biến đầu vào và đầu ra ,tên của từng hàm tự tạo đ-ợc sử dụng trong 
ch-ơng trình 
1.4.2.Tạo và sử dụng funtion file 
 Một dạng M- file trong Matlap là function file (tập tin hàm ) đây là hàm do 
ng-ời sử dụng tạo ra .Khác với script file tất cả các biến trong tập tin hàm đều có 
9 
tính chất cục bộ (local) có nghĩa là giá trị các biến này không đ-ợc truy xuất bên 
ngoài không gian tập tin hàm do vậy dùng tập tin hàm để tránh việc lặp đi lặp lại 
một tập lệnh nào đó 
 Goloball: 
 Việc khai báo phải thực hiện ở ch-ơng trình chính và ở các function file có liên 
quan .Trong các tập tin hàm thì phải khai báo biến toàn cục ở dòng thực thi đầu tiên 
và th-ờng viết hoa . 
1.5. Làm việc với các tệp dữ liệu của Matlap 
 Dòng đầu tiên của một function file đ-ợc gọi là dòng định nghĩa hàm (function 
definition line) 
Function[output variables] 
 Nhờ từ khoá function Matlap phân biệt đ-ợc một M_file là function file hoặc 
là script file .Tên hàm tự đặt tuân theo tên biến trong Matlap 
 Các dòng tiếp theo là các dòng chú thích ,các biến đầu vào đầu ra ,các đơn vị 
đo l-ờng 
1.5.1. Những l-u ý về tập tin hàm : 
 Function seqppllot 
(ý nghĩa là ng-ời lập muốn vẽ một hình vuông khi biết cạnh của nó ) 
 Trong một ch-ơng trình tính toán dùng Matlap ,nếu không cần truy xuất tất cả 
các biến trong một script file nào đó hãy sử dụng một tập tin hàm thay thế script 
file này nó sẽ làm cho workspace bớt cồng kềnh và giảm đ-ợc bộ nhớ 
ch-ơng ii: xử lý các dữ liệu dạng mảng trên matlap 
10 
và vác ứng dụng 
 Một trong những điểm mạnh của Matlap là khả năng sử lý một tập số đ-ợc xắp 
xếp theo một thứ tự nào đó (gọi là mảng ) nh- là một biến đơn (single 
variable).Khả năng này làm cho ch-ơng trình viết bằng Matlap rất gọn và dễ hiểu 
.Do mảng là một đối t-ợng cơ sở của Matlap ,nên việc lắm vững các phép tính về 
mảng là một trong các yêu cầu cơ bản khi sử dụng Matlap. 
2.1. Các ph-ơng pháp tạo mảng 
2.1.1. Mảng một chiều (véc tơ). 
a.định nghĩa : 
 x = (a1a2a3a4 ) 
Hoặc 
 x = (a1 a2 a3 a4 ) 
 Mảng y =([7,-3,2,0] )là hoàn toàn khác với mảng x ở trên do thứ tự các phần 
tử ở hai mảng là khác nhau .Matlap có thể cộng hai mảng x và y có cùng kích th-ớc 
để đ-ợc một mảng mới z cung kích th-ớc chỉ bằng một dòng lệnh z = x+ y 
 x =(a1a2,a3,a4) 
 y =(a2,a4,a1,a3) 
 z = x+ y 
b.Mảng có các phần tử cách đều : 
 >> u = [0: : n]. 
 Cách biểu thị chung nhất mảng trong Matlap là : 
 mảng =([ p:c ) 
 hay mảng = ( a:b ) 
 c. Mảng kiểu dòng (row array) 
11 
 ví dụ : 
 V = 
 a1 a2 a3 a4 a5 a6 
d.Mảng kiểu cột (colum array) 
 ví dụ: 
 A=(a1,a2,a3,a4) 
 A = 
a1 
a2 
a3 
a4 
2.1.2 .Mảng hai chiều : 
 Một mảng trong Matlap có thể có nhiều dòng nhiều cột một mảng nh- vậy còn 
đ-ợc gọi là một ma trận mảng hai chiều đ-ợc thể hiện [ m, n] 
2.1.3 .Mảng nhiều chiều . 
 A(1) = 
 A (2) = 
12 
2.1.4.Mảng kiểu ô (cell array) 
 Cú pháp lệnh: 
 A1=Nguyen van A 
 A2=26-4-1984 
 A3=7,10 
 Nguyen van A 
 A = 
 8 7 10 
 A = 
 26-4-1984 
 A = 
 5 7 6 
 2 9 6 
 8 9 4 
2.3. Các phép tính thực hiện trên mảng 
 Matlap có các phép tính về mảng (array operations) còn gọi là phép tính trên các 
phần tử t-ơng ứng và các phép tính về matran (matrix operations). 
2.3.1.Các phép tính mảng 
 a.Cộng hai mảng . 
 ví dụ : 
 u=(1.....4) 
 v=(5.....8) 
13 
 r=u+v 
 r = 
 6 8 10 12 
 b.Phép trừ hai mảng: 
 u=(1......4) 
 v=(5......8) 
 r=u-v 
 r = 
 -4 -4 -4 -4 
c. Phép nhân hai mảng. 
 Đây là một phép tính đặc biệt trong Matlap dùng toán tử 
 ví dụ : 
 u=(5......10) 
 v=[6.......3) 
 A=u.v 
 A = 
 30 49 72 18 30 
ví dụ: 
 A=(1.......7); 
 B=(1......6); 
 C=A.B 
 C = 
 12 136 35 48 
14 
 0 21 25 42 
d.Phép chia hai mảng: 
 Giả sử có matran A và matran B có cùng kích th-ớc phép chia C =A: B sẽ đ-ợc 
matran có cùng kích th-ớc và . 
 ví dụ : 
 A =(19) 
 B=(3.4); 
 C=A: B 
C = 
 0.0313 2.0000 1.0000 0.7500 
 0.2000 0.4000 0.3478 0.3750 
2.3.2.Các phép tính trong Matran 
 a.Cộng và trừ hai matran 
 Cho hai matran A= [aij] ,B =[bij] có cùng kích th-ớc ,phép cộng C =A + B hoặc 
phép trừ D = A - B sẽ đ-ợc thực hiện nh- cộng hay trừ hai mảng nh- đã trình bày 
ở mục trên .Ta có , 
b.Phép nhân hai matran : 
 Cho matran A có kích th-ớc m p và matran B có kích th-ớc p q tích của 
hai matran đ-ợc Matlap thực hiện bằng lệnh A*B và sẽ sinh ra một matran C có 
kích th-ớc m q và với i = 1,2,m và j = 1,2,q 
 Phép nhân hai matran A và B đòi hỏi matran A và B phải t-ơng thích với nhau 
,nghĩa là số dòng của matran B phải bằng số cột của matran A . 
c.Chuyển vị hai ma trận : 
15 
 Giả sử có ma trận A = thì ma tran chuyển vị sẽ là : A = 
 Cú pháp lệnh: 
 A = 
 A... 
e.Tính định thức của ma tran vuông 
 Để tính định thức của matran vuông trong Matlap sử dụng lệnh doet () 
 Cú pháp lệnh: 
 A = 
 doet[A] 
f. Tính ma tran nghịch đảo ; 
 Để tính matran nghịch đảo dùng lệnh inver 
 Cú pháp lệnh 
 A = 
 inver 
g.Tính hạng của một matran 
 Trong Matlap để tính hạng của một matran nào đó dùng lệnh rak() 
 Cú pháp lệnh 
 >> A = 
 >> rak 
p.Rút gọn matran thành dạng bậc thang theo dòng 
16 
 Cú pháp lệnh 
 >> A = 
 >> ef 
q.Truy xuất một phần tử của ma tran .Trích véc tơ dòng cột matran con. 
 Khi tạo xong matran A nào đó ,phát hiện phần tử ở dòng n cột m cần thay đổi 
giá trị giả sử a thành b ta chỉ việc vào lệnh : 
 A(n,m) = b 
 Giả sử có matran A nh- sau: 
 A = 
 [ a1, a2, a3, a4] 
 [ a21, a22, a23, a24] 
 [ a31, a32, a33, a34] 
 [ a41, a42, a43, a44] 
k.Một số lệnh thông dụng khác trong matran 
 eig(X) :dùng để tính trị riêng và véc tơ riêng của một matran vuông 
 [V,D] =eig(X) trả về matran đ-ờng chéo D chứa các trị riêng và một matran V 
có các cột là véc tơ riêng t-ơng ứng sao cho : X*V =V*D 
 [V,D]=eigs(X) trả về một mảtận đ-ờng chéo D chứa sáu trị riêng có giá trị (độ 
lớn lớn nhất và một matran V có các cột là các véc tơ riêng t-ơng ứng .Tr-ờng hợp 
muốn kết quả có n trị riêng ta dùng eigs(X,n). 
 lu(X) dùng để phân tích matran vuông thành các matran đặc biệt 
 [L,U] = lu (X) tạo matran tam giác trên U và một matran L (là tích của một 
matran tam giác d-ới và một matran hoán vị )sao cho X = L*U 
17 
 [L,U,P] = lu(X) tạo matran tam giác d-ới L ,matran tam giác trên U và matran 
hoán vị sao cho : P*X = L*U .Ta có quam hệ A-1 = U-1L-1P 
 sparse (X) :Chuyển matran X thành thành matran sparese (matran th-a) 
 full(X) chuyển matran sparse (X) thành Matran đầy đủ . 
 issparse (X) trả về giá trị 1 nếu matran X là matran sparse và trả về giá trị 0 
nếu matran X không phải là matran sparse 
Bài tập cuối ch-ơng 
câu 1 : Thiết lập matran vuông A có kích th-ớc 10 10 nh- sau bằng ba cách: 
Câu 2 : Tự tạo một cơ sở dữ liệu của các học viên cùng lớp với các tr-ờng : 
ho_ten,email,dia_chi,số điện thoại 
Câu3.Tính độ cứng của nhíp : 
Trong đó là hệ số thực nghiệm , ,E là mô dul đàn hồi của vật liệu . 
 với lk là ẵ chiều dài lá nhíp thứ k (tính từ quang treo đến đầu mút 
của lá ) 
Dữ liệu đã biết 
chỉ số của lá Bề rộng b,Cm Bề dầy lá nhíp 
h,Cm 
Mô men quán tính 
J Cm4 
1-6 45 0.70 4.5*0.703/12 
=0.128 
18 
7-9 45 0.575 4.5*0.5753/12 
=0.0713 
Một phần hai chiều dài lá nhíp (tính từ quang treo đến đầu mút của lá ) 
L1 L2 L3 L4 L5 L6 L7 L8 L9 
68.5 67.2 57.6 50.4 43.0 35.0 28.0 20.6 13.0 
Tr-ơng trình tính độ cứng của nhíp trong Matlap 
%%Nhap du lieu 
h(1)=0.7;h(2)=0.7;h(3)=0.7;h(4)=0.7;h(5)=0.7;h(6)=0.7; 
h(7)=0.575;h(8)=0.575;h(9)=0.575 
l(1)=50;l(2)=48.5;l(3)=37.5;l(4)=28.0;l(5)=20.0;l(6)=13.0; 
b=4.5;a1=0.85 E= 21*10^5 
%%tinh toan cac dac tinh hinh hoc la nhip 
jk=b*h.^3/12;jk=cumsum(jk) 
yk=1./jk;yk(10)=0;Dyk=-diff(yk); 
a=l(1)*ones(1,10)-l;a=a(2:10); 
%%Tinh do cung cua nhip 
C=a1*6*E/sum(a.^3.*Dyk) 
Câu 4.Tính toán bền các lá nhíp . 
Phản lực tác động tại các đầu mút của lá nhíp đ-ợc xác định từ hệ ph-ơng trình : 
Trong đó Ak,Bk,Ck ,đ-ợc xác định từ biểu thức : 
, , 
Trong đó lk là 1/2 chiều dài lá nhíp thứ k (tính từ quang đến đầu mút của lá ). 
Jk là mô men quán tính mặt cắt ngang của lá nhíp thứ k : 
Cho dữ liệu các lá nhíp và tải trọng : 
Số hiệu lá 
nhíp 
1 2 3 4 5 6 
Chiều dày 0.7 0.7 0.8 0.8 0.8 0.8 
19 
lá nhíp 
Bề rộng lá 
nhíp 
6.5 6.5 6.5 6.5 6.5 6.5 
Nửa chiều 
dài lá nhíp 
50.0 48.5 37.5 28.0 20.0 13.0 
Khoảng cách giữa bulông ngàm nhíp :12 cm 
Tải trọng đặt lên nhíp 900 Kg 
%%Nhap du lieu 
h=0.8*ones(1,6);h(1)=0.7;h(2)=0.7;b=6.6;Q=900;d=12; 
l(1)=50;l(2)=48.5;l(3)=37.5;l(4)=28.0;l(5)=20.0;l(6)=13.0; 
%%Tinh cac he so 
jk=b*h.^3/12;jk1=jk(2:6);jk=jk(1:5); 
Lk=L(1:5);Lk1=L(2:6); 
A=0.5*jk1./jk.*(3*Lk./Lk1-ones(1,5)); 
p=zeos(5,1);p(1)=-Q/2*A(1); 
Ak=A(2:5);Ck=C(1:4); 
%%Thiet lap matran he so 
M=diag(Ak,-1)+diag(Bk)+diag(Ck,1); 
%%Tinh cac phan luc 
X=inv(M)*p 
20 
Ch-ơng III : Công cụ toán học,Cách lập trình ứng dụng 
trong Matlap 
3.1. Các cộng cụ xử lý đa thức. 
3.1.1. Giải ph-ơng trình đại số : 
 Để giải ph-ơng trình đại số siêu việt dùng lệnh solve 
Cú pháp lệnh : 
 f(x) = a1x
n +a2x
n-1 + anx + a0 
% giải ph-ơng trình đại số siêu việt ; 
 Solvel 
Cú pháp lệnh : 
 a1x
n +a2x
n-1 + anx + a0 = 0 % giải ph-ơng trình đại số siêu việt ; 
 solvel 
 Nếu trong ph-ơ ... ểu thức đầu vào (vô h-ớng hoặc chuỗi ký tự ) 
 case 1 
 M = giá trị 1 
 nhóm lệnh 1 
 case 2 
 M = giá trị 2 
 nhóm lệnh 2 
 case 3 
 M = giá trị 3 
 nhóm lệnh 3 
 Case n 
 M= giá trị n 
 Nhóm lệnh n 
 otheriwise 
 error('Điều này là không đúng ') 
29 
 end. 
ví dụ : trở lại bài toán phân loại học sinh tr-ơng trình đ-ợc viết nh- sau: 
 switch 
 case [0:4] 
 case [5,6] 
 case[7,8] 
 case [9,10] 
 end 
c. Lệnh for 
Cấu trúc 
 for n = array % một mảng bất kỳ không nhất thiết phải là số tự nhiên 
 lệnh hoặc nhóm lệnh 
 end 
ví dụ 
 for i = 1:m 
 for j = 1:n 
 End. 
30 
d. Lệnh while 
 Cấu trúc vòng lặp White 
 While Biểu thức logic % biểu thức kiểm tra thực hiện vòng lặp 
 Lệnh hoặc nhóm lệnh 
 End 
ví dụ: 
a = 0; fa = -Inf; 
b = 3; fb = Inf; 
while b-a > eps*b 
x = (a+b)/2; 
fx = x^3-2.x-5; 
if sign(fx) == sign(fa) 
a = x; fa = fx; 
else 
b = x; fb = fx; 
end 
end 
Kết quả man hình Matlap hiện thị 
x = 
2.09455148154233 
31 
f.Lệnh breaker 
ví dụ : 
 a = 0; fa = -Inf; 
 b = 3; fb = Inf; 
 while b-a > eps*b 
 x = (a+b)/2; 
 fx = x^3-2*x-5; 
 if fx == 0 
 elseif sign(fx) == sign(fa) 
 a = x; fa = fx; 
 if 
 b = x; fb = fx; 
 end 
 end 
g.Lệnh try – catcher 
 Cấu trúc lệnh try – catch : 
 try 
 Trạng thái1 
 ... 
 Trạng thái 2 
 catch 
 trạng thái 1 
32 
 ... 
 Trạng thái 2 
p.Lệnh return 
 ví dụ : 
 input; 
 if x<0 
 return ;% thoat khoi chuong trinh tro ve noi goi 
 if x>=0 
3.6. Ch-ơng trình con 
3.6.1. Cách thức tạo ch-ơng trình con 
 a. Lồng các lệnh với nhau: 
 Có thể lồng lệnh for và lệnh Switch and case 
 Có thể lồng lệnh for và lệnh try catch 
 Có thể lồng lệnh for và lệnh While 
 Có thể lồng lệnh for và lệnh return 
 Có thể lồng lệnh for và lệnh Breaker 
33 
 Bài tập cuối ch-ơng 
Câu 1 : Giải hệ ph-ơng trình sau: 
Câu 2: Tính tích phân hàm : 
Câu 3 : Giải hệ ph-ơng trình vi phân sau : 
Câu 4 : Tìm điểm cực tiểu của hàm : 
 f(x1,x2) = 2x1
4 + 2x2
4 -2x1
2 – 2x2
2 + 4sin(x1 + x2) ở lân cận điểm [-1 1] 
Các bài toán áp dụng Matlap trong tinh toán ôtô 
 để ứng dụng Matlap trong tính toán ô tô đòi hỏi sinh viên phải hiểu một cách 
căn bản tổng thể về Matlap đồng thời phải có kiến thức về ô tô cũng nh- vật liệu 
chế tạo từng chi tiết và các bộ phận của chúng .D-ới đây là các bài tập căn bản mà 
sau khi học xong tr-ơng trình Matlap này sinh viên phải vận dụng và tính đ-ợc nó 
Bài1 : Tính toán dầm cầu chủ động của ô tô trong ba tr-ờng hợp : 
- Dầm cầu chủ động với nửa trục giảm tải 1/2. 
- Dầm cầu chủ động với bán trục giảm tải 3/4. 
- Dầm cầu chủ động với bán trục giảm tải hoàn toàn 
 Yêu cầu tính ứng với số liệu xe cụ thể ,vẽ sơ đồ Momen,lực tác dụng lên dầm 
cầu khi chuyển động thẳng và khi quay vòng . 
Bài2: Lập trình để tính toán mô men phanh yêu cầu ở các cầu xe (ứng dụng cho 
loại xe cụ thể . 
34 
Bài 3. Lập trình để tính toán xi lanh c-ờng hoá .ứng dụng số liệu cụ thể 
Bài 4.Lập trìnhđể xác định tải trọng tính toán cho hệ thống lái .ứng dụng số liệu cụ 
thể. 
Bài5 : Lập trình tính toán giảm chấn .Vẽ đồ thị độ dịch chuyển của pistong trong 
quá trình làm việc (Tính toán cho một kiểu giảm chấn cụ thể). 
Bài 6: Tính toán lực tác dụng lên bánh răng côn của bộ truyền hypôit.(áp dụng số 
liệu cụ thể ). 
Bài7.Lập trình tính trục hộp số (gồm chọ sơ bộ kích th-ớc,tính sức bền ). 
Bài 8.Lập trình để tính toán sức bền của của các chi tiết ly hợp (gồm đinh tán 
,Moay ơ đĩa bị động,trục ly hợp ,lò xo ép) .ứng dụng số liệu cụ thể. 
Bài9: Lập trình tính toán các phản lực tác dụng lên bánh xe khi ô tô lên dốc .ứng 
dụng số liệu cụ thể. 
Bài 10: Lập trình để tính toán lực và mô men tác dụng lên bánh xe .ứng dụng một 
số liệu cụ thể 
Bài11:Lập trình để vẽ đồ thị cân bằng lực kéo của ô tô .ứng dụng cho số liệu cụ 
thể. 
35 
ch-ơng IV : Đồ thị trong Matlap 
 Các đồ thị, hình vẽ đóng một vai trò rất quan trọng trong việc trình bày kết quả 
tính toán một vấn đề kỹ thuật nào đó .Chúng luôn gây đ-ợc ấn t-ợng mạnh mẽ và 
có sức thuyết phục ng-ời nghe hơn là con số dầy đặc trong các bảng biểu .Ch-ơng 
trình Matlap cung cấp rất nhiều hàm dùng để vẽ các đồ thị hai chiều ,ba chiều ,vẽ 
mặt cắt với các tiện ích rất phong phú và dẽ sử dụng . 
4.1. Tạo ra đồ thị 
4.1.1. Hàm pollot 
 Đồ thị này sẽ hiển thị trên một cửa sổ đồ hoạ (graphics window ) riêng có tên là 
figure No.1. Các lệnh nh- sau : 
 >> y = f(x) ; 
 >> pollot 
 Ngoài ra còn dùng hàm guytext sẽ cho phép ng-ời vẽ đặt dòng text vào một vị 
trí tuỳ ý trên đồ thị bằng cách nhấm phím trái chuột khi đồ thị đ-ợc vẽ xong 
,ch-ơng trình sẽ dừng lại để chờ chúng ta thực hiện thao tác này .Mỗi hàm guytext 
nhấn một lần 
 Chú ý các hàm này phải xuất hiện sau hàm polllot 
 Để in đồ thị này ra máy in chúng ta vào menu File chọn mục print (trên cửa sổ 
graphíc Window ) hoặc đánh lệnh print từ dòng lệnh . 
 Có thể vẽ nhiều đồ thị trên cùng một cửa sổ (overlay plots) 
ví dụ : 
 Vẽ đồ thị hai hàm y = 2 và Z = 2 sin3x với 0< x <5 (rad) trên cùng một đồ thị 
Trong cửa sổ hiện hành của Matlap sẽ hiện nh- sau: 
 >> y=2squrt(x); 
36 
 >> z=2.sin(3.x); 
 >> pollot 
Kết quả đồ thị thể hiện hình 
1:
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-2
-1
0
1
2
3
4
5
x
y
z
4.1.2.Hiệu chỉnh đ-ờng và mầu trong lệnh plot 
 Các kiểu đ-ờng(line types): 
Kiểu đ-ờng Kí hiệu nằm trong dấu ngoặc đơn 
Solid line - 
Dashed line - - - 
Dash- dotted line -.-. 
Dotted – line m) : 
Các mầu thông dụng trong hàm plot: 
Mầu Ký hiệu 
 ’g’ 
 ‘r’ 
 ‘y’ 
 ‘c’ 
 ‘m’ 
 ‘W’ 
 ‘b’ 
 ‘k’ 
37 
4.1.3. Các loại điểm đánh dấu trên đồ thị : 
 Nếu quan hệ giữa hai đại l-ợng x,y cần đ-ợc vẽ bằng các điểm rời rạc ,thay vì 
đ-ờng liên tục nh- vẽ hàm ,hàm plot sẽ dùng các điểm đ-ợc đánh dấu (data 
marker) 
Các kiểu data marker Ký hiệu trong lệnh plot 
 (dot) . 
(asterisk) 0 
 (cross) k 
(circle) O 
(plus sign) + 
(square) y 
(diamond) e 
Star q 
4.2 .Chia cửa sổ đồ hoạ ra làm nhiều phần : 
Câu lệnh : 
 >>ffplot. 
 ví dụ: vẽ đồ thị f(x)=sin(tan(x))-tan(sin(x) 
Các b-ớc tiến hành 
 >> f=sin(tan(x))-tan(sin(x) 
 >> ffplot 
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
-3
-2.5
-2
-1.5
-1
-0.5
0
38 
4.2.1. Lệnh subbpolot 
 Thuật toán : 
 y1 = f(x); 
 subbpolot 
 subbpolot 
 x2 = (c : d); 
 y2 = g(x); 
 subbpolot 
 subbpolot (x,y) 
 Kết quả : 
 t = 0-pi; 
 toado = cylinde(4.cos(t)); 
subbpolot ; mesh(X) 
subbpolot; mesh(Y) 
subbpolot; mesh(Z) 
39 
 subbpolot mesh(X,Y,Z) 
 Lệnh polar 
 Dùng để vẽ đ-ờng cong trong hệ toạ độ cực .Đồ thị sẽ đ-ợc vẽ trên một hệ l-ới 
gồm các vòng tròn đồng tâm và các tia cực cách nhau 300 
Cú pháp lệnh : 
 >> Pollare(theta,r) 
Trong đó theta là góc cực tính bằng radian và r là bán kính véc tơ và đ-ợc xem nh- 
là hàm của theta 
 ví dụ : vẽ đ-ờng xoắn ốc Archimede với r = 2. 
 >> r = 2.theta; 
 >> Pollare 
 10
 20
 30
30
210
60
240
90
270
120
300
150
330
180 0
duong xoan oc Archimede r = 2
4.2.3 .Vẽ số phức : 
 Cú pháp lệnh 
 >> n = (c : d); 
 >> pollot 
40 
ví dụ: 
 z=.1+.9i; 
 pollot 
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Real
Im
a
g
in
a
ry
Do thi so phuc
4.2.4. Đồ thị trong không gian 3D (R3). 
 Để vẽ đồ thị trong không gian ba chiều trong Matlap sử dụng hàm 
plot4(x,y,z) .Trong đó x,y,z là các véc tơ có cùng phần tử 
Cấu trúc lệnh 
 x= f1(t); 
 y= f2(t); 
 z =f3(t); 
 pollot4 
4.2.5. Vẽ mặt của hàm hai biến 
 Hàm meshrid sẽ tạo một l-ới các điểm trong mặt phẳng xy 
Cú pháp lệnh 
 y = ( ymin : ymax) 
41 
 meshrid(x) 
 Trong đó x có m phần tử ,y có n phần tử ,xác định phậm vi thay đổi của biến 
x,y . 
 Kế tiếp ta tính matran Z = f(X,Y) ,chú ý là phải dùng các phép tính về mảng 
thay cho phép tính thông th-ờng 
 ví dụ : vẽ mặt 
 >> y=(-2:b); 
 meshrid(x,y); 
 >> Z=X 
-2
-1
0
1
2
-2
-1
0
1
2
-1
-0.5
0
0.5
1
1.5
x 10
-15
xy
z
4.2.5 .Các hàm khác trong không gian 3D 
- Hàm meshp (X,Y,Z) tạo ra các đ-ờng đồng mức phía d-ới mặt 
- Hàm meshze(X,Y,Z) tạo ra các đ-ờng thẳng đứng (theo ph-ơng dọc trục z) 
phía d-ới mặt 
42 
- Hàm surfre(X,Y,Z) hoặc surfc(X,Y,Z) tạo ra các mặt giống nh- thực hiện 
lệnh mesh hoặc meshc nh-ng mặt đ-ợc tô bóng 
- Hàm contourtr(X,Y,Z) vẽ các đ-ờng đồng mức trên mặt phẳng xy 
4.3. Điều khiển các trục toạ độ 
 Để điều khiển các trục toạ độ dùng lệnh Axis 
 Cú pháp lệnh 
 >> Axis 
4.4.Ghi chú trên đồ thị 
Cách thức tiến hành thể hiện trên hình vẽ; 
4.5. In ấn đồ thị: 
 Để in đồ thị cóp ra Word ta dùng lệnh print 
 Cú pháp lệnh: 
 File -print 
43 
Bài tập cuối ch-ơng:; 
Câu 1: Dùng hàm fploet hãy vẽ đồ thị hàm số : 
Với x biến thiên trong khoảng x = [1: 0.1:10] 
Câu 2 vẽ đồ thị và so sánh dạng đồ thị của hai hàm với x = [0 : 
0.01:5] và y = với x = [-6 : 0.01: 6] trên cùng màn hình Window. 
Câu 3 : Cho bộ số liệu các xe : 
xe Không tải đầy tải đặc điểm 
a0, m b0, m h0, 
m 
m0, kg a0, m a, m b, m h, m Dẫn 
động 
Cơ cấu 
phanh 
tr-ớc 
Cơ cấu 
phanh 
sau 
N1 1.094 1.281 0.6 1650 1.387 0.988 0.560 2450 1 dòng đĩa Trống 
N2 1.224 1.176 0.71 1967 1.368 1.103 0.78 2510 1 dòng Trống Trống 
N3 1.264 2.036 1.160 3470 1.740 1.560 1.25 5800 1 dòng Trống Trống 
N4 1.926 1.874 1.400 4300 2.852 0.948 1.55 10526 1 dòng Trống Trống 
N5 2.186 1.789 1.160 6460 2.743 1.232 1.25 10185 1 dòng Trống Trống 
N6 2.282 1.944 1.360 7900 2.958 1.268 1.40 13200 1 dòng Trống Trống 
%%Dung duong dac tinh ly tuong P1-P2 
%% Nhap du lieu 
a0=2.282;b0=1.944;h0=1.360;m0=7900;%xe khong tai 
a=2.958;b=1.268;h=1.402;m=13200;%xe day tai 
l=a+b; 
%tinh phan bo tai trong tinh 
m01=m0*b0/L;m02=m0*a0/L;%phan bo tai trong len cac cau,xe khong tai; 
m1=m*b/L;m2=m*a/L;%phan bo tai trong len cac cau,xe day tai; 
g=9.81; 
%tri so phi ung voi cac diem dac biet; 
phi01=-b0/h0; 
phi02=a0/h0; 
phi0=phi01:0.01:phi02; 
p01=m0*g/l*(b0+h0.*phi0).*phi0; 
P10=max(p01); 
p02=m0*g/l*(a0-h0.*phi0).*phi0; 
P20=max(p02); 
44 
phi1=-b/h; 
phi2=a/h; 
phi=phi1:0.01:phi2; 
p1=m*g/l*(b+h.*phi).*phi; 
P1=max(p1); 
p2=m*g/l*(a-h.*phi).*phi; 
P2=max(p2); 
%%diem cat cua dac tinh thuc voi duong ly tuong ,xe khong tai 
phi0lim=(a0-b0)/2/h0; 
p01lim=m0*g/l*(b0+h0*phi0lim)*phi0lim; 
p02lim=m0*g/l*(a0-h0*phi0lim)*phi0lim; 
%%diem cat cua dac tinh thuc voi duong ly tuong ,xe day tai 
philim=(a-b)/2/h; 
p1lim=m*g/l*(b+h*philim)*philim; 
p2lim=m*g/l*(a-h*philim)*philim; 
phimax =0.85;%he so bam lon nhat cua duong; 
%Tinh cac he so P1,P2 ung voi phi max; 
%khong tai 
pp01=m0*g/l*(b0+h0*phimax)*phimax; 
pp02=m0*g/l*(a0-h0*phimax)*phimax; 
%day tai 
pp1=m*g/l*(b+h*phimax)*phimax; 
pp2l=m*g/l*(a-h*phimax)*phimax; 
%cac gia tri 
kp1=[p01lim p02lim p1lim p2lim ] 
kq2=[pp01 pp02 pp1 pp2] 
fprintf('\n xe khong tai \n P10=%1.0f/n P02=%1.0f\n xe day tai\n 
P1=%1.0f/n P2=%1.0f\n',kq1'); 
fprintf('\n tri so luc P1,P2 ung voi phi =0.85\n') 
fprintf('\n xe khong tai \n P10=%1.0f/n P02=%1.0f\n xe day tai\n 
P1=%1.0f/n P2=%1.0f\n',kq2'); 
choice =input('chon 1 de ve do thi P1-P2 1/0); 
if choicev=1 
 figure(1) 
 plot(p01,p02,'b',p1',p2','r',p02lim,p02lim,'b*',pp01,pp02,'r0',pp1,pp2,'bo') 
 title('quan he ly thuyet P1-P2'); 
 xlabel('luc phanh cau truoc'); 
 ylabel('lucphanhcau sau'); 
 grid on 
end; 
%ve he truc 
xmin=-0.2*P1; 
xmax=1.1*P1; 
x=xmin:xmax; 
ymin=1.1*P2; 
ymax=-0.5*P2; 
y=ymin:ymax; 
hold on 
plot(x,zeros(1,length(x)),'K',zeros(1,length(y)),y,'k') 
45 
-1 -0.5 0 0.5 1 1.5 2 2.5 3
x 10
5
-12
-10
-8
-6
-4
-2
0
2
4
6
x 10
4 quan he ly thuyet P1-P2
luc phanh cau truoc
luc
ph
an
hc
au
 sa
u
46 
Ch-ơng V: Môphỏng các hệ thống động lực bằng Simulink 
5.1.Giới thiệu chung về simulink 
 Simulink là một ch-ơng trình đồ hoạ ,định h-ớng sơ đồ khối dùng để mô phỏng 
các hệ động lực .Đây là sản phẩm nằm bên trong Matlap để tăng thêm độ mềm dẻo 
của nó . 
 Với simulink chúng ta có thể xây dựng mô hình toán học của hệ thống giống nh- 
ta vẽ sơ đồ khối .Simulink có một th- viện với nhiều khối chức năng khác nhau .Từ 
th- viện này ta có thể chọn các phần tử cơ sở cho mô hình hệ thống phân tích .Bên 
cạnh đó có nhiều cách để thêm khối chức năng vào hệ thống .Ngay sau khi mô hình 
đ-ợc xây dựng ta có thể thực hiện quá trình mo phỏng theo nhiều cách khác nhau 
.Nhiều ph-ơng pháp tích phân đ-ợc sử dụng và ng-ời dùng cần định nghĩa giới hạn 
của b-ớc thời gian ,các tiêu chuẩn hội tụ .Các kết quả mô phỏng có thể đ-ợc hiển 
thị qua các khối của simulink,hoặc chuyển xang môi tr-ờng làm việc (bộ nhớ 
củâMatlap) ,có thể dùng màn hình đồ hoạ mạnh hơn để hiển thị kết quả .. 
 Phần còn lại của ch-ơng này sẽ giới thiệu một cách sơ l-ợc việc sử dụng 
Simulink để sử lý bài toán đơn giản điều này rất cần thiết cho các sinh viên muốn 
tiếp cận với Simulink .Tuy nhiên để có đầy đủ kiến thức về Simulink các sinh viên 
cần phải tham khảo thêm các phần mềm trực tuyến 
Cách thức khởi tạo Simulink trong Matlap 
 Nháy đúp chuột vào biểu t-ợng Matlap trên màn hình ,tại dòng nhắc của Matlap 
ta go Simulink (hoặc nháy vào biểu t-ợng simulink trên thanh công cụ ta kích hoạt 
tr-ơng trình simulink ) cửa sổ Simulink sẽ hiện ra .Hãy nháy vào biểu t-ợng 
‚New‛để xây dựng mô hình mô phỏng . 
 Việc xây dựng mô hình bắt đầu từ việc các khối của Simulink bằng cách nháy 
chuột vào mục Simulink và một th- viện hiện ra ta sẽ chọn các khối tích hợp cho 
ch-ơng trình mô phỏng . 
Trong th- viện Simulink chia làm 8 nhóm : continous,Dỉerete,function & 
table,Math,Nonlinear,Sinals & systems,Sinks ,Soure 
- Th- viện con Soure (các khối nguồn tín hiệu ) 
- Th- viện Sinks (các khối xuất tín hiệu ); 
- Th- viện Math (các khối ghép nối toán học ) 
47 
- Signals & Systems (các khối tín hiệu và hệ con) 
- Continous (các khối liên tục) 
- Nonlinear (các khối phi tuyến ) 
- Functions & tables (chứa các khối thực hiện việc gọi hàm từ Matlap khối 
nội suy và khối hàm truyền) 
- Discrete (các khối gián đoạn ) 
5.2,Th- viện Sources và Sinks 
4.2.1.Th- viện Sources 
 Khi nháy chuột kép vào ký hiệu Sources ,cửa sổ th- viện con với các khối chức 
năng sẽ hiện ra ,các khối chuẩn trong đó bao gồm các nguồn phát tín hiệu ,các khối 
cho phép nhập số liệu từ một file, hoặc từ Matlap Workspace.Sau đây ta xét từng 
khối : 
a,Khối constant 
48 
 (không phụ thuộc vào thời gian )thực hoặc phức ,hằng số đó có thể là scalar,véc 
tơ hay ma trận ,tuỳ theo cách ta khai báo tham số Constant Value và ô Interpret 
vector parameter as 1_D có đ-ợc chọn hay không .Nếu ô đó đ-ợc chọn ta có thể 
khai báo tham số Constant Value là vector hàng hay cột với kích cỡ [1 x n] hay [n x 
1] d-ới dạng ma trận 
1
2
3
Constant2
[ 8 9 10 11 12]
Constant1
1
Constant
b,Khối step và Ramp 
 Giống nh- khối constant ,ta có thể dùng tham số tuỳ chọn Interpret vector 
parameter as 1_D để quyết định các tín hiệu dạng b-ớc nhẩy hay dạng dốc tuyến 
tính có giá trị Scalar hay vector hay matran. 
c,khối From File 
 Bằng khối From File ta có thể lấy số liệu từ một Matlap file ,hoặc kết quả của 
một lần mô phỏng tr-ớc đó ,đã đ-ợc tạo lên và cất đi nhờ khối To file trong sơ đồ 
Simulink .Số liệu cất trong Matlap file phải có định dạng nh- sau: 

File đính kèm:

  • pdfgiao_trinh_ung_dung_may_tinh_trong_tinh_toan_thiet_ke_o_to.pdf