Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
1,04 MB
Nội dung
MATLAB CĂ N BẢ N & Ứ NG DỤNG CH http://www.ebook.edu.vn -1- NG GI I THI U V MATLAB MATLAB s n phẩm phần mềm c a công ty MathWorks Inc u điểm b t c a MATLAB kh nĕng tính tốn biểu di n đồ ho kỹ thu t nhanh chóng, đa d ng xác cao Th vi n hàm c a MATLAB bao gồm nhiều ch ng trình tính tốn con; Các ch ng trình giúp ng i s dụng gi i quy t nhiều lo i toán khác nhau, đặc bi t toán ma tr n, s ph c, h ph ng trình n tính nh phi n MATLAB cho phép x lý d li u biểu di n đồ ho không gian 2D 3D với nhiều d ng đồ thị thích hợp, giúp ng i s dụng trình bày k t qu tính tốn cách tr c quan thuy t phục h n Thêm vào đó, phiên b n MATLAB ngày phát triển nhiều module phần mềm bổ sung, gọi Toolbox (bộ công cụ) với ph m vi ch c nĕng chuyên dụng cho t ng chuyên ngành cụ thể Tài li u giới thi u cách s dụng MATLAB phần cĕn b n ng dụng công cụ Control system toolbox SIMULINK để mơ ph ng, phân tích động học h th ng điều khiển Các ví dụ hình minh ho tài li u đ ợc th c hi n với phiên b n MATLAB Release 14 1.1 KH I Đ NG • • Nhắp đúp chuột vào biểu t ợng MATLAB hình Desktop; : Chọn Start > Programs > MATLAB 7.0 > MATLAB 7.0 1.2 MÀN HÌNH MATLAB Sau kh i động MATLAB ta thu đ ợc hình MATLAB, bao gồm c a sổ tích hợp nh hình d ới : W or k sp a ce Com m a n d H ist or y - 2- Biên So n : NGUY N TH HÙNG C a sổ l nh Command Window : Đây c a sổ c a MATLAB T i ta th c hi n toàn vi c nh p l nh nh n k t qu tính tốn Dấu >> dấu đợi l nh Sau nh p l nh k t thúc động tác nhấn phím ENTER, MATLAB s x lý l nh xuất k t qu liền d ới dịng l nh Ví dụ : >> a=5*2+6 (nh p l nh nhấn Enter ) a= (k t qu ) 16 C a sổ Command History : Tất c l nh s dụng Command Window đ ợc l u gi hiển thị t i Có thể lặp l i l nh cũ cách nhắp đúp chuột vào l nh Cũng cắt dán, chép, xố c nhóm l nh t ng l nh riêng r C a sổ Workspace Browser : Khái ni m Workspace (không gian làm vi c) vùng nhớ động nhớ c a ch ng trình, t động hình thành MATLAB đ ợc kh i động t động xóa MATLAB Workspace l u gi bi n ta s dụng MATLAB Tất c bi n tồn t i Workspace đ ợc hiển thị t i c a sổ Workspace Browser với thông tin tên bi n, giá trị, kích cỡ Byte lo i d li u C a sổ th mục hi n hành Current Directory : Đ ợc hiển thị nhắp chuột vào ô Current Directory Nh c a sổ ng i s dụng nhanh chóng nh n bi t th mục t p tin (file) có th mục hi n hành Các thao tác m file, l u file, tìm M-file để th c thi có m c u tiên cao cho th mục hi n hành Mặc định kh i động MATLAB th mục hi n hành ' \Th mục cài đặt MATLAB\work' Tên th mục hi n hành đ ợc rõ toolbar (vị trí ) Trên cách hiển thị tổ hợp c a sổ hình MATLAB Tùy theo thói quen nhu cầu s dụng, ng i dùng thay đổi linh ho t cách hiển thị thông qua menu Desktop > Desktop layout > (Với phiên b n tr ớc nh MATLAB R12 MATLAB 6.5 R13 chọn menu View > Deskstop Layout >…) 1.3 TI N ÍCH TRỢ GIÚP Ti n ích trợ giúp (Help) c a MATLAB phong phú Có thể gọi t menu help menu nh p l nh t i Command window theo cú pháp: help tênl nh doc tênl nh % xem trợ giúp t i command window % xem trợ giúp c a sổ Help Ví dụ, để tìm hiểu ch c nĕng cách dùng c a l nh input ta nh p : >> help input : >> doc input Ngoài ra, xem ví dụ minh ho có sẵn MATLAB cách nh p l nh demo 1.4 THOÁT KH I MATLAB Th c hi n cách sau : góc trên, ph i c a hình MATLAB • Nhắp chuột vào nút • Chọn menu File > Exit MATLAB • Nhấn tổ hợp phím Ctrl + Q • >>quit >>exit MATLAB CĂ N BẢ N & Ứ NG DỤNG http://www.ebook.edu.vn -3- 1.5 TÍNH TỐN T I COMMAND WINDOW Với toán đ n gi n, cần dùng câu l nh MATLAB, th cách tr c ti p nh p t ng l nh t i c a sổ Command window ng gi i Ví d : Tính thể tích hình hộp : a=5m b=2m h=4m h b a T i dấu nhắc l nh ta nh p: >> 5*2*4 MATLAB s tính hi n k t qu : ans= 40 ans – bi n mặc định c a MATLAB dùng để ch a d li u hay k t qu tính tốn n u ng i dùng khơng đặt tên S dụng dấu = ta khai báo bi n, đồng th i gán giá trị cho bi n Các bi n đ ợc phân bi t với b i tên bi n >> a=5; b=2; h=4; >> S=a*b S = 10 >> V= S*h V = 40 % di n tích đáy % thể tích a, b, h, S, V – bi n ng i dùng đặt tên (user variable) Quy t c đ t tên bi n: + Tên bi n ph i bắt đầu kí t ch K ti p ch , s dấu _ + Không đ ợc dùng kho ng tr ng dấu ( ),' ,*,-,&,@ ,… + Có s phân bi t ch hoa ch th ng Ví d : Tên bi n hợp l : a; b; A; A1; A2; chieu_cao; TT; TT_1; TT_2 Tên bi n không hợp l : 1B; 2B; G(s); G'; G*, chieu cao; chieu-cao Các tên bi n sau khác nhau: S; s ; the_tich; The_tich; THE_TICH Lưu ý: - Không nên đặt tên bi n trùng với bi n đặc bi t c a MATLAB nh : pi (s 3,14159…), i hay j (s o đ n vị), inf (s ∞), NaN hay nan (s bất định 0/0) - Chiều dài t i đa (hay s ký t t i đa) c a tên bi n kiểm tra l nh : >> namelengthmax ans =63 Biên So n : NGUY N TH HÙNG - 4- M t s l u ý nh p l nh: - Bình th ng MATLAB ln hiển thị k t qu c a câu l nh hình N u mu n MATLAB không hiển thị k t qu cu i câu l nh ta đặt thêm dấu chấm phẩy (;) - Nhiều câu l nh đặt chung dòng nh ng bắt buộc ph i phân cách b i dấu phẩy (,) chấm phẩy (;) Không cho phép phân cách l nh kho ng tr ng N u cu i l nh có dấu phẩy MATLAB hiển thị k t qu , cịn dấu chấm phẩy khơng hiển thị k t qu ví dụ trên, n u nh p l nh : >> S=a*b; V=S*h MATLAB hiển thị giá trị c a V, không hiển thị giá trị c a S - Các phím mũi tên ↑ ↓ ← → bàn phím h u ích nh p l nh Để gọi l i l nh v a gõ, b n nhấn phím mũi tên ↑, ti p tục nhấn phím này, s gọi ti p l nh tr ớc Phím mũi tên ↓ có tác dụng ng ợc với ↑ Các phím mũi tên ← → dùng để thay đổi vị trí tr dòng l nh t i dấu nhắc c a MATLAB, giúp b n d dàng chỉnh s a nội dung dòng l nh Xem n i dung c a Workspace: Cách 1: Vào c a sổ Workspace Browser xem danh sách li t kê Cách 2: Dùng l nh who whos >> who % li t kê tên bi n có Workspace hình Command Your variables are: S V a ans b h >> whos % li t kê c tên bi n thông tin liên quan Name Size Bytes Class S 1x1 double array V 1x1 double array a 1x1 double array ans 1x1 double array b 1x1 double array h 1x1 double array Grand total is elements using 48 bytes L u n i dung c a Workspace thành t p tin d li u : - Cách 1: Vào menu File > Save Workspace As > chọn th mục khác (n u cần) > nh p tên t p tin > ấn nút Save T p tin d li u có tên tổng quát *.mat - Cách 2: Nh p l nh >>save ' đường dẫn\ tênfile.mat ' Ví dụ: >>save ' C:\ MATLAB 7\ Work \ mydata1.mat ' N u b n không nh p đ ng d n mặc định l u vào th mục hi n hành Tải n i dung c a m t t p tin d li u vào l i Workspace : - Cách 1: Vào menu File > Import Data > MATLAB Data File (*.mat) > chọn tên t p tin > ấn nút Open - Cách 2: Nh p l nh >>load ' đường dẫn\ tênfile.mat ' - Cách 3: Vào c a sổ Current Directory, nhắp đúp chuột vào tên t p tin cần m MATLAB CAÊ N BẢ N & Ứ NG DỤNG http://www.ebook.edu.vn -5- Thao tác bi n có Workspace : • • Xem l i giá trị c a bi n: Gõ tên bi n t i dấu nhắc l nh >> tênbi n >> tênbi n_1, tênbi n_2, , tênbi n_n % gi a tên bi n có dấu phẩy Chỉnh s a giá trị có c a bi n : Gõ l nh gán Ví dụ, thay đổi giá trị chiều cao h (đang 4) thành tính l i thể tích : >> h=6 h= >>V=S*h • • V=60 Xố s ch nội dung có hình Command window (nh ng khơng xố bi n) đ a tr đầu hình : >> clc Xố s bi n : >> clear tênbi n_1 tênbi n_2 tênbi n_n % ý tr ng hợp này, gi a tên bi n có kho ng tr ng Ví dụ, để xố hai bi n S V ta gõ l nh : • >> clear S V Xoá h t bi n Workspace : >> clear Các thao tác xem nội dung, xoá, l u, đổi tên, chỉnh s a giá trị (edit value) c a bi n th c hi n t i c a sổ Workspace Browser Thao tác th m c: • Xem đ ng d n tên th mục hi n hành: >> cd Khi kh i động MATLAB7, th mục hi n hành mặc định 'C:\MATLAB7\work' • T o th mục : >> mkdir('đ ng d n', 'tên th m c m i') Ví dụ: >> mkdir('C:\matlab7\work','Nguyen Van A') N u b n khơng nh p đ ng d n mặc định l u vào th mục hi n hành Lưu ý: tên th mục cho phép có kho ng tr ng gi a t , nh ng tên bi n tên file khơng đ ợc phép B n nhắp ph i chuột c a sổ Current Directory, chọn new > folder > nh p (gõ) tên th mục mu n t o > nhấn Enter • Chuyển th mục t o tr thành th mục hi n hành : >>cd 'C:\matlab7\work','Nguyen Van A' >>cd 'Nguyen Van A' B n th c hi n cách vào c a sổ Current Directory, nhắp đúp chuột vào tên th mục cần chuyển (ví dụ th mục 'Nguyen Van A') • Chuyển lên th mục cấp : >> cd % gi a cd có kho ng tr ng - 6- Biên So n : NGUY N TH HÙNG CH NG M-FILE Trong MATLAB, M-file file ch ng trình đ ợc so n th o l u d ng vĕn b n Có hai lo i M-file Script file (file l nh) Function file (file hàm) C hai có phần tên m rộng ".m " MATLAB có nhiều M-file chuẩn đ ợc xây d ng sẵn Ng i dùng t o M-file tuỳ theo nhu cầu s dụng 2.1 L P TRÌNH D NG SCRIPT FILE Thay nh p th c thi t ng câu l nh t i c a sổ Command window, b n so n l u tất c câu l nh cần thi t để gi i toán vào Script file Sau b n cần gõ tên file để th c thi toàn ch ng trình 1) M c a sổ Editor : Cách 1: Trong command window gõ l nh edit Cách 2: Vào menu File >New >M-File Cách 3: Nhắp chuột vào icon (icon toolbar) vùng soạn thả o 2) So n th o Cấu trúc t ng quát c a m t Scrift file : KH I CÁC CÂU GI I THÍCH CH NG TRÌNH Ký hi u m đầu : % CH NG TRÌNH DÙNG LÀM GÌ, AI VI T, ĐÂU, KHI NÀO ? KH I CÁC CÂU L NH NH P D LI U L nh gán, l nh input, tênbi n = ; tênbi n = input('l i nhắc'); KH I CÁC CÂU L NH X LÝ Các l nh x lý Các biểu th c tính tốn THEO TRÌNH T THU T TỐN MATLAB CĂ N BẢ N & Ứ NG DỤNG • • • http://www.ebook.edu.vn -7- Ký hi u % dùng bất c chỗ ch ng trình để t o câu ghi chú, gi i thích Các câu ghi đặt phía dịng l nh s hi n hình b n gõ l nh help tênfile L nh gán : dùng để gán giá trị cho bi n Cú pháp: tênbi n = L nh input : dùng để nh n giá trị t bàn phím Cú pháp: tênbi n = input('l i nh c') Ví dụ: a=input('Nhap chieu dai a:') Khi th c thi, MATLAB s hi n dịng nhắc : Nhap chieu dai a: sau ch ng i dùng nh p giá trị s t bàn phím, nh n giá trị v a nh p gán vào bi n a Ví d 1: So n th o t p tin vd1.m với nội dung nh sau : % Chuong trinh tinh the tich hinh hop % DHSPKT, 10/2004 % Nguoi viet: Nguyen Van A % - KH I GI I THÍCH a = input('Nhap chieu dai a:'); b = input('Nhap chieu rong b:'); h = input('Nhap chieu cao h:'); KH I NH P D LI U S=a*b; V=S*h KH I X LÝ D LI U % Dien tich day % The tich 3) L u: Vào menu File > Save > đặt tên t p tin > nhắp nút save T p tin Scrift file có phần m rộng ".m", đ ợc l u vào th mục hi n hành N u khơng có s l a chọn khác th mục hi n hành đ ợc mặc định th mục work c a MATLAB Tên tập tin phải bắt dầu ký tự chữ, khơng có khoảng trống ký tự (gi ng nh quy định tên bi n) L u ý kiểm tra tắt phần mềm gõ ti ng Vi t nh Vietkey, Unikey,…n u cần 4) Gọi th c hi n SCRIPT FILE: Cách 1: Trong c a sổ so n th o nhắp chuột vào nút run toolbar Cách 2: Tr hình Command window gõ tên file (khơng có phần m rộng m), sau nhấn Enter để thực thi Ví dụ để th c thi file "vd1.m " v a t o, t i dấu nhắc l nh ta gõ : >> vd1 L u ý dù gọi th c hi n theo cách hay cách MATLAB xuất k t qu tính tốn t i c a sổ Command Window 5) M M-file có để xem l i hay chỉnh s a: Cách 1: Trong c a sổ Editor Command window, vào menu File >open >… Cách 2: Vào c a sổ Workspace, nhắp đúp chuột vào tên M-file cần m Cách 3: T i Command window, gõ l nh edit ('đ ng d n\tên file') - 8- Biên So n : NGUY N TH HÙNG 2.2 L P TRÌNH D NG FUNCTION FILE T ng t nh toán học, hàm (function) MATLAB s nh n vào giá trị c a đ i s tr giá trị t ng ng c a hàm Trình t t o th c thi file hàm bao gồm b ớc nh sau: 1) M c a sổ Editor : th c hi n t ng t nh Scrift file 2) So n th o: Cấu trúc chuẩn c a m t hàm: function [danh sách tham số ra] = tên hàm (danh sách tham số vào) % kh i câu ghi chú, gi i thích câu l nh x lý 1; câu l nh x lý 2; tham s = biểu th c tính 1; tham s = biểu th c tính 2; • • Tham s (cũng gọi tham bi n) dùng để ch a k t qu x lý c a hàm Khi gọi th c hi n hàm ta thay chúng tên bi n cụ thể Tham s vào (cũng gọi tham trị, hay đ i s ) bi n hàm mà s nh n giá trị vào cụ thể gọi th c hi n hàm Tên tham s vào, phần danh sách đ ợc phân cách dấu phẩy N u có tham s không cần dùng dấu ngoặc vuông [ ] 3) L u: nh cách l u c a Scrift file Khi l u hàm, MATLAB s lấy tên hàm làm tên file, ng i l p trình khơng nên sửa lại tên để tránh l n lộn gọi th c hi n hàm 4) Gọi th c hi n Function file: t c a sổ Command th c hi n nh sau: N u có tham s ra: >> tênbi n = tênfile (danh sách giá trị vào) N u có nhiều tham s ra: >> [tênbi n1, tênbi n2, ] = tênfile (danh sách giá trị vào) Ví d 2: T o t p tin tt_hinhhop.m function V = tt_hinhhop(a,b,h) % chuong trinh tinh the tich hinh hop % biet cac canh a(dai),b(rong),h(cao) S=a*b; V=S*h; Th c thi Command window : >> TT=tt_hinhhop(5,2,4) TT = 40 % tham bi n V đổi tên tuỳ ý, ví dụ đổi TT MATLAB CĂ N BẢ N & Ứ NG DỤNG http://www.ebook.edu.vn -9- Chú ý: - Khi b n gõ l nh help tênfilehàm câu ghi phía dòng khai báo function d ới dòng function nh ng tr ớc dòng l nh file hàm s đ ợc hi n hình - Khi gọi th c thi file hàm ta dùng tên file, khơng phải tên hàm Do n u dụ ta đặt tên file "vd2.m" th c thi ph i dùng l nh: >> TT=vd2(5,2,4) Ví d 3: T o file hàm dttt_hinhhop.m với tham s % CTr tinh dien tich day va the tich hinh hop % biet cac canh a(dai),b(rong),h(cao) function [S,V] = dttt_hinhhop(a,b,h) S=a*b; % dien tich day V=S*h; % the tich Th c thi Command window : >> [DT,TT] = dttt_hinhhop(5,2,4) % Các tham bi n S,V đổi tên tuỳ ý DT = 10 TT = 40 Ví d : T o file hàm change.m % chương trình đổi độ sang radian function rad = change(do) rad=do*pi/180; Th c thi Command window : >> rad = change (30) rad = 0.5236 ví - 10- Biên So n : NGUY N TH HÙNG Đ c m c a hàm : Các hàm thông tin với MATLAB thông qua bi n truyền vào cho bi n mà t o thành, bi n trung gian bên hàm khơng t ng tác với mơi tr ng MATLAB Khi MATLAB th c hi n lần đầu file hàm, s m file dịch dịng l nh c a file d ng mã l u nhớ nhằm mục đích tĕng t c độ th c hi n l i gọi hàm ti p theo N u sau khơng có s thay đổi M file, q trình dịch s khơng x y lần th hai N u hàm có ch a l i gọi hàm M-file khác hàm đ ợc dịch vào nhớ Bằng l nh clear function ta xố c ỡng b c hàm dịch, nh ng v n gi nguyên M-file Mỗi hàm có khơng gian làm vi c riêng c a (local workspace), tách bi t với mơi tr ng MATLAB (s dụng base workspace), m i quan h gi a bi n hàm với mơi tr ng bên ngồi bi n vào c a hàm N u b n thân bi n c a hàm bị thay đổi s thay đổi tác động bên c a hàm mà khơng làm nh h ng đ n bi n c a môi tr ng MATLAB Các bi n c a hàm s đ ợc gi i phóng sau hàm th c thi xong nhi m vụ, v y khơng thể s dụng thông tin c a lần gọi tr ớc cho lần gọi sau Các hàm s dụng chung bi n với hàm khác hay với môi tr ng MATLAB n u bi n đ ợc khai báo bi n tồn cục Để truy c p đ ợc bi n bên hàm bi n ph i đ ợc khai báo bi n toàn cục hàm s dụng Một M-file ch a nhiều hàm Hàm (main function) M-file ph i đ ợc đặt tên trùng với tên c a M-file Các hàm khác đ ợc khai báo thông qua câu l nh function đ ợc vi t sau hàm Các hàm (local function) đ ợc s dụng b i hàm chính, t c ngồi hàm khơng có hàm khác gọi đ ợc chúng Tính nĕng cung cấp gi i pháp h u hi u để gi i quy t t ng phần c a hàm cách riêng r , t o thu n lợi cho vi c l p file hàm để gi i tốn ph c t p Ví d : T o file hàm tinh_gia_tien.m có nội dung sau function gia = tinh_gia_tien(L,d) % CTr tinh gia tien khoi thep hinh tru % biet chieu dai L (mm),duong kinh d (mm) %====================================================== gama=7800; % khoi luong rieng (kg/m^3) gia_don_vi= 10000; % (dong/kg) TT= tt_hinhtru(L,d) % (mm^3) TT=(1e-9)* TT % (m^3) gia= gia_don_vi*gama*TT; % dong %====================================================== % Local function (ham con) function V = tt_hinhtru(L,d) V=L*pi*d^2/4; % the tich (mm^3) - 66- Biên So n : NGUY N TH HÙNG 7.5 Quỹđạo nghiệm Quỹ đ o nghi m (hay biểu đồ nghi m) t p hợp nghi m c a ph ng trình đặc tính, thể hi n mặt phẳng ph c, độ khu ch đ i K bi n thiên t đ n +∞ Ph ng pháp quỹ đ o nghi m dùng để kh o sát nghi m c a ph ng trình đặc tính c a h kín nh hàm c a h s khu ch đ i K Nó khơng nh ng cho bi t h th ng có ổn định hay khơng, mà cịn cho bi t h s gi m chấn hay tỉ s tắt dần dao động Các l nh th ng dùng để v kh o sát quỹ đ o nghi m : L NH Ý NGHĨA rlocus(SYS) V quỹ đ o nghi m root =rlocus(SYS,K) Tính xuất dãy giá trị nghi m ng với K cho tr ớc [root,K]=rlocus (SYS) Tính xuất dãy giá trị K dãy nghi m t rlocfind Chọn K cách nhấn chuột biểu đồ nghi m ng ng pzmap(SYS) T o đ ng l ới c a gi m chấn ξ tần s riêng ωn Tính v vị trí c c zero c a h th ng [P,Z]=pzmap(SYS) Tính xuất vect P, Z ch a giá trị điểm c c zero sgrid Để t o ti n ích cho ng i dùng, Matlab hỗ trợ công cụ SISO Design Tool Đây công cụ thi t k h SISO theo ph ng pháp quỹ đ o nghi m k t hợp với biểu đồ Bode Áp dụng cho h nêu phần tr ớc ta d dàng xác định đ ợc trị s K để h giới h n ổn định Đo n ch ng trình Matlab gồm câu l nh : >>olsys=tf(1,[1 3 1]); % mô t h h với K=1 >>sisotool(olsys); % vào c a sổ SISO Design T i c a sổ SISO Design ta nh p giá trị độ khu ch đ i K vào ô C(s) dùng chuột di chuyển núm vuông biểu đồ quỹ đ o nghi m (t ng ng với vi c thay đổi trị s độ khu ch đ i k), ta d dàng tìm đ ợc giá trị K=8 h biên giới ổn định với độ d tr ổn định G.M ≈ dB Độ khu ch đ i tĕng, độ d tr ổn định âm, t c h ổn định MATLAB CĂ N BẢ N & Ứ NG DỤNG http://www.ebook.edu.vn -67- 7.6 Giao diện LTIView er Giao di n đồ ho LTIViewer đ ợc kích ho t l nh ltiview Với giao di n LTIViewer b n lúc kh o sát đặc tính động học c a nhiều h th ng n tính bất bi n, đ i với h th ng l i v đ ợc tất c d ng đặc tính động học Do v đ ợc c a sổ nên b n d dàng nh n thấy đ ợc m i liên h gi a d ng đặc tính động học, ví dụ đáp ng xung đ o hàm c a đáp ng b c thang, đỉnh cộng h ng biểu đồ Bode có biên độ cao độ vọt l đáp ng b c thang cao, s liên h gi a biểu đồ Bode biểu đồ Nyquist,… Một s cách th ng dùng c a l nh ltiview : L NH Ý NGHĨA V biểu đồ định b i tham s PLOTTYPE PLOTTYPE 'step', 'impulse', 'nyquist', ltiview(PLOTTYPE, SYS) bode',… tổ hợp {'step'; 'impulse'; 'nyquist'; bode',…} ltiview(SYS1,SYS2,…,SYSN) V biểu đồ step c a nhiều h th ng V biểu đồ định b i PLOTTYPE c a ltiview(PLOTTYPE,SYS1,SYS2,…,SYSN) nhiều h th ng Ví d : >> G=tf(10,[1 10]) Transfer function: 10 -s^2 + s + 10 >> ltiview({'step';'impulse';'nyquist';'bode'},G) T menu edit t popup-menu nhắp chuột ph i c a sổ LTIViewer, b n chọn l a thi t đặt cấu hình nh s l ợng đồ thị, lo i đồ thị, hiển thị tắt hiển thị thông s chất l ợng đồ thị,… - 68- Biên So n : NGUY N TH HÙNG BÀI T P TH C HÀNH Ch ng 1&2 1) Th c hi n lần l ợt b ớc sau đây: - Kh i động phần mềm MATLAB, kiểm tra tên th mục hi n hành cách quan sát ô Current Directory Toolbar gõ l nh >>cd - T o th mục có tên tên bạn (Ví dụ: 'Tran Van Tuan'), vị trí th mục nằm th mục work c a MATLAB - Chuyển th mục t o tr thành th mục hi n hành - Kiểm tra l i tên th mục hi n hành ô Current Directory Toolbar 2) Trong Command window, th c hi n lần l ợt yêu cầu sau: a Đặt tên bi n để biểu di n: chiều dài, chiều rộng, chiều cao th c hi n phép gán: chiều rộng= (cm); chiều dài=4 (cm); chiều cao= (cm) b Tính di n tích mặt đáy thể tích hình hộp với thông s c M c a sổ Workspace dùng l nh whos kiểm tra l i k t qu tính L u nội dung c a Workspace thành t p tin bai2_data.mat (L u ý kiểm tra tắt phần mềm gõ ti ng Vi t nh Vietkey, Unikey, để tránh lỗi nh p tên t p tin) d Quan sát c a sổ Current Directory để chắn t p tin bai2_data.mat có e Xố tất c bi n Workspace hi n hành M l i t p tin bai2_data.mat kiểm tra l i bi n f Thay đổi giá trị bi n chiều rộng, chiều dài, chiều cao tuỳ ý Th c hi n l i phép tính ( L u ý: Có thể thay đổi l nh gán c a sổ Command Window thay đổi tr c ti p c a sổ Workspace ) 3) Th c hi n l i SCRIFT FILE với yêu cầu giá trị chiều rộng, chiều dài, chiều cao đ ợc nh p t bàn phím 4) Th c hi n l i FUNCTION FILE với chiều rộng, chiều dài, chiều cao đ i s c a hàm Các giá trị hàm tr là: a Thể tích c a hình hộp ch nh t b Di n tích mặt đáy thể tích hình hộp ch nh t 5) S dụng SCRIFT FILE SCRIFT FILE vi t ch ng trình tính kh i l ợng c a chi ti t máy hình trụ tr n làm v t li u thép có kh i l ợng riêng 7,8 kg/dm3 6) Cho ph ng trình b c hai ax + bx + c = a Th c hi n phép gán t Command window a=1; b=-8; c=15 Tính nghi m c a ph ng trình b T ng t với a=1 ; b=2; c =13 c Thay đổi tuỳ ý giá trị a, b, c Tính nghi m c a ph ng trình 7) S dụng SCRIFT FILE gi i ph ng trình b c hai với a, b, c đ ợc nh p t bàn phím 8) S dụng FUNCTION FILE gi i ph Giá trị hàm tr hai nghi m ng trình b c hai với a, b, c đ i s c a hàm 9) Vi t file hàm tính chu vi di n tích tam giác bi t độ dài c nh 10) Vi t đo n ch ng trình tính thể tích hình lĕng trụ đ ng, hình t di n đều, hình chóp, hình chóp cụt, hình nón, hình nón cụt, hình trụ, hình cầu MATLAB CĂ N BẢ N & Ứ NG DỤNG Ch http://www.ebook.edu.vn -69- ng 1) S dụng hàm tốn học c b n có tài li u để th c hi n phép tính sau : (a) (b) 625 ; −9 ; 100 e ; e ; e –1 ; e −∞ (h) 2sin(π/5) arctg2(3) (i) (c) ( 1/2)e i5 (d) (3 + 2i) i30° (j) x (e) a với a=8.10-4 x=3/4 (f) 0/0 ; 1/0 ; 1/∞ (g) 5−2.210 ln 5.lg (k) (l) sin(30°)cos(45°) sin(30°) sign(sin(5π / 3).cos(135°)) cos 2sin 2 − sin(−30°) e (1 − cos ) 3/ 2) Cho bi n x đ ợc gán giá trị tuỳ ý t bàn phím (x s vect ).Vi t scrift file tính giá trị c a hàm s sau: e x + e− x f1 (x) = ; f (x) = cosh(x) e x − e− x g1 (x) = ; g (x) = sinh(x) Ch y ch 3) Vi t ch ng trình Nh n xét k t qu gi i thích ? ng trình tính giá trị c a biểu th c sau : h(t) = − e −2 t − e−9 t 7 y(t) = + e Ch y ch − 11 t ⎡1 ⎛7 ⎞ ⎛ ⎞⎤ ⎢ sinh ⎜ t ⎟ − cosh ⎜ t ⎟ ⎥ ⎝ ⎠ ⎝ ⎠⎦ ⎣ ng trình với bi n t đ ợc gán giá trị tuỳ ý (t s vect ) Nh n xét k t qu gi i thích ? 4) Cho hai s ph c : z1 = + 2i z = 3ei45° Hãy th c hi n MATLAB phép toán sau với hai s ph c (a) z1 + z (b) z1 − z (c) z1 * z (d) z1 / z (e) Tính mơđun góc pha c a z1 (f) Nh p z1 theo d ng môđun-pha So sánh k t qu tr với giá trị ban đầu c a z1 - 70- Biên So n : NGUY N TH HÙNG 5) Cho hai vect u = [ 8] (a) (b) (c) (d) (e) (f) ⎡1 ⎤ ⎢3⎥ v=⎢ ⎥ ⎢5 ⎥ ⎢ ⎥ ⎣7 ⎦ u, v nh sau: ; Tìm phần t lớn phần t bé c a vect u Tìm phần t lớn phần t bé phần t c a c hai vect Tìm trung bình cộng c a phần t vect u Tính tổng tích phần t c a vect u Tính tích vơ h ớng góc hợp b i hai vect u v Vi t ch ng trình cho phép ng i dùng nh p vào hai vect cột u, v tr k t qu tích vơ h ớng góc hợp b i hai vect 6) Hãy t o vect a) T p s c) T p s e) T p s f) T p s g) T p s để biểu di n t p hợp sau: t nhiên ≤ 200; b) T p s nguyên d ng ≤ 200; chẵn ≤ 200 ; d) T p s lẻ < 200; ≤ 200 bội s c a s k, với k đ ợc gán giá trị tr ớc, tuỳ ý ≤ 200 đem chia cho ln có s d ph ng ≤ 400 ; 7) S dụng hàm tổng, tích phần t c a m ng, th c hi n yêu cầu sau: (a) Cho n = 100 Tính tổng n s chẵn (ĐS: 10100) (b) Cho n = 100 Tính tổng n s lẻ (ĐS: 104 ) (c) Cho n=20 Tính tổng n s t nhiên chia h t cho 12 (ĐS: 2520) (d) Cho n=20 Tính tổng n s ph ng (ĐS: 2870) (d) Tính tổng S = 8! + 9! +10! (ĐS: 4032*103) (e) Tính tổng S = 1/3! + 1/4! + 1/5! (ĐS: 0.2167) T = + + + + 100 + 8! (ĐS: 1717) (f) Tính tổng (g) Tính tổng T = + + + + 97 + 99 + 100 (ĐS: 41545) (h) Tính tổng T = 1+ 1/2 + 1/4 + 1/8 +1/16 8) Cho ma tr n sau: ⎡ 2⎤ A=⎢ ⎥ ⎣ −1 ⎦ ; ⎡7 ⎤ B=⎢ ⎥ ⎣1 ⎦ Hãy th c hi n phép toán: (a) A *B ; B./A (b) A.^B ; B.\A (c) A*B*C ; A*B.*C (d) Tính định th c c a A, B, C (ĐS: 1.9375) ; ⎡1 + 2i − 2i ⎤ C=⎢ ⎥ ⎣ + i + 3i ⎦ MATLAB CĂ N BẢ N & Ứ NG DỤNG http://www.ebook.edu.vn -71- 9) Cho ma tr n : ⎡ 43 11 87 ⎤ A = ⎢⎢12 34 ⎥⎥ ⎢⎣ 24 18 41 ⎥⎦ S dụng phép toán m ng vect nh ( ), : , th c hi n yêu cầu sau: (a) T o vect hàng có phần t hàng c a ma tr n A (b) T o vect cột có phần t cột c a ma tr n A (c) T o vect hàng có 10 phần t hàng c a ma tr n A (d) T o vect hàng ch a phần t 10) T o ba ma tr n nh sau: ⎡5 ⎤ A = ⎢⎢1 ⎥⎥ ⎢⎣6 −10 ⎥⎦ ; cột cột c a ma tr n A ⎡11 −3⎤ B = ⎢⎢ −12 ⎥⎥ ⎢⎣ ⎥⎦ ; ⎡ 14 ⎤ C = ⎢⎢10 −2 ⎥⎥ ⎢⎣ −5 ⎥⎦ Th c hi n phép toán : (a) A+B B+A Nh n xét ? (b) A+(B+C) (A+B)+C Nh n xét ? (c) 5*(A+C) 5*A + 5*C Nh n xét ? (d) A*(B+C) A*B + A*C Nh n xét ? (e) A*B B*A Nh n xét ? (f) A*B B' *A' Nh n xét ? (g) (A+B)' A' + B' Nh n xét ? 11) Nh p vào hai đa th c: P(x) = x + 3x − x − 5x + Q(x) = 3x − 5x + (a) Tính tổng hai đa th c (b) Nhân hai đa th c (c) Tìm nghi m c a đa th c (d) Tính giá trị P(1) ; Q(0) (e) Tính đ o hàm b c 1, b c c a P(x) Q(x) 12) Phân tích nh Laplace sau thành tổng phân th c t i gi n: (a) G(s) = (b) H(s) = 10 s + 15s + 68s + 96 10s + 30 s(s + 15s + 68s + 96) (c) H(s) = (d) G(s) = 120s + 10 s(s + 13s + 30) 20 (s + 2)(s + 4s + 13) - 72- Biên So n : NGUY N TH HÙNG Ch ng 1) Vi t l i ch ng trình ví dụ có tài li u cách s dụng cấu trúc if-elseifelse-end, switch-case, vòng l p for, vòng l p while, 2) Vi t ch ng trình tính nghi m c a ph ng trình b c hai ax + bx + c = với a, b, c nh p t bàn phím Các tr ng hợp ph ng trình có hai nghi m th c, nghi m kép, hai nghi m ph c ph i xuất thông báo hình 3) Vi t ch ng trình in hình 50 s chẵn tính tổng, tích s 4) Vi t ch ng trình in hình n s lẻ đầu tiên, với n đ ợc nh p t bàn phím Tính tổng s in Ch ng trình ph i c nh báo n u ng i dùng nh p giá trị n≤ 5) Vi t ch ng trình in hình n s t nhiên chia h t cho a , với n a đ ợc nh p t bàn phím Tính tổng s in 6) Vi t ch ng trình tìm in hình s t nhiên có ba ch s , bi t s chia cho d 1, chia cho d 2, chia cho d 7) Vi t ch ng trình tìm in hình s t nhiên có ba ch s , bi t s chia cho 8, 9, 30 d 8) Vi t ch ng trình in tính tổng s ph ng t đ n 400 9) S dụng vịng lặp để tính tổng bình ph ng n s t nhiên; tổng bình ph ng n s chẵn; tổng bình ph ng n s lẻ; tổng bình ph ng n s t nhiên chia h t cho k, với n k s d ng bất kỳ; 10) S dụng vòng lặp để tính tổng S =1! + 2! +…+ n ! 11) S dụng vịng lặp để tính tổng S =1/1! + 1/2! +…+ 1/n ! 12) S dụng vòng lặp để tính tổng S =1/12 + 1/22 +…+ 1/n2 13) Vi t ch ng trình in hình s ngun t > y='x^3-6*x^2+5' >> [xmin, ymin] = fminbnd (y,-1,5) % tìm xmin, ymin c a hàm y=f(x) >> yN='-(x^3-6*x^2+5)' % yN= ['-',y] % t o yN = - y >> [xNmin, yNmin] = fminbnd (yN,-1,5) % tìm xmin, ymin c a yN >> xmax=xNmin, ymax= -yNmin % đ o dấu c a yNmin 2) Tính giới h n sau : a c ⎛ sin x ⎞ lim ⎜ ⎟ x →0 ⎝ x ⎠ ( lim 2tgx − tg x x→ π 2 ) b d ⎛ sin( x + h) − sin x ⎞ e lim ⎜ ⎟ h →0 ⎝ h ⎠ f g h ⎛ x x − aa ⎞ lim ⎜ ⎟ x→a ⎜ x − a ⎟ ⎝ ⎠ ⎛ a − x ln a ⎞ x2 lim ⎜ x ⎟ x → ⎜ b − x ln b ⎟ ⎝ ⎠ x i Chú ý: Khi x → 0Khi x → 0+ Khi x → -∞ Khi x → +∞ lấy giới h lấy giới h lấy giới h lấy giới h k ⎛1⎞ lim ⎜ ⎟ ; x →0 − ⎝ x ⎠ ( lim − e t →+∞ ⎛1⎞ lim ⎜ ⎟ x →0 + ⎝ x ⎠ −5t ) ⎛ a⎞ ; lim ⎜1 + ⎟ x →+∞ ⎝ x⎠ x q ⎞ ⎛ p lim ⎜ − ⎟ p x →1 ⎝ − x − xq ⎠ ⎛ ⎞ ⎛ ⎞ ; lim ⎜ lim ⎜ ⎟ ⎟ 1/ x x →0 − ⎝ + e ⎠ x →0 + ⎝ + e1/ x ⎠ lim = x →+∞ − x − x2 − x − x2 ; = lim + x + x x →−∞ + x + x n bên trái ('left') điểm n bên ph i ('right') điểm n t i -Inf giới h n bên ph i ('right') điểm -Inf n t i Inf giới h n bên trái ('left') điểm Inf - 76- Biên So n : NGUY N TH HÙNG 3) Dùng hàm symsum tính tổng sau : ∑n ; ∑ 2n n ∑ (2k − 1) ∑ 3n ∑ (2k − 1)2 1 n ; ∑ (1/ k ) ∑ (2k − 1)3 k =1 ∑ (1/ k ) n n ; ∑ k! n ; k =1 xk ∑ k =0 k ! ∞ n f ; k =1 ; k =0 ∑ 4n n ; n ∑ (1/ ak ) d ∑ (3n + 1) n ; n c ∑ n4 n ; n ; ∑ n3 n ; 1 b ∑ n2 n n a k =1 ∑ n ; k =0 sin(k π) k Cho n=10 Hãy tính giá trị c a tổng cho ph ng pháp sau : 1- Dùng hàm symsum tính tổng S theo n Sau gán n=10 ; eval(S) 2- Dùng hàm symsum tính tổng tr c ti p với n=10 3- Dùng vòng lặp for while 4- Dùng hàm sum, prod (tính tổng, tích phần t c a vect ) Nh n xét ph m vi ng dụng k t qu c a ph ng pháp 4) Dùng l nh dsolve gi i ph a y ' = ay ng trình vi phân sau : b y′ − y = sin t c y′′ + y′ + y = (2 x + 4)e− x d e f g xyy′ − y + x = ( y′ )2 + y = y′′ + y′ + y = y′′ + y′ + y = h y′′ − a y = với điều ki n (ĐK) đầu với ĐK đầu với ĐK đầu với ĐK y (0) = y′(0) = a ; y (0) = b y′(0) = y (0) = y(0)=1; y′(π / a) = i y′′ + y′ = x + cos x với ĐK đầu y′(0) = y (0) = 5) Tìm hàm độ h(t) n u bi t nh Laplace H(s) nh sau: (a) H(s) = (c) H(s) = (e) H(s) = 40 s(s + 13s + 40) 3s + 15 s(s + 6s + 15) 5s + 25 s(s + 8s + 25) (b) H(s) = (d) H(s) = (f) H(s) = 10s + 25 s(s + 6s + 25) 116(s + 40) s(s + 138s + 4640) 122(s + 43) s(s + 157s + 5246) MATLAB CAÊ N BẢ N & Ứ NG DỤNG Ch http://www.ebook.edu.vn -77- ng 1) Tìm hàm truyền đ t c a h th ng có s đồ kh i sau đây: 2(s+1) G5 x s s +1 G1 G2 A s+2 y s G3 B G4 2) Tìm hàm truyền đ t c a h th ng có s đồ kh i sau đây: G5 2(s+1) x s s +1 G1 G2 B s+2 A G3 y s G4 3) Tìm hàm truyền đ t c a h th ng có s đồ kh i sau đây: 2(s+1) H1 x K s +1 s+2 G1 G2 G3 A s G4 4) Cho h th ng có s đồ kh i nh hình v x e PID 10 s + 5s + Bộ điều khiển PID có KP =7; KI =12; KD =1 Tín hi u vào b c thang đ n vị x= 1(t) y y B - 78- Biên So n : NGUY N TH HÙNG Hãy vi t ch ng trình Matlab th c hi n yêu cầu a, b, c, d, e sau đây: a Tìm hàm truyền đ t G(s) c a h th ng b Xác định giá trị c c zero c a h th ng c V biểu đồ đáp ng độ h(t) c a h th ng d Tìm biểu th c c a hàm độ h(t) = ? e Tìm giá trị xác l p h(∞) sai s xác l p e(∞) L u ch ng trình, đặt tên t p tin Bai7_4.m Gọi th c hi n ch ng trình th c hi n ti p yêu cầu sau đây: f Thao tác với đồ thị để xác định thông s chất l ợng: th i gian độ ( Settling time), độ vọt l (Overshoot), giá trị xác l p h(∞), sai s xác l p e(∞) Vào menu file> save as> l u ch ng trình với tên Bai7_4B.m Chỉnh s a ch ng trình t p tin để th c hi n ti p yêu cầu sau đây: g Gi nguyên giá trị ban đầu c a KP KD Thay đổi giá trị KI tuỳ ý Xác định giá trị giới h n c a KI để h th ng ln ổn định (nói cách khác, h(∞) có giá trị h u h n) Trong ph m vi h th ng cịn ổn định, có nh n xét giá trị c a h(∞) e(∞) KI thay đổi ? h Đặt giá trị KI =0 KD=1 Thay đổi giá trị KP tuỳ ý Xác định giá trị giới h n c a KP để h th ng ổn định Trong ph m vi h th ng cịn ổn định, có nh n xét giá trị c a e(∞) tính dao động c a h KP thay đổi ? i Đặt giá trị KI =0 KP=7 Thay đổi giá trị KD tuỳ ý Có nh n xét giá trị e(∞) tính dao động c a h KD thay đổi ? ng t t p với h th ng có s đồ kh i nh hình v 5) Th c hi n t x e y s + 5s + PID Bộ điều khiển PID có KP =6; KI =8; KD =1 6) Th c hi n t x ng t t p với h th ng có s đồ kh i nh hình v e PID s + 6s + y Bộ điều khiển PID có KP =9; KI =20; KD =1 7) Th c hi n t x ng t t p với h th ng có s đồ kh i nh hình v e PI 40 s + 16s + 28 Bộ điều khiển PI có KP =1; KI =2 y MATLAB CĂ N BẢ N & Ứ NG DỤNG http://www.ebook.edu.vn -79- CÂU H I TR C NGHI M 1) Tên bi n sau không hợp l : a) Chieucao b) Chieu-cao c) ChieuCao d) ChIeUcao1 2) Tên bi n sau hợp l : a) G1(s) b) G1s c) 1Gs d) G1s 3) Để xoá hai bi n u v Workspace dùng l nh : a) >> clear u, v b) >> clear u v c) >> clear u ; v d) c a b 4) Để xoá bi n Workspace làm s ch hình MATLAB dùng l nh : a) >> clear clc b) >> clear , clc c) >> clear (clc) d) c cách đ ợc 5) Câu l nh sau hợp l , không bị báo lỗi : a) s= ' input ' b) s= input (Hay nhap gia tri s:) c) s= input d) s= Input ('Hay nhap gia tri s: ') 6) Để m c a sổ so n th o Editor t c a sổ MATLAB dùng cách : a) gõ l nh edit b) vào menu File -> New-> M-File c) a b đ ợc d) a b sai 7) M-file là: a) scrift file b) function file c) file ch ng trình d) b n có ý ki n khác 8) Để th c hi n file "baitap1.m", t i command window đánh l nh: a) >>baitap1 b) >>baitap1.m c) c hai đ ợc d) c hai sai 9) Dòng khai báo hàm sau không hợp l : a) function TT= bai_1(a,b,c) b) function [TT]= bai_1(a,b,c) c) function = bai_1(a,b,c) d) function [TT, DT]= bai_1(a,b,c) 10) >> A= [1 2] câu l nh dùng để nh p A với A : a) vect cột b) vect cột b ớc tĕng c) véct hàng d) vect hàng b ớc tĕng 11) >> B= [ 3;-4 1] câu l nh dùng để nh p B với B : a) ma tr n b) ma tr n hàng c) ma tr n cấp d) ma tr n cấp 12) Cho véct u = [ 5] v= [2, 4, 6], th c hi n đ ợc phép tính sau đây: a) u' *v b) u*v c) c hai d) khơng phép tính Biên So n : NGUY N TH HÙNG - 80- 13) Cho véct u = [ 1;3 ;5]; v= [2 6], th c hi n đ ợc phép tính sau đây: a) u.*v b) v' *u c) c hai d) khơng phép tính 14) L nh sau dùng để tìm véct ch a phần t hàng c a ma tr n A ? a) A(1,:) b) A(:,1) c) A(1 :) d) A(1) cột hai c a ma tr n A ? 15) L nh sau dùng để tìm véct ch a phần t a) A(2,:) b) A(:,2) c) A(2 :) d) A(2) 16) L nh >>X= linspace(0,10) cho k t qu X : a) véct hàng b) véct hàng có 100 phần t c) véct cột d) véct hàng có b ớc tĕng 17) Các tr ng hợp sau s báo lỗi: a) >>x=12; disp(x) b) >> x=12; fprintf (x) c) c hai d) không tr ng hợp 18) L nh sau s không th c hi n đ ợc ? a) G=tf(6,[1 6]) b) G=tf( [6],[1 6]) c) s=tf(s); G=6/s^2+5*s+6 d) G=zpk([ ],[-2 -3],6) 19) L nh v đồ thị sau s bị báo lỗi ? a) syms x; y=x^2; ezplot(y,[0, pi]) b) syms x; y=x^2; ezplot(x,y,[0, pi]) c) c hai d) không l nh 20) L nh v đồ thị sau s bị báo lỗi ? a) x=0:100; y=x.^2 ; plot(x,y) b) y=x.^2 ; plot(x,y,[0:100]) c) c hai d) khơng l nh 21) Có thể dùng l nh để cộng hai đa th c (x+1) (x2+3) ? a) >>[1 1] + [1 3] b) >> [1 1] + [1 3] c) >>[0 1] + [1 3] d) >>[1 0] + [1 3] 22) Để tìm hàm truyền c a hai phần t n i ti p, dùng : a) toán t + b) Hàm series c) a b đ ợc d) a b sai 23) Để tìm hàm truyền c a hai phần t song song, dùng : a) tốn t * b) Hàm parallel c) c hai đ ợc d) c hai sai 24) H sys mô t b i l nh: >> G1=tf(1,[1,4]); sys=feedback(G1,1,1) a) h ph n hồi d ng b) h ph n hồi âm c) h ph n hồi âm đ n vị d) h ph n hồi d ng đ n vị ... xem ví dụ minh ho có sẵn MATLAB cách nh p l nh demo 1.4 THOÁT KH I MATLAB Th c hi n cách sau : góc trên, ph i c a hình MATLAB • Nhắp chuột vào nút • Chọn menu File > Exit MATLAB • Nhấn tổ hợp phím... n hành Mặc định kh i động MATLAB th mục hi n hành '' \Th mục cài đặt MATLAB\work'' Tên th mục hi n hành đ ợc rõ toolbar (vị trí ) Trên cách hiển thị tổ hợp c a sổ hình MATLAB Tùy theo thói quen... Desktop layout > (Với phiên b n tr ớc nh MATLAB R12 MATLAB 6.5 R13 chọn menu View > Deskstop Layout >…) 1.3 TI N ÍCH TRỢ GIÚP Ti n ích trợ giúp (Help) c a MATLAB phong phú Có thể gọi t menu help