DANG THE BA (Chü bien) DINH TRÀN HIÊP TTTT-TV * DHQGHN 620.00285 MAT 2015 D Ä N G THE BA (Chu b ien ) D IN H T R Ä N HIEP MATLAB VÄITNG DUNG TRONG C0 KY THUAT NHÄ XUÄT BÄN OAI HOC QUÖC GIA HÄ NÖI M ục lục Trang Lc nói đ ầ u .7 PHẨN I MATLAB Cơ BẢN C iư ng m k Giới thiệu M ATLAB 11 Một số kiến thức b ả n 13 Sơ lược M -file 22 1.‘ Tóm tắt chương 24 1.í Bài tập chương 26 C n ^ VEĨORVÀM ATRÂM Vector m a trận MATLAB .37 Thiết lập m a trận M ATLAB 37 Các phép toán ma trận, v e c to r 47 Đại SỐ tuyến tín h 50 Tóm tắt chương 54 Bài tập chương 55 Cương TÍH TỐN SỐVỚI MATLAB SỐ phức 65 MATLAB VÀ ỨNG DỤNG TRONG c KỸ THUÂT 3.2 H àm vô d a n h 70 3.3 Cực trị nghiệm hàm số m ột biến s ố 71 3.4 Đa thức m ột biến số 75 3.5 Tích phân đạo h m 77 3.6 Phương trình vi p h â n 79 3.7 Tóm tắt chương 81 3.8 Bài tập chương 82 chương’4 Bộ CÔNG CỤ KỶ HIỆU 4.1 Giới thiệu biến ký h iệ u 89 4.2 Biên biểu th ứ c 91 4.3 Ma trận biến ký h i ệ u 96 4.3 Tích phằn đạo hàm đa thức biến ký h iệ u 98 4.4 Phương trình vi phân hàm số biến ký h iệ u 100 4.5 Tóm tắt chương 102 4.6 Bài tập chương 103 c liư n g MÀNG HỖN HỢP VÀ Dữ LIỆU có CẤU TRÚC 5.1 M hỗn h ợ p 112 5.2 Biến có cấu tr ú c 118 5.3 Tóm tắt chương 131 5.4 Bài tập chương 132 C hương' ĐỒ TH! TRONG MATLAB 6.1 Đổ thị không gian hai ch iều 137 6.2 Đổ thị không gian ba c h iều 150 Mục lục 6.3 Tóm tắt chương 157 6.4 Bài tập chương 159 c i iương LẬP TRÌNH TRONG MATLAB 7.1 Giới thiệu M -file 169 7.2 Các lệnh lựa chọn 178 7.3 Vòng lặ p 187 7.4 Tóm tắt chương 191 7.5 Bài tập chương 192 PHẨN II MATLAB ỨNG DUNG chương PHÂN TÍCH OỘNG HỌC CẤU 8.1 Xác định vị trí khâu, khớp cấ u 199 8.2 Khao sát chuyến động tạo đoạn phim mơ phòng chuyến động cấu 8.3 Vận tốc gia tố c 207 8.4 Bài tập chương 214 Chương LÝ THUÍẾT ĐIỀU KHIỂM Tự ĐỘI1G 9.1 Biến đổi L aplace 231 9.2 Biến đổi z 235 9.2 Xây d ự n g hệ tuyến tính - d n g 238 9.3 Tóm tắt chương 252 9.4 Bài tập chương 253 MATLAB VA liNG DUNG TRONG CÖ KY THÜÄT Phu luc: MÖT SO BÖ CÖNG CU LiNG DUNG CHUYEN SAU TRONG M ATLAB 269 TAI LIEU THAM K H A O 233 DANH MUC H Ä M 277 f • 4- ^ Lời nói đau T >• MATLAB gói phần mềm m ạnh sử dụng rộng rãi cho nhiều mục đích nhiều đối tượng khác nhau, đặc biệt khoa học kỹ thuật MATLAB có th ể sử dụng theo hai cách khác nhau: T sử dụng lệnh đư a vào dâu nhắc thu dược kết quà (thông dịch); thứ hai viết lệnh thành m ột file (có thê file lệnh - scrip file dạng hàm - function file) lệnh thực tự động sau gọi thực thông qua gọi tên file MATLAB trang bị sẵn nhiều hàm đ ể thực nhiệm vụ khác thuộc nhiều lĩnh vực, tù đơn giản thực phép tính tốn học đến nhiệm vụ phức tạp n h tìm nghiệm phương trình vi phân, tơi ưu hóa, xử lý ảnh T hêm nửa, MATLAB trang bị câu lệnh câu trúc dùng cho lập trình cho phép người dùng tự phát triển chương trình theo mục đích riêng cho nhữ n g tốn cụ thể gặp phài thực tế Cuốn giáo trình biên soạn cho sinh viên khoa Cơ học Kỹ th u ật Tự động hóa, trường Đại học Công nghệ, Đại học Quốc gia Hà Nội nhằm giúp sinh viên làm quen với MATLAB, sử d ụ n g MATLAB đ ể giải toán đơn gián tiến tới lập trình tính tốn mơ phòng cho toán phức tạp Khi nắm nhữ ng kiến thức kha năng, phương thức làm việc MATLAB kỹ lập trình, sinh viên có th ể xây dự ng chương trình phức tạp MATLAB đ ể giải hiệu vấn đ ề thực tế liên quan đến ngành học Cuốn sách dùng kết hợp với giảng buổi thực hành đ ế trang bị kiến thức cần thiết cho nhà khoa học kỹ sư tương lai nhằm nâng cao khả tính tốn, xử lý phân tích nh ữ n g vân đề chun m ơn đa dạng với trợ giúp m áy tính MATLAB VÀ ỨNG DỤNG TRONG c KỸ THUẬT Nội dung giáo trình gổm chương sau: • C hương 1: Mờ đầu • C hương 2: Vector ma trận • C hương 3: Tính tốn sơ' với MATLAB • C hương 4: Bộ cơng cụ ký hiệu • C hương 5: M ảng hợp d ữ liệu có cấu trúc • C hương 6: Đồ thị MATLAB • C hương 7: Lập trình MATLAB • C hương 8: Phân tích động học cấu • C hương 9: Lý thuyết điểu khiển tự động Kết thúc mơi chương, sinh viên có th ể tự ôn tập cung cố kiến thức học qua m ục tổng hợp lệnh chương tập có lời giải tương ứng Đối vói nhữ n g tập khơng có lời giải chi tiết, sinh viên có thê trao đổi với giảng viên buổi thực hành Ngoài đ ể cung cấp thông tin định hướng cho sinh viên m uôn tìm hiểu thêm cơng cụ d ù n g cho nhữ ng ứ ng d ụ n g chuyên sâu (Toolbox), m ột số công cụ phô biến giới thiệu tóm tắt phần phụ lục C ác tác g iá PHANI MATLAB CO BÄN Chương M Ở ĐẦU 1.1 Giói thiệu MATLAB MATLAB (MATrix LABoratory) phần m ềm M ath W orks có trụ sở Natick, cơng ty M assachusetts, Mỹ (w w w m athw orks.com ), ứng d ụ n g rộng rãi lĩnh vực khoa học, kỹ thuật, đặc biệt điều khiển tự động xử lý tín hiệu số MATLAB p h át triển bời Cleve M oler vào cuối nhữ n g năm 70 th ế kỷ trước sở th viện nguồn LINPACK EISPACK FORTRAN N hữ ng phiên đẩu tiên cùa MATLAB chủ yếu phục vụ cho tính tốn xử lý m a trận v giải phư ng trình đ ại SƯ tu yến tính H iện nay, MATLAB biết đến n h m ột cơng cụ có khả xử lý đổ họa m ạnh (Theo PC Magazine Encyclopedia) Giao diện MATLAB Khi khởi động, MATLAB giao diện mặc định hình 1.1, bao gồm cửa sổ: • C urrent Folder: Thư m ục hành, cho phép truy xuất tói file chứa • C om m and W indow: Cửa sô lệnh, người d ù n g có th ể nhập lệnh cửa sổ từ sau d ấu nhắc ( » ) • W orkspace: Khơng gian n h ó MATLAB, dùng đ ể lưu trữ d ữ liệu biên m ột phiên làm việc MATLAB • C om m and History: Lịch sử lệnh thực hiện, cho phép xem thực lại nhữ n g lệnh nhập vào C om m and W indow trước 266 MATLAB VÄ LfNG DUNG TRONG CO KY THUÄT Khai bäo theo mö hinh häm truyen voi cäc da thiic tir so' vä da th u c m äu so: >>syms s >>nG = sym2poly(30*(s+ 1)* (s+3+7i)* (s+3-7i))/ >>dG = sym2poly((s+1)* (s+3)* (s + 5)* (s+3+7i)* (s+3- 7i) ) ; >>G = tf (nG, dG) Nyquist Dagram 1.5 50 I £ Cü 0.5 o C CD - -0.5 1.5 -0.5 0.5 Real Axis 1.5 Hinh 9.13 D o th i iNyquist cüa h£ Nichols Chart 40 dB 0.25 dB 0.5 dB dB 20 -1 dB dB dB S ~ p -3dB -6 dB •S a o o -12 dB -20 -20 dB -40 dB O -60 -80 ■360 -60 dB -80 dB -315 -270 -225 -180 -135 -90 Open-Loop Phase (deg) Hinh 9.14 Do th i N ichols cüa he -45 Chương Lý thuyết điểu khiển tự động 267 Khai báo theo điếm không, điểm cực đưa mơ hình hàm truyền, đa thức tử số đa thức m ẫu số biêu diễn dạng vector hệ sô: >>z = [-1 -3-7 >>p = [-1 -3 >>k = 30; »[num, i 7i ] -3 + -5 '; - - i-3 +7i ] ' ; den] = zp2tf(z, p, k) num = 0 30 15 135 210 1920 1740 den = 675 1424 870 So sánh hàm truyền khai báo lệnh tf »G Transfer function: 30 S A5 + 15 + S A3 S A4 + 210 135 + S A2 s"3 + Vẽ đồ thị Nyquist: >>nyquist(G) Hoặc có th ể sử dụng lệnh: >>nyquist(num, den) Vẽ đổ thị Nichol: >>nichol(G) >>ngrid Hoặc có th ể sử dụng lệnh: >>nichoìs(num, den) 1920 675 s + S A2 + 1740 1424 s + 870 PHỤ LỤC _ • _• MỘT SỐ BỘ CÔNG CỤ ỨNG DỤNG CHUYÊN SÂU TRONG MATLAB • • • • S im u lin k Sim ulink môi trường sơ đổ khôi cho phép thiết k ế mơ phòng m ô hình Bên cạnh chức mô phỏng, Sim ulink hỗ trợ người dùng việc thiết lập tự động đoạn mã, kiểm thử liên tục xác nhận hệ thống nhúng Sim ulink cho phép xừ lý đổ họa dạng sơ đồ khối, thiết lập th viện khối n h cung cấp giải pháp mơ hình, mơ phòng hệ động lực Sim ulink tích hợp với MATLAB cho phép người sử dụng kết hợp thuật toán MATLAB vào m xuất kết mơ MATLAB cho bưóc phân tích khác M ột số tính Simulink - Xây d ự n g m hình hệ thống phụ phân cấp với khối định nghĩa sẵn - Mô động lực mơ hình kiểm tra kết q dạng chạy mơ phòng - Phân tích kết mơ phòng: xem gỡ lôi m ô - Q uản lý d ự án: dê dàng quản lý file n h liệu thành p h ần d ự án - Kết nôi vơi p h ần cứng với m hình cho bưóc kiểm tra thời gian thực p h át triển hệ thống nhúng 270 MATLAB VÄ l/NG DUNG TRONG CÖ KY THUÄT ^ S rm u lin lc F ile a S3 Library B r o w s e r E d it V ie w » H e lp E n te r s e a r c h te rm ftr a r y L»w anes - ¿ ¿ j 5«nuirn S n u l r k / C o m m o n ly U s e d B lc cfc s S e a r c h R e s u lts in o ‘ j * J - j m C o m m o n ly U s® d B l o c t s D s c o n tru re s D is c r e te - L o g ic a n d Bit O p e r a t i o n s M ath O p e r a t i o n s U c d e i V e r if ic a tio n a © M o d e l-W id e U t i t l e s P o r ts & S u b s y s t e m s C p *» » tc* < JD Q L o o k u p T a b le s L o g ic a l in te g to r \ C o n tn u o u s R * l« t ir n i' Cp*r*tG< S ^ n a l A ttn o u te s S ^ n a l R o u tn g j S ilk * S o u rc e s ill I S w it d i U s e r - D e f in e d F u n c t i o n s _ ♦ A riilg in rm l H a t h A S h o w in g _ , i S m u tn k /C o m m o n ly U s e d B l o c t s Hinh PA T h u vién S im u lin k Sim M echanics SimMechanics cung cap möi tru o n g mo phong he nhieu vat cho he thong co khí 3D n h u robot, he thong giám xóc xe, thiet bi xäy d u n g cüng n h u he thong cánh cua may bay N guoi sir d u n g mo hinh hóa he nhieu vat vói khoi dai dien cho khäu, khóp, lien ket, vä luc phan, phan viec tiep theo cua SimM echanics la thiet lap vä giái phucrng trinh dong hoc cho toan bo co he Mó hinh xáy d u n g t u chuong trinh thiet ke vói su hó tro cua m áy tính CAD bao gom yeu to n h u khoi luprig, qn tính, khóp, lien ket va thiet ke hinh hoc 3D déu có the duoc d u a váo va xú ly SimMechanics M ot mó phóng 3D cua mó hinh dong lire hoc duoc thiet lap mot cách tu dong cho phép nguói sü dung quan sát chuyen dong cua mó hinh N guói sü dung có the thiet lap thóng so dac trung cho mó hinh vói bien cüng n h u p h iían g p h áp biéü dién MATLAB, dong thói thiet ke he dieu khien cho mó hinh he nhieu v¿it Simulink Bén canh dó, phan dien, thüy luc, khí n én cüng có thé d u a c d u a váo mó hinh co khí bang Simscape vä kiem tra tat cá thänh p h än m ót mó hinh mó phong rieng Dé trien khai mó hinh thiet ké mói tru ó n g mó phong khác, bao gom cá ky thuat phän cüng vóng lap HIL (hardw are-in-the-loop), SimM echanics ho tro ngtrai d üng thiet lap doan m ä C vói Sim ulinkCoder Phụ lục 271 ■AUkIntuIFwfem■MxKwilipltm {* I f ô * ^1 > y ằ • 4< I« * l»hi4.|wl C«n cv ' ■ ' c r ; 63 e** Z t^ C n T o p l » - » * * □ «S M jM O jM d M « o r £ ã !'* u« ĩ « * iM— — — gsqpB&i * ỏ Mô> -ằ *p to y ob Sm '>npr G*M*r«J [H u o cr c W i ift I»r.i I * * '■*»' ■ Ỵ ■ : » -Ĩ i a ặ'it.ss & M * loô" '.' l i t tax v*tt OiM y uô?am u V *ô * «»»r- IV« I T ,‘ ị «»• ^ ' trôv BK-I T ti to w fô I 'ĩ , i ft*v £ «*n=0.ic(0>s I ) X O ) o6t’ < r ‘‘O ' I xiO • 0, W » ' ; : * A r V X K n / /, • o *•» a- * tr^ế n\ I-/U ««1J «a e tor ODE and extract «»spldcemeni