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
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ô
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:
- giao_trinh_ung_dung_may_tinh_trong_tinh_toan_thiet_ke_o_to.pdf