Bài giảng Mô phỏng hệ thống truyền thông: Chương 2 Giới thiệu matlab, cung cấp cho người học những kiến thức như: Giới thiệu tổng quan; Vẽ trong matlab; Lập trình giao diện và ứng dụng trong Matlab; Các thức lập trình trong Matlab; Giới thiệu các toolbox quan trọng khác. Mời các bạn cùng tham khảo!
GIỚI THIỆU MATLAB Chương 2: GIỚI THIỆU MATLAB •Giới thiệu tổng quan •Vẽ matlab •Lập trình giao diện ứng dụng Matlab •Các thức lập trình Matlab •Giới thiệu toolbox quan trọng khác •Bài tập GIỚI THIỆU TỔNG QUAN •Biến •Mơi trường làm việc •Cửa sổ lệnh •Phần giúp đỡ •Các nguồn tài nguyên khác để học Matlab BIẾN • Với Matlab dễ tạo biến, tự khai báo nhớ kiểu biến • Matlab phân biệt chữ thường chữ hoa • Lệnh save() load() dùng để lưu trữ biến thành dạng file sử dụng lại • Lệnh clear all nhằm để xóa tất biến có Workspace MỘT SỐ LƯU Ý ĐẶT TÊN BIẾN • Tên phải có tính gợi nhớ, có ý nghĩa • Khơng đặt tên trùng với hàm lõi hàm có sẵn • Chỉ nên viết hoa tồn biến số • Nên dung biến i, j, k, id, iRun biến chạy hàm for hay while • Hạn chế tái sử dụng tên biến chương trình MƠI TRƯỜNG LÀM VIỆC • Một số hàm Workspace: • Whos: liệt kê tên, kích thước, số byte thơng số khác biến • Workspace: mở cửa số workspace • Clear: xóa hay nhiều biến, tất biến MƠI TRƯỜNG LÀM VIỆC CỬA SỔ LỆNH • Trong cửa sổ lệnh, gõ dịng lệnh xem kết thực thi Nếu sau dòng lệnh có dấu ‘;’ Matlab thực thi lệnh khơng xuất kết hình PHẦN GIÚP ĐỠ • Có bốn cách để tìm hướng dẫn là: • Sử dụng hàm help() với cú pháp “help tên hàm/tồn tử” cửa sổ lệnh • Sử dụng dấu ? Tại Quick Access Toolbar góc phải hình • Sử dụng phím giúp đỡ F1 • Sử dụng hàm lookfor trường hợp khơng biết tên hàm xác CÁC NGUỒN TÀI NGUYÊN KHÁC ĐỂ HỌC MATLAB • Trang bắt đầu với Matlab: https://www.mathworks.com/help/matlab/gettingstartedwith-matlab.html • Trung tâm Matlab: https://www.mathworks.com/matlabcentral/?refresh=true • Matlab blog: https://blogs.mathworks.com/? • Matlab facebook: https://www.facebook.com/MATLAB Ví dụ VD2: Sử dụng hàm latex() để trả mã LaTeX cho biểu thức biến symbolic sau a x + 1/x b sin(pi*x) + phi Giải: Điểm lưu ý cần khai báo biến symbolic cho x phi trước thực lệnh latex() Ta thực lệnh sau : LẬP TRÌNH GIAO DIỆN VÀ ỨNG DỤNG TRONG MATLAB • Matlab hỗ trợ hai cách để lập trình giao diện: • App Designer: Đây cách lập trình giao diện mới, hỗ trợ nhiều cơng cụ chức đặc biệt có hỗ trợ biên dịch với Matlab compiler • GUIDE Programmatic Workflow: phiên cũ App Designer phù hợp với phiên Matlab Để khởi tạo GUIDE, gõ “guide” cửa sổ lệnh LẬP TRÌNH GIAO DIỆN VÀ ỨNG DỤNG TRONG MATLAB • Cách lập trình App Designer • “Design View”: giao diện để thiết kế giao diện cho ứng dụng dùng phương pháp kéo thả, toàn thư viện thành phần (components) cột bên trái • “Code View”: giao diện để lập trình chức cho ứng dụng Phần lập trình có màu sáng điều chỉnh được, phần khơng lập trình điều chỉnh có màu tối LẬP TRÌNH GIAO DIỆN VÀ ỨNG DỤNG TRONG MATLAB • Các nhóm thành phần hỗ trợ App Designer LẬP TRÌNH GIAO DIỆN VÀ ỨNG DỤNG TRONG MATLAB • Để thay đổi đặc tính (property) thành phần giao diện, tham chiếu tới cột “Component Browser” lựa chọn “Component”, “Property” mà muốn điều chỉnh LẬP TRÌNH GIAO DIỆN VÀ ỨNG DỤNG TRONG MATLAB • Sau thiết kế xong giao diện mục “Desgin View”, lập trình chức cho giao diện hai cách sau: • Cách 1: Nhấp phải vào đối tượng chọn “Callbacks” chọn “Goto…” • Cách 2: Chuyển qua TAB “Code View” để lập trình chức cho giao diện LẬP TRÌNH GIAO DIỆN VÀ ỨNG DỤNG TRONG MATLAB • Ví dụ 2.76: Lập trình giao diện vẽ tín hiệu hình sin nhiễu trắng cộng hai chu kỳ a Đồ thị có tên “Đồ thị sin(x) cộng nhiễu” b Sử dụng slider để điều chỉnh biên độ nhiễu vẽ tín hiệu • Giải: Ta thực bước sau: • Bước 1: Chúng ta thiết kế giao diện gồm thành phần: Axes Slider • Đối với Axes vào mục Title: String điều chỉnh “Đồ thị sin(x) cộng nhiễu” • Đối với Slider, thay đổi Label thành “Cơng suất nhiễu” • Bước 2: Vào mục Callbacks, cập nhật sau: LẬP TRÌNH GIAO DIỆN VÀ ỨNG DỤNG TRONG MATLAB • Ví dụ 2.76: Lập trình giao diện vẽ tín hiệu hình sin nhiễu trắng cộng hai chu kỳ LẬP TRÌNH GIAO DIỆN VÀ ỨNG DỤNG TRONG MATLAB • Ví dụ 2.76: Lập trình giao diện vẽ tín hiệu hình sin nhiễu trắng cộng hai chu kỳ CÁCH THỨC LẬP TRÌNH TRONG MATLAB • Có hai cách đơn giản để thực giải thuật Matlab: • Cách 1: Trực tiếp dòng lệnh cửa sổ lệnh Cách có ưu điểm dễ tương tác cho kết cửa sổ lệnh Phù hợp với tốn có dịng lệnh • Cách 2: Thực thơng qua Script hay live Script, lưu tương ứng dạng m hay mlx Script (hay live Script), tập hợp dòng lệnh Matlab gọi hàm (function) Matlab Điểm khác Script với function thực dòng lệnh Matlab mà khơng có tham số đầu vào giá trị trả CÁCH THỨC LẬP TRÌNH TRONG MATLAB • Ví dụ 2.77: Sử dụng Matlab tính tổng N số tự nhiên a Tư theo ngơn ngữ cấp thấp b Tư theo Matlab • Chúng ta kết sau: CÁCH THỨC LẬP TRÌNH TRONG MATLAB • Ví dụ 2.78: Tạo ngẫu nhiên cột điểm sinh viên theo phân bố từ đến 10, sau tính tổng số lượng sinh viên đậu mơn học (>=5) CÁCH THỨC LẬP TRÌNH TRONG MATLAB • Ví dụ 2.79: So sánh thời gian giải thuật chạy ví dụ sử dụng hàm tic toc CÁCH THỨC LẬP TRÌNH TRONG MATLAB • Ví dụ 2.79: So sánh thời gian giải thuật chạy ví dụ sử dụng hàm tic toc GIỚI THIỆU CÁC TOOLBOX MATLAB QUAN TRỌNG KHÁC ... tuyến tính • Ví dụ 2. 25: Cho ma trận 2x2 A=[1 2; 4] a Gán phần tử hàng cột b Gán phần tử hàng cột -5 dùng số tuyến tính MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN • Chỉ số tuyến tính • Ví dụ 2. 26: Tạo ma trận... chéo 4×4 g Ma trận 1x6 với giá trị tăng theo bậc mũ từ 10 đến 10 ^2 h Ghép hai ma trận theo đường chéo từ hai hàm rand (2, 2) ones(3 ,2) i Lấy phần đường chéo ma trận ones(3,4) MA TRẬN VÀ XỬ LÝ TRÊN... số sau: (2, 3) ; (2, 1) ; (5,3) ; (5,1) f Trích xuất cột thứ g Trích xuất hàng thứ h Chuyển ma trận thành vector cột i Trích xuất phần tử hàng cuối cùng, cột j Trích xuất ma trận vng 2? ?2 đường chéo