intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Cách khảo sát ứng dụng MATLAB trong điều khiển tự động - Tập lệnh cơ bản của Matlab

Chia sẻ: Phạm Văn Giang | Ngày: | Loại File: DOC | Số trang:45

240
lượt xem
48
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

1. Lệnh ANS a) Công dụng: (Purpose) Là biến chứa kết quả mặc định. b) Giải thích: (Description) Khi thực hiện một lệnh nào đó mà chưa có biến chứa kết quả, thì MATLAB lấy biến Ans làm biến chứa kết quả đó.

Chủ đề:
Lưu

Nội dung Text: Cách khảo sát ứng dụng MATLAB trong điều khiển tự động - Tập lệnh cơ bản của Matlab

  1. Khảo sát ứng dụng MATLAB trong điều khiển tự động c) Giải thích: (Description) TẬP LỆNH CƠ BẢN CỦA c: chứa thông báo hệ điều hành của máy. MATLAB m: số phần tử của ma trận lớn nhất mà máy có th ể làm việc được với Matlab. LỆNH CƠ BẢN I. d) Ví dụ: (Examples) Chú ý: Các lệnh đều viết bằng chữ thường, nhưng vì » [c,m]=computer tác giả muốn viết hoa để người xem tiện theo dõi. 1. Lệnh ANS c= a) Công dụng: (Purpose) Là biến chứa kết quả mặc định. PCWIN b) Giải thích: (Description) Khi thực hiện một lệnh nào đó mà chưa có biến chứa kết quả, thì MATLAB lấy biến Ans làm biến chứa kết quả đó. m= c) Ví dụ: (Examples) 2-1 2.1475e+009 ans = 1 4. Lệnh DATE 2. Lệnh CLOCK a) Công dụng: (Purpose) a) Công dụng: (Purpose) Thông báo ngày tháng năm hiện tại Thông báo ngày giờ hiện tại. b) Cú pháp: (Syntax) b) Cú pháp:(Syntax) s = date c = clock c) Ví dụ: c) Giải thích: (Description) » s=date Để thông báo dễ đọc ta dùng hàm fix. d) Ví dụ: (Examples) s= c = clock c= 20-Apr-2001 1.0e+003* 5. Lệnh CD 2.0010 0.0040 0.0200 0.0030 0.0420 a) Công dụng: 0.0501 Chuyển đổi thư mục làm việc. c = fix(clock) b) Cú pháp: c = 2001 4 20 3 43 3 cd 3. Lệnh COMPUTER cd diretory a) Công dụng: (Purpose) cd .. Cho biết hệ điều hành của máy vi tính đang sử dụng Matlab. c) Giải thích: b) Cú pháp: (Syntax) cd: cho biết thư nục hiện hành. computer diretory: đường dẫn đến thư mục muốn làm việc. [c,m] = computer cd .. chuyển đến thư mục cấp cao hơn một bậc.
  2. Khảo sát ứng dụng MATLAB trong điều khiển tự động 6. Lệnh CLC n: biến chứa đối tượng đồ họa cần xóa. Nếu đối tượng là một cửa sổ thì cửa sổ sẽ đóng lại và bị xóa. a) Công dụng: 9. Lệnh DEMO Xóa cửa sổ lệnh. a) Công dụng: b) Cú pháp: Chạy chương trình mặc định của Matlab. clc b) Cú pháp: c) Ví dụ: demo clc, for i: 25, home, A = rand(5), end. c) Giải thích: 7. Lệnh CLEAR demo: là chương trình có sẵn trong trong Matlab, a) Công dụng: chương trình này minh họa một số chức năng c ủa Xóa các đề mục trong bộ nhớ. Matlab. b) Cú pháp: 10. Lệnh DIARY clear a) Công dụng: clear name Lưu vùng thành file trên đĩa. clear name1 name2 name3 b) Cú pháp: clear functions diary filename clear variables c) Giải thích: clear mex filename: tên của tập tin. clear global 11. Lệnh DIR clear all a) Công dụng: c) Giải thích: Liệt kê các tập tin và thư mục. clear: xóa tất cả các biến khỏi vùng làm việc. b) Cú pháp: clear name: xóa các biến hay hàm được chỉ ra trong dir name. dir name clear functions: xóa tất cả các hàm trong bộ nhơ. c) Giải thích: clear variables: xóa tất cả các biến ra khỏi bộ nhớ. dir: liệt kê các tập tin và thư mục có trong thư mục clear mex: xóa tất cả các tập tin .mex ra khỏi bộ nhớ. hiện hành. clear: xóa tất cả các biến chung. dir name: đường dẫn đến thư mục cần liệt kê. clear all: xóa tất cả các biến, hàm, và các tập tin .mex 12. lệnh DISP khỏi bộ nhớ. Lệnh này làm cho bộ nhớ trống hoàn toàn. a) Công dụng: 8. Lệnh DELETE Trình bày nội dung của biến (x) ra màn hình a) Công dụng: b) Cú pháp: Xóa tập tin và đối tượng đồ họa. disp (x) b) Cú pháp: c) giải thích: delete filename x: là tên của ma trận hay là tên của biến chứa chuỗi delete (n) ký tự, nếu trình bày trực tiếp chuỗi ký tự thì chuỗi ký tự được đặt trong dấu ‘’ c) Giải thích: d) Ví dụ: file name: tên tập tin cần xóa. » num=('Matlab')
  3. Khảo sát ứng dụng MATLAB trong điều khiển tự động Hiển thị 14 con số 3.14159265358 Format long sau dấu chấm num = Hiển thị dạng phân 355/133 Format rat số của phần Matlab nguyên nhỏ nhất Hiển thị số dương + Format + » disp(num) hay âm Matlab » num=[2 0 0 1] 15. Lệnh HELP a) Công dụng: num = hướng dẫn cách sử dụng các lệnh trong Matlab. b) Cú pháp: 2 0 0 1 help help topic » disp(num) c) Giải thích: 2 0 0 1 help: hiển thị vắn tắt các mục hướng dẫn. topic: tên lệnh cần được hướng dẫn. » num='PHAM QUOC TRUONG' 16. Lệnh HOME a) Công dụng: num = Đem con trỏ về đầu vùng làm việc. b) Cú pháp: PHAM QUOC TRUONG home 13. Lệnh ECHO 17. Lệnh LENGTH a) Công dụng: a) Công dụng: Hiển thị hay không hiển thị dòng lệnh đang thi hành Tính chiều dài của vectơ. trong file *.m. b) Cú pháp: b) Cú pháp: l = length (x) echo on c) Giải thích: echo off l: biến chứa chiều dài vectơ. c) Giải thích: d) Ví dụ: on: hiển thị dòng lệnh. tính chiều dài của vectơ x. off: không hiển thị dòng lệnh. x = [0 1 2 3 4 5 6 7 8 9] 14. Lệnh FORMAT l = length (x) a) Công dụng: l = 10 Định dạng kiểu hiển thị của các con số. » x=[01 09 77,20 04 2001 ] Giải thích Ví dụ Cú pháp Hiển thị 4 con số 3.1416 Format short x= sau dấu chấm
  4. Khảo sát ứng dụng MATLAB trong điều khiển tự động Nếu như khi sử dụng Matlap máy tính xuất hiện 1 9 77 20 4 2001 thông báo “Out of memory” thì lệnh pack có thể tìm thấy một số vùng nhớ còn trống mà không cần phải xóa » l=length(x) bớt các biến. Lệnh pack giải phóng không gian bộ nhớ c ần thi ết bằng cách nén thông tin trong vùng nhớ xuống cực ti ểu. l= Vì Matlab quản lý bộ nhớ bằng phương pháp xếp chồng nên các đoạn chương trình Matlab có thể làm cho vùng nhớ bị phân mảnh. Do đó sẽ có nhiều vùng nhớ 6 còn trống nhưng không đủ để chứa các biến lớn mới. 18. Lệnh LOAD Lệnh pack sẽ thực hiện: a) Công dụng: + lưu tất cả các biến lên đĩa trong một tập tin Nạp file từ đĩa vào vùng làm việc. tạm thời là pack.tmp. b) Cú pháp: + xóa tất cả các biến và hàm có trong bộ nhớ. load + lấy lại các biến từ tập tin pack.tmp. load filename + xóa tập tin tạm thời pack.tmp. load filename kết quả là trong vùng nhớ các biến được gộp lại hoặc nén lại tối đa nên không bị lãng phí bộ nhớ. load finame.extension Pack.finame cho phép chọn tên tập tin tạm thời để c) Giải thích: chứa các biến. Nếu không chỉ ra tên tập tin tạm thời thì load: nạp file matlap.mat Matlab tự lấy tên tập tin đó là pack.tmp. load filename: nạp file filename.mat Nếu đã dùng lệnh pack mà máy vẫn còn báo thiếu load filename.extension: nạp file filename.extension bộ nhớ thì bắt buộc phải xóa bớt các biến trong vùng nhớ đi. Tập tin này phải là tập tin dạng ma trận có nghĩa là số cột của hàng dưới phải bằng số cột của hàng trên. 21. Lệnh PATH Kết quả ta được một ma trận có số cột và hàng chính là a) Công dụng: số cột và hàng của tập tin văn bản trên. Tạo đường dẫn, liệt kê tất cả các đường dẫn đang 19. Lệnh LOOKFOR có. a) Công dụng: b) Cú pháp: Hiển thị tất cả các lệnh có liên quan đến topic. path b) Cú pháp: p = path lookfor topic path (p) c) Giải thích: c) Giải thích: topic: tên lệnh cần được hướng dẫn. path: liệt kê tất cả các dường dẫn đang có. 20. Lệnh PACK p: biến chứa đường dẫn. a) Công dụng: path (p): đặt đường dẫn mới. Sắp xếp lại bộ nhớ trong vùng làm việc. d) Ví dụ: b) Cú pháp: đặt đường dẫn đến thư mục c:\lvtn\matlab pack p = ‘d:\DA\matlab’; pack filename path (p); c) Giải thích: 22. Lệnh QUIT
  5. Khảo sát ứng dụng MATLAB trong điều khiển tự động a) Công dụng: d= Thoát khỏi Matlab. b) Cú pháp: 2 4 quit 23. Lệnh SIZE » m=size(x,1) a) Công dụng: Cho biết số dòng và số cột của một ma trận. m= b) Cú pháp: d = size (x) 2 [m,n] = size (x) m = size (x,1) » n=size(x,2) n = size (x,2) c) Giải thích: n= x: tên ma trận. d: tên vectơ có 2 phần tử, phần tử thứ nhất là số 4 dòng, phần tử còn lại là số cột. m,n: biến m chứa số dòng, biến n chứa số cột » [m,n]=size(x) d) Ví dụ: ta có ma trận a m= x= 1 2 3 4 5 6 6 8 2 » x=[1 2 3 4,5 6 7 8] x= n= 1 2 3 4 5 6 7 8 4 Các bạn chú ý về cách nhập 1 ma trận: 24. Lệnh TYPE » x=[1 2 3 4;5 6 7 8] a) Công dụng: Hiển thị nội dung của tập tin. b) Cú pháp: x= type filename c) Giải thích: 1 2 3 4 filename: tên file cần hiển thị nội dung. 5 6 7 8 Lệnh này trình bày tập tin được chỉ ra. 25. Lệnh WHAT » d=size(x) a) Công dụng: Liệt kê các tập tin *.m, *.mat, *.mex.
  6. Khảo sát ứng dụng MATLAB trong điều khiển tự động b) Cú pháp: what what dirname c) Giải thích: what: liệt kê tên các tập tin .m, .mat, .mex có trong thư mục hiện hành. dirname: tên thư mục cần liệt kê. 26. Lệnh WHICH a) Công dụng: Xác định chức năng của funname là hàm của Matlab hay tập tin. b) Cú pháp: which funname c) Giải thích: funname: là tên lệnh trong Matlab hay tên tập tin d) Ví dụ: which inv inv is a build-in function which f II. CÁC TOÁN TỬ VÀ KÝ TỰ c:\matlab\bin\f.m ĐẶC BIỆT 27. Lệnh WHO, WHOS 1. Các toán tử số học (Arithmetic Operators): a) Công dụng: Thông tin về biến đang có trong bộ nhớ. Toán tử Công dụng b) Cú pháp: Cộng ma trận hoặc đại lượng vô hướng (các ma + who Trừ ma trận hoặc đại lượng vô hướng (các ma t - whos Nhân ma trận hoặc đại lượng vô hướng (ma trậ * who global của ma trận 2). whos global Nhân từng phần tử của 2 ma trận hoặc 2 đại lư .* c) Giải thích: có cùng kích thước). who: liệt kê tất cả các tên biến đang tồn tại trong Thực hiện chia ngược ma trận hoặc các đại lượ \ bộ nhớ. với inv (A)*B). whos: liệt kê tên biến, kích thước, số phần tử và Thực hiện chia ngược từng phần tử của 2 ma t .\ xét các phần ảo có khác 0 không. (các ma trận phải có cùng kích thước). who global và whos: liệt kê các biến trong vùng làm Thực hiện chia thuận 2 ma trận hoặc đại lượng / việc chung. A*inv(B)). Thực hiện chia thuận từng phần tử của ma trận ./ phải có cùng kích thước). Lũy thừa ma trận hoặc các đại lượng vô hướng. ^
  7. Khảo sát ứng dụng MATLAB trong điều khiển tự động Lũy thừa từng phần tử ma trận hoặc đại lượng vô hướng2(các ma trận ph1 i có ả . ^ x/ x./ 2 cùng kích thước). 3/2 * ví dụ: x^y phép toán sai x.^ y Phép tính ma trận 1 4 x 2 y 5 x^2 phép toán sai x.^ 2 3 6 x’ 123 y’ 456 5 2 ^ -3 x phép toán sai 2.^ x x+y 6 x–y -3 7 -3 3 -3 2.. Toán tử quan hệ (Relational Operators): x+2 4 x–2 -3 5 -3 Toán tử Công dụng So sánh nhỏ hơn. < x*y phép toán sai x. * y > 10 So sánh lớn hơn. 18 So sánh lớn hơn hoặc bằng. >= x’* y 32 x’.* y phép toán sai So sánh nhỏ hơn hoặc bằng.
  8. Khảo sát ứng dụng MATLAB trong điều khiển tự động 1 2 3 %so sánh tr ực ti ếp x (x là 5) » x>=[1 2 3;4 5 6;7 8 9] 4 5 6 với ma trận 7 8 9 % rõ ràng các ph ầ t ử 1,2,3,4,5 ans = » x==A % so sánh x và A đều =A » x
  9. Khảo sát ứng dụng MATLAB trong điều khiển tự động Thực hiện phép toán logic AND. Chỉ toàn bộ ma trận A & A(: , :) Thực hiện phép toán logic OR. Chỉ phần tử A(j), A(j+1)…A(k) | A(j , k) Chỉ các phần tử A(:, j), A(:, j+1)…A(:, k) A(: , j , k) Thực hiện phép toán logic NOT. ~ Chỉ tất cả các thành phần của ma trận A A(:) c) Ví dụ: a) Giải thích: khi khai báo D = 1 : 10 Kết quả của phép toán là 1 nếu phép logic là đúng và là 0 nếu phép logic là sai. ta được kết quả: Phép logic có chế độ ưu tiên thấp nhất so với phép D = 1 2 3 4 5 6 7 8 9 10 toán số học và phép toán so sánh. còn khi khai báo D = 0 : 2 :10 b) Ví dụ: thì ta được kết quả: Khi thực hiện phép toán 3>4 & 1+ thì máy tính sẽ D = 0 2 4 6 8 10 thực hiện 1+2 được 3, sau đó tới 3>4 được 0 rồi thực hiện 0 & 3 và cuối cùng ta được kết qủa là 0. 4. Ký tự đặc biệt (Special Characters): Ký hiệu Công dụng Khai báo vector hoặc ma trận. [] Thực hiện phép toán ưu tiên, khai báo các biến và các chỉ số của () vector. Thực hiện phép gán. = Chuyển vị ma trận tìm lượng liên hiệp của số phức. ‘ Điểm chấm thập phân. . III. CÁC HÀM LOGIC Phân biệt các phần tử của ma trận và các đối số trong dòng lệnh. , (LOGICAL FUNCTION) Ngăn cách giữa các hàng khi khai báo ma trận. ; 1. Lệnh ALL % Thông báo dòng chú thích. a) Công dụng: Mở cửa sổ MS – DOS. ! Kiểm tra vector hay ma trận có giá trị 0 hay không. b) Cú pháp: 5. dấu ‘:’ y = all(x) a) Công dụng: c) Giải thích: Tạo vector hoặc ma trận phụ và lặp đi lặp lại các giá trị. y: biến chứa kết quả b) Giải thích: x: tên vedtor hay ma trận y = 1 khi tất cả các phần tử khác 0 Công dụng Khai báo y = 0 khi có 1 phần tử bằng 0 Tạo ra chuỗi j, j+1, j+2,…., k-1, k j:k d) Ví dụ: Tạo ra chuỗi j, j+i, j+2I,….,k-i, k j:i:k » a=[1 2 3] Chỉ cột thứ j của ma trận A A(: , j) Chỉ hàng thứ i của ma trận A(i , :) a=
  10. Khảo sát ứng dụng MATLAB trong điều khiển tự động a= 1 2 3 1 2 0 » y=all(a) 0 3 5 2 6 8 y= » y=all(a) 1 y= » a=[1 0 3] 0 1 0 2. Lệnh ANY a= a) Công dụng: Kiểm tra vector hay ma trận có giá trị khác 0 hay 1 0 3 không. b) Cú pháp: » y=all(a) y = any(x) c) Giải thích: y= y: biến chứa kết quả. x: tên vector, hay ma trận. 0 y = 1 khi có 1 phần tử khác 0. y = 0 khi có 1 phần tử bằng 0. » a=[1 2 3;4 0 6;7 8 9] d) Ví dụ: » a=[1 2 3]; a= » y=any(a) 1 2 3 y= 4 0 6 7 8 9 1 » y=all(a) » b=[1 0 3 0]; » y=any(b) y= y= 1 0 1 1 » a=[1 2 0;0 3 5;2 6 8]
  11. Khảo sát ứng dụng MATLAB trong điều khiển tự động » c=[1 2 0 4;0 2 0 4;1 2 3 4;3 4 5 6] item là biến đang tồn tại trong vùng làm việc 1 item đang tồn tại trên đĩa (chỉ kiểm tra trong thư m 2 hành) c= 3 item là MEX-file item là file được dịch từ phần mềm Simulink 4 1 2 0 4 item là hàm của Matlab 5 0 2 0 4 1 2 3 4 d) Ví dụ: 3 4 5 6 e = exist(‘dir’) » y=any(c) e=5 4. Lệnh FIND a) Công dụng: y= Tìm phần tử trong vector hay ma trận theo yêu cầu. 1 1 1 1 b) Cú pháp: k = find(x) » d=[0 0 0 0;0 1 3 0] [i,j] = find(x) [i,j,s] = find(x) c) Giải thích: d= k: chỉ vị trí của phần tử cần tìm trong vector. i,j: chỉ số hàng và số cột tương ứng của phần tử 0 0 0 0 cần tìm. 0 1 3 0 s: chứa giá trị của phần tử cần tìm. x: tên vector, ma trận hay là yêu cầu đề ra. Nếu » y=any(d) không nêu ra yêu cầu thì mặc nhiên là tìm các phần tử khác 0. y= d) Ví dụ: » x=[1 8 0 2 3 0] 0 1 1 0 3. Lệnh EXIST x= a) Công dụng: Kiểm tra biến hay file có tồn tại hay không. 1 8 0 2 3 0 b) Cú pháp: » k=find(x) e = exist(‘item’) c) Giải thích: k= item: là tên file hay tên biến. e: biến chứa giá trị trả về. 1 2 4 5 e Y nghĩa item không tồn tại trong vùng làm việc 0 » k=[3 6]
  12. Khảo sát ứng dụng MATLAB trong điều khiển tự động k= IV. NHÓM LỆNH LẬP TRÌNH TRONG MATLAB 3 6 1. Lệnh EVAL » a=[5 0 0;8 0 3] a) Công dụng: Chuyển đổi chuỗi ký tự thành biểu thức. a= b) Cú pháp: kq = eval(‘string’) 5 0 0 c) Giải thích: 8 0 3 kq: biến chứa kết quả. Nếu ‘string’ là các ký số thì chuyển thành những » [i,j,k]=find(a) con số. Nếu ‘string’ là câu lệnh thì chuyển thành các lệnh thi hành được. i= d) Ví dụ: » a='199999999'; 1 » eval(a)+1 2 2 ans = 200000000 j= 2. Lệnh FOR a) Công dụng: 1 Dùng để thực hiện 1 công việc cần lặp đi lặp lại 1 theo một quy luật, với số bước lặp xác định trước. 3 b) Cú pháp: for biến điều khiển = giá trị đầu : giá trị cuối, k= thực hiện công việc; end 5 c) Giải thích: 8 Công việc chính là các lệnh cần thi hành, có thể có 3 nhiều lệnh, kết thúc lệnh phải có dấu; d) Ví dụ: In ra màn hình 5 dòng ‘PHAM QUOC TRUONG chao cac ban’. for i = 1:5, disp(‘PHAM QUOC TRUONG chao cac ban’);
  13. Khảo sát ứng dụng MATLAB trong điều khiển tự động end b) Cú pháp: if biểu thức luận lý 1 PHAM QUOC TRUONG chao cac ban thực hiện công việc 1; PHAM QUOC TRUONG chao cac ban elseif biểu thức luận lý 2 PHAM QUOC TRUONG chao cac ban thực hiện công việc 2; PHAM QUOC TRUONG chao cac ban PHAM QUOC TRUONG chao cac ban else 3. Lệnh FUNCTION thực hiện công việc 3; a) Công dụng: end Tạo thêm hàm mới. c) Giải thích: Khi biểu thức luận ký 1 đúng thì thực hiện công b) Cú pháp: việc 1 tương tự cho biểu thức luận lý 2. Nếu cả hai function s = n(x) biểu thức sai thì thực hiện công việc sau lệnh else. c) Giải thích: Biểu thức luận lý là các phép so sánh ==, , = n: tên gợi nhớ. công việc chính là các lệnh cần thi hành, có th ể có nhiều lệnh, kết thúc lệnh phải có dấu ; d) Ví dụ: ( ở phần lập trong M.file) d) Ví dụ: 4. Lệnh INPUT Viết chương trình nhập vào 2 số và so sánh hai số a) Công dụng: đó. Dùng để nhập vào 1 giá trị. a = input(‘Nhập a: ’); b) Cú pháp: b = input(‘Nhập b: ’); tên biến = input (‘promt’) if a > b tên biến = input (‘promt’, ‘s’) disp(‘a lớn hơn b’); c) Giải thích: elseif a ==b tên biến, là nơi lưu giá trị ngập vào. disp(‘a bằng b’); ‘promt’: chuỗi ký tự muốn nhập vào. else ‘s’: cho biết giá trị nhập vào là nhiều ký tự. disp(‘a nhỏ hơn b’); d) Ví dụ1: end x = input(‘nhập giá trị của biến x: ’) nhập a: 4 nhập giá trị của biến x: 5 nhập b: 5 x=5 a nhỏ hơn b e) Ví dụ2: 6. Lệnh MENU trả_lời = input(‘bạn có muốn tiếp tục không ? ’,’s’) a) Công dụng: bạn có muốn tiếp tục không ? không Tạo menu để chọn chức năng. trả_lời = không b) Cú pháp: tên biến = menu (‘Tên menu’,‘chức năng1’,‘chức 5. Lệnh IF …ELSEIF …ELSE năng2’, …. , ‘chức năng n’) a) Công dụng: c) Giải thích: Thực hiện lệnh khi thỏa điều kiện. tên menu: là tiêu đề của menu.
  14. Khảo sát ứng dụng MATLAB trong điều khiển tự động tên biến: là nơi cất giá trị nhận được sau khi chọn end chức năng của menu. c) Giải thích: Chức năng 1, 2, ….,n:khi chọn chức năng nào thì Biểu thức luận lý là các phép so sánh = =, , = d) Ví dụ: Công việc chính là các lệnh cần thi hành, có thể có nhiều lệnh, kết thúc lệnh phải có dấu ; k = menu(‘Choose a color’, ‘Red’, ‘Blue’, ‘Green’) Khi thực hiện xong công việc thì quay lên kiểm tra ---- Choose a color ---- lại biểu thức luận lý, nếu vẫn còn đúng thì tiếp tục 1) Red thực hiện, nếu sai thì kết thúc. 2) Blue d) Ví dụ: 3) Green tính tổng A = 1+1/2+1/3+…+1/n 7. Lệnh PAUSE n = input(‘nhập vào số n ’); a) Công dụng: a = 0; i = 1 Dừng chương trình theo ý muốn. while i =0) d) Ví dụ: với các trường hợp sau: for n = 1 : 3; a) Nếu n0 và lẽ thì tính tổng s1=1+3+5+...+n,n là số disp(‘Press any key to continue…’) lẽ. pause c) Nếu n>0 và chẵn thì s2=2+4+6+...+n,n chẵn. end d) Nếu n=0 dừng chương trình lại. % BT4a: Viet chuong trinh nhap vao mot so Press any key to continue… n(n>=0) % voi cac truong hop sau: Press any key to continue… % a) Neu n0 va le thi tinh tong s1=1+3+5+... Press any key to continue… +n,n la so le. 8. Lệnh WHILE % c) Neu n>0 va chan thi s2=2+4+6+...+n,n chan. a) Công dụng: % d) Neu n=0 dung chuong trinh lai. n=input('nhap n= '); %nhap so n Dùng để thực hiện 1 công việc cần lặp đi lặp lại du=rem(n,2); %kiem tra n la theo một quy luật, với số bước lặp không xác định, phụ le hay chan thuộc vào biểu thức luận lý. %neu n le du=1, n chan du=0 b) Cú pháp: if n
  15. Khảo sát ứng dụng MATLAB trong điều khiển tự động if (n>0) & (du==1) %neu n>0 va le i=1; %gan i=1; s1=1; %gan tong s1=1 while i0) & (du==0) Tạo vector đơn có giá trị của mỗi phần tử là số thứ i=0; tự tương ứng với ký tự trong bảng mả ASCII. s2=0; Lấy trị tuyệt đối của một số âm. while i
  16. Khảo sát ứng dụng MATLAB trong điều khiển tự động n: con số nguyên hệ 10. d) Ví dụ: » U=abs('abc') s = dec2hex(10) U= s = ‘A’ 4. Lệnh HEX2DEC a) Công dụng: 97 98 99 Đổi chuỗi ký số của hệ 16 sang con số của hệ 10. » T=abs(-1) b) Cú pháp: T= n = hex2dec(‘s’) c) Giải thích: n: con số của hệ 10. 1 2. Lệnh BLANKS s: chuỗi ký số hệ 16. a) Công dụng: d) Ví dụ: Tạo khoảng trắng giữa hai hay nhiều chuỗi ký tự n = hex2dec(‘A’) theo mong muốn. n = 10 b) Cú pháp: [S1 BLANKS(b1) S2 BLANKS(b2) … 5. Lệnh INT2STR BLANKS(bn) Sn] a) Công dụng: c) Giải thích: Chuyển số nguyên sang dạng chuỗi. S1, S2, …Sn: các chuỗi ký tự. Chuyển các ký tự trong một chuỗi sang số thứ tự b1, b2: số khoảng trắng. tương ứng trong bảng mã ASCII. d) Ví dụ: b) Cú pháp: In 4 chuỗi ‘Khao sat’,‘ứng dụng’, ‘MATLAB’, kq = INT ‘trong điều khiển tự động’ ra màn hình với khoảng cách c) Giải thích: lần lượt giữa 4 chuỗi là: 2,4,3 kq: biến STR(n)chứa kết quả. » S=['Khao sat'blanks(2) 'ung dung'blanks(4) 'MATLAB'blanks(3) 'trong dieu khien tu dong'] n: tên biến cần chuyển. Nếu n là số nguyên thì kq là chuỗi ký số. S= Nếu n là chuỗi ký tự thì kq là số tương ứng trong bảng mã ASCII d) Ví dụ: Khao sat ung dung MATLAB trong dieu khien tu dong » n='MATLAB' 3. Lệnh DEC2HEX a) Công dụng: n= Đổi con số của hệ 10 sang hệ 16. b) Cú pháp: MATLAB s = dec2hex(n) c) Giải thích: » t=int2str(n) s: biến chứa chuỗi ký số của hệ 16
  17. Khảo sát ứng dụng MATLAB trong điều khiển tự động kq = t= 0 7. Lệnh LOWER 77 65 84 76 65 66 a) Công dụng: Cho ra chuỗi ký tự viết thường. » n=2001 b) Cú pháp: n= b = lower(s) c) Giải thích: b: biến chứa kết quả. 2001 s: tên biến chứa chuỗi ký tự hay chuỗi ký tự. d) Ví dụ: » t=int2str(n) » a='DO AN cua pHAm quOC TRuOnG'; t= » b=lower(a) 2001 b= 6. Lệnh ISSTR a) Công dụng: do an cua pham quoc truong Kiểm tra nội dung biến có phải là chuỗi ký tự 8. Lệnh NUM2STR không. a) Công dụng: b) Cú pháp: Chuyễn số thực sang dạng chuỗi. kq = isstr(n) Chuyển các ký tự trong một chuỗi sang số thứ tự c) Giải thích: tương ứng trong bảng mã ASCII. kq: biến chứa kết quả. b) Cú pháp: n: tên biến cần kiểm tra. kq = num2tr(n) kq = 1 nếu n là chuỗi ký tự. c) Giải thích: 0 nếu n không là chuỗi ký tự. kq: biến chứa kết quả. d) Ví dụ: n: tên biến cần chuyển. Nếu n là số thực thì kq là số tương ứng trong bảng » n='MATLAB'; mã ASCII. » kq=isstr(n) d) Ví dụ: » n=3.1416; kq = » kq=num2str(n) 1 kq = » m=[1 2 3 4]; » kq=isstr(m) 3.1416
  18. Khảo sát ứng dụng MATLAB trong điều khiển tự động 9. Lệnh SETSTR n: số thực. a) Công dụng: d) Ví dụ: Cho ra ký tự tương ứng với số thứ tự trong bảng n = str2num(‘456456’) mã ASCII. n = 456456 b) Cú pháp: 12. Lệnh STRCMP x = Set Str(n) a) Công dụng: c) Giải thích: So sánh 2 chuỗi ký tự. x: biến chứa ký tự tương ứng (thuộc bảng mã b) Cú pháp: ASCII). l = strcmp(s1, s2) n: số nguyên (0 ≤ n ≤ 255). c) Giải thích: d) Ví dụ: l: biến chứa kết quả. Tìm ký tự có số thứ tự là 65 trong bảng mã ASCII. s1, s2: chuỗi cần so sánh. » kt=setstr(65) d) Ví dụ: a = ‘MatLab WoRkS’ kt = b = ‘MatLab WoRkS’ strcmp(a,b) A ans = 1 10. Lệnh STR2MAT 13. Lệnh UPPER a) Công dụng: a) Công dụng: Tạo ma trận có các phần tử dạng chuỗi. Cho ra chuỗi viết hoa. b) Cú pháp: b) Cú pháp: s = str2mat(‘s1’, ‘s2’, …) b = upper c) Giải thích: c) Giải thích: s: tên ma trận kết quả. b: biến chứa kết quả. s1, s2: chuỗi ký tự. s: tên biến chứa chuỗi ký tự. d) Ví dụ: d) Ví dụ: s = str2mat(‘mat’, ‘lab’) a = ‘MaTlab WORks’ s= b = upper(a) mat b = MATLAB lab b = upper(‘MaTlab WORks’) 11. Lệnh STR2NUM b= MATLAB WORKS a) Công dụng: Chuyển chuỗi (dạng số) sang số thực. VI. CÁC HÀM GIAO TIẾP b) Cú pháp: 1. Lệnh FCLOSE n = str2num(s) c) Giải thích: a) Công dụng: s: chuỗi dạng số. Đóng file đang mở sau khi truy xuất xong.
  19. Khảo sát ứng dụng MATLAB trong điều khiển tự động b) Cú pháp: disp(a); fclose(fid) fclose(fid); c) Giải thích: Kết quả fid: tên biến trỏ đến file đang mở. 0 2 4 6 8 10 2. Lệnh FOPEN 0 1 2 3 4 5 a) Công dụng: 4. Lệnh FREAD Mở file hoặc truy xuất dữ liệu của file đang mở. a) Công dụng: Đọc dữ liệu dạng nhị phân từ file. b) Cú pháp: fid = fopen(‘fn’) b) Cú pháp: fid = fopen(‘fn’, ‘p’) [a, c] =fscanf(fid) c) Giải thích: [a, c] = fscanf(fid,s) fid: tên biến trỏ đến file đang mở. c) Giải thích: fn: tên file (có thể đặt đường dẫn). a: tên biến chứa dữ liệc được đọc vào. Tham số p có các định dạng sau: c: số phần tử được đọc vào. ‘r’: chỉ đọc. fid: tên biến trỏ đến file cần đọc. ‘r+’: đọc và ghi. s: kích thước dữ liệu đọc vào. ‘w’: xóa tất cả nội dung của file hoặc tạo 1 file s được định dạng bởi các thông số: mới và mở file đó để ghi. n: chỉ đọc n phần tử vào cột vector a. ‘w+’: xóa tất cả nội dung của file hoặc tạo 1 inf: đọc đến hết file. file mới và mở file đó để ghi và đọc. [m,n]: chỉ đọc vào m cột và n hàng, n có thể 3. Lệnh FPRINTF bằng inf còn m thì không. a) Công dụng: d) Ví dụ1: Ghi đoạn dữ liệu thành file. file vd.txt có nội dung: b) Cú pháp: ABC fprintf(fid, f) 123 c) Giải thích: fid = fopen(vd.txt’); fid: tên biến trỏ đến file cần ghi. [a,c] = fread(fid); f: các tham số để định dạng. disp(a); d) Ví dụ: disp(c); Tạo file exp.txt có nội dung: a= x = 0:2:10; 65 y = [x, x/2]; 32 fid = fopen(‘exp.txt’, ‘w’); 66 fprintf(fid, ‘%d’, [2, inf]); 32 Gán file exp.txt và biến a để xem nội dung: 67 fid = fopen(‘exp.txt’) 13 a = fscanf(fid, ‘%d’, [2,inf]); 10
  20. Khảo sát ứng dụng MATLAB trong điều khiển tự động 49 21 32 a’= 50 65 66 67 68 69 13 10 32 70 71 72 73 74 13 10 51 75 76 77 78 79 13 10 5. Lệnh FWRITE c= a) Công dụng: 12 e) Ví dụ2 Ghi đoạn dữ liệu dạng nhị phân thành file. fid = fopen(‘vd1.txt’); b) Cú pháp: [a,c] = fread(fid, 4); fwrite (fid,a) c) Giải thích: disp(a); fid: tên biến trỏ đến file cần ghi. disp(c); a: tên biến chứa dữ liệu. a= d) Ví dụ: 65 Ghi đoạn dữ liệu của biến a thành file a.txt 32 66 a = [65 66 67] 32 fid = fopen(‘a.txt’, ‘w’); c= fwrite(fid, ‘%’); 4 fwite(fid,a); f) Ví dụ 3: Gán file a.txt vào biến b để xem nội dung file vd3.txt có nội dung fid = fopen(‘a.txt’); ABCDE b = fscanf(fid, ‘%’); FGHIJ disp(b); KLMNO fclose(fid); Kết quả fid = fopen(‘vd3.txt’); [a,c] = fread(fid, [7, inf]); b = ABC 6. Lệnh SPRINTF disp(a); a) Công dụng: disp(c); Hiển thị thông tin lên màn hình. a= 65 70 75 b) Cú pháp: 66 71 76 s = sprintf(‘ts’,ds) c) Giải thích: 67 72 76 s: biến chứa chuỗi số hiển thị trên màn hình. 68 73 78 ts: các tham số định dạng. 69 74 79 ds: danh sách các đối số. 13 13 13 Tham số định dạng thuộc 1 trong 2 kiểu sau: 10 10 10 c=
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2