CHƯƠNG I CƠ BẢN VỀ MATLAB 1 1 Giới thiệu MATLAB [1], [2] là từ viết tắt của Matrix Laboratory với ý nghĩa phần mềm ứng dụng cho tính toán ma trận MATLAB được mô tả như là một gói phần mềm dùng cho tín[.]
CHƯƠNG I CƠ BẢN VỀ MATLAB 1.1 Giới thiệu MATLAB [1], [2] từ viết tắt Matrix Laboratory với ý nghĩa phần mềm ứng dụng cho tính tốn ma trận MATLAB mơ tả gói phần mềm dùng cho tính tốn kỹ thuật tích hợp cơng cụ tính tốn, trực quan hóa (visualization), lập trình Mơi trường làm việc MA TLAB dễ sử dụng gần gũi với biểu diễn toán học phép tốn Các ứng dụng điển hình MATLAB bao gồm: Tính tốn tốn học; Phát triển thuật toán; Thu kết liệu (data acquisition); Mơ hình, mơ tạo mẫu; Phân tích, khai thác trực giác hóa liệu; Đồ họa khoa học kỹ thuật; Phát triển ứng dụng bao gồm việc phát triển giao diện người sử dụng; MATLAB hệ thống tương tác phần tử liệu sở mảng khơng cần định kích thước Điều cho phép giải đượcnhiều vấn đề tính tốn, đặc biệt vấn đề gắn với phép toán ma trậnhay vector, mà tiêu tốn phần thời gian cần thiết để viết chươngtrình sử dụng ngơn ngữ khơng tương tác vô hướng (scalar) C hay FORTRAN Hệ thống MATLAB bao gồm phần chính: Mơi trường phát triển (Development Environment) Đây tập hợp công cụ phương tiện hỗ trợ người dùng sử dụng hàm tệp MATLAB Nhiều công cụ giao diện đồ họa người dùng (GUI -Graphical User Interface) Tập hợp cơng cụ bao gồm hình MATLAB (MATLAB Desktop) cửa sổ lệnh (command window), lịch sử lệnh (command history), chương trình soạn thảo gỡ rối (editor and debugger), trình duyệt (browser) để xem trợ giúp, không gian làm việc (workspace), tệp, đường dẫn tìm kiếm (search path) Thư viện hàm tốn học (Mathematical Function Library) Đây tập hợp thuật tốn tính tốn trải rộng từ hàm sở cộng, trừ, sin, cos, phép tính số học phức, tới hàm phức tạp đảo ma trận, tính giá trị riêng (eigenvalue) ma trận, hàmBessel, phép biến đổi nhanh Ngôn ngữ MATLAB (MATLAB Language) Đây ngôn ngữ ma trận/mảng bậc cao với khai báo luồng điều khiển, hàm số, cấu trúc liệu, vào/ra, đặc điểm lập trình hướng đối tượng Nó cho phép viết chương trình gọn nhẹ hay chương trình ứng dụng phức tạp Đồ họa (Graphics) MATLAB có nhiều phương tiện hiển thị vector ma trận dạng đồ thị, sửa đổi in đồ thị Nó baogồm hàm bậc cao để trực giác hóa liệu hai ba chiều, xử lýảnh, hoạt hình, biểu diễn đồ họa Nó bao gồm hàm bậcthấp cho phép tùy biến hóa đồ họa xây dựng giao diện đồhọa hoàn chỉnh cho ứng dụng MATLAB người sử dụng Giao diện Chương trình Ứng dụng MATLAB (MATLAB Application Program Interface [API]) Đây thư viện cho phép viết chương trình C Fortran tương tác với MATLAB Nó có phương tiện để gọi thường trình (routine) từ MATLAB, dùng MATLAB động tính tốn, dùng để đọc viết MAT-files MATLAB cung cấp họ giải pháp theo ứng dụng, gọi hộp công cụ (toolbox) Hộp công cụ MATLAB bao gồm tập hợp đầy đủ hàm MATLAB dạng tệp "m" (m-file) dùng để mở rộng môi trường MATLAB cho việc giải loại vấn đề cụ thể Các ví dụ phạm vi ứng dụng hộp công cụ MATLAB xử lý tín hiệu, hệ thống điều khiển, mạng nơ-ron, fuzzy logic, wavelet, mô phỏng, nhiều ứng dụng khác 1.1.1.Khởi động thoát khỏi MATLAB Để khởi động MATLAB từ Windows, nhắp đúp (double-click) vào biểu tượng MATLAB Trên hình desktop windows Sau khởi động xong hình cửa sổ mơi trường làm việc MATLAB gồm ba phần là: Thư mục thời (Current Directory), cửa sổ lịch sử câu lệnh (Command History) cửa sổ câu lệnh (Command Windows) hình 1.1 Hình 1.1 Mơi trường làm việc MATLAB Để kết thúc MATLAB thực cách nhắp phím chuột trái vào đóng cửa sổ hình dấu ( ) phía bên tay trái cửa sổ MATLAB Ngoài kết thúc MATLAB cách nhập vào câu lệnh: » quit cửa sổ command windows bấm enter 1.1.2 Làm việc với MATLAB destop MATLAB Desktop bao gồm công cụ (Tool Bar) với menu file, edit, debug, desktop, windows help Bên cạnh công cụ menu kéo xuống (Pull-down Menu) cho phép xem thay đổi thư mục làm việc thời Nội dung thư mục làm việc thời hiển thị cửa sổ current menu Phía sổ current menu cửa sổ command history hiển thị câu lệnh MATLAB nhập trước Tiếp theo cửa sổ command history xuống phía có phím , cho phép truy nhập nhanh đến thư viện MATLAB, simulink cài đặt desktop tools lựa chọn preferences Cửa sổ to MATLAB Desktop cửa sổ câu lệnh command window dùng để nhập câu lệnh MATLAB hay chạy chương trình cho trước 1.1.3 Các lệnh MATLAB Các câu lệnh MATLAB gần giống với câu lệnh unix Một số câu lệnh MATLAB tóm tắt lại đây: » ls: Liệt kê nội dung thư mục làm việc thời Cũng dùng câulệnh dir thay cho câu lệnh ls Ví dụ: » ls: temp liệt kê thư mục temp bên thư mục làm việc thời củaMATLAB » pwd hiển thị đường dẫn thư mục Ví dụ: » pwd ans = C:\MATLAB701\work đường dẫn thư mục làm việc C:\MATLAB701\work » who biến lưu nhớ Ví dụ: » a=1 a= » b=2 b= » who Your variables are: ab liệt kê hai biến a b lưu trữ nhớ chương trình » clear [tên biến] xóa biến có tên khai báo khỏi nhớ Ví dụ: » clear a » who Your variables are: b Để xóa hết tất biến lưu nhớ, sử dụng lệnh: »clear all »clc lệnh xóa tồn thơng tin command windows đưa trỏ trở vị trí ban đầu 1.1.4 Các ký hiệu đặc biệt ( ) dấu ngoặc tròn sử dụng để thứ tự ưu tiên biểu thức số học bao quanh đối số hàm số Dấu ngoặc đơn dùng để bao quanh số phần tử vector hay ma trận Ngoài ra, dấu ngoặc đơn sử dụng để bao quanh số (subscript) logic Ví dụ: A(2) phần tử thứ A A([1 3]) liệt kê phần tử thứ nhất, hai ba A A(A>0.5) liệt kê phần tử A lớn 0.5 [ ] dấu ngoặc vuông sử dụng để tạo vector ma trận Ví dụ: » A=[2 3] A= 263 tạo vector hàng với ba phần tử » A=[2 3; 3] A= 263 123 định nghĩa ma trận với sáu phần tử cho trước { } dấu ngoặc móc sử dụng để tạo mảng tế bào (cell array) Bộ dấu ngoặc móc tương tự ngoặc vuông ngoại trừ cấp độ nesting bảo tồn (′) biểu diễn phép tốn chuyển vị liên hợp phức ma trận Ví dụ, A′ ma trận chuyển vị liên hợp phức A A′ ma trận chuyển vị A (.)dấu chấm biểu diễn phân cách phần nguyên phần thập phân củamột số thập phân Ví dụ: π = 3.1416 (;) dấu chấm phảy dùng để ngăn cách hàng khai báo ma trận, hoặcngăn không hiển thị kết phép tốn hình (%) dấu phần trăm dùng để tạo comment Tất câu lệnh viết sau dấuphần trăm bị bỏ qua ( ) dấu chấm dùng để nối hai phần câu lênh hai dòng với Một câu lệnh dài viết dịng cho tiên theo dõi Khi đó, dấu3 chấm sử dụng để nối dịng với 1.1.5 Các phép tính số học Bốn phép tính số học gồm cộng, trừ, nhân, chia thể tương ứng ký hiệu +, −, ∗, / Ví dụ: »2+1 »2∗3 ans= ans= »3−1 » 6/3 ans= ans= 2 Với phép tính phức tạp có dấu ngoặc dấu ngoặc đơn (gồm mở đóng) sử dụng để phân cách thứ tự ưu tiên Ví dụ, phép tính: biểu diễn Matlab sau: » ((2+3)-(15-3))*(7+5-4)/2 dấu ngoặc đơn sử dụng thay cho dấu ngoặc vuông mặc định dùng cho vector ma trận Matlab Trong Matlab phép tính lấy mũ biểu diễn ký hiệu dấu mũ ˆ như: » 5ˆ ans= 25 1.1.6 Các toán tử so sánh Trong Matlab toán tử so sánh biểu diễn sau: Nhỏ (), Nhỏ (=), Bằng (trùng) (==), Khác (∼=) Khi hai mảng có kích thước so sánh với tốn tử so sánh thực việc so sánh phần tử với Các toán tử, = so sánh phần thực toán hạng với Các toán tử == và∼= thực so sánh phần thực phần ảo hai toán hạng Kết phép toán so sánh cho ta phép so sánh TRUE ngược lại FALSE Một số ví dụ tốn tử so sánh trình bày đây: » 1==2 » 1 » ∼= ans = ans = 1 Trong trường hợp so sánh vector hay ma trận với tốn sửso sánh thực cho ta kết so sánh phần tử tương ứng 2vector hay ma trận với Ví dụ: » A=[1 4; 7; 5] » A∼=B A= ans = 134 110 287 101 695 011 » B=[3 4; 2; 9] » A >= B B= ans = 314 011 782 011 659 110 » A==B »A