Tải bản đầy đủ (.pdf) (161 trang)

Bài giảng Mô phỏng hệ thống truyền thông: Chương 2 - PGS. TS. Võ Nguyễn Quốc Bảo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.26 MB, 161 trang )

GIỚI THIỆU MATLAB


Chương 2: GIỚI THIỆU MATLAB
•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
•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 rất dễ tạo biến, có thể tự khai báo bộ nhớ và
kiểu biến.
• Matlab phân biệt giữa chữ thường và chữ hoa.
• Lệnh save() và load() dùng để lưu trữ các biến này thành
dạng file và sử dụng lại.
• Lệnh clear all nhằm để xóa tất cả các biến hiện có trong
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 các hàm lõi và hàm có sẵn
• Chỉ nên viết hoa tồn bộ khi biến là hằng số
• Nên dung biến i, j, k, id, iRun là biến chạy trong hàm for
hay while
• Hạn chế tái sử dụng tên biến trong một chương trình


MƠI TRƯỜNG LÀM VIỆC
• Một số hàm trong Workspace:
• Whos: liệt kê tên, kích thước, số byte và các thơng số khác
của các biến
• Workspace: mở cửa số con workspace
• Clear: xóa một hay nhiều biến, hoặc tất cả các biến


MÔI TRƯỜNG LÀM VIỆC


CỬA SỔ LỆNH
• Trong cửa sổ lệnh, có thể gõ từng dòng lệnh và xem kết
quả thực thi. Nếu sau dịng lệnh có dấu ‘;’ thì Matlab vẫn
thực thi lệnh nhưng khơng xuất kết quả ra màn hình.


PHẦN GIÚP ĐỠ
• Có bốn cách cơ bản để 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ử” ở
ngay cửa sổ lệnh.
• Sử dụng dấu ? Tại thanh Quick Access Toolbar ở góc phải

trên màn hình.
• Sử dụng phím giúp đỡ F1.
• Sử dụng hàm lookfor trong trường hợp chúng ta không biết
tên hàm chính xác.


CÁC NGUỒN TÀI NGUYÊN KHÁC ĐỂ HỌC
MATLAB
• Trang bắt đầu với Matlab: />• Trung tâm Matlab: />• Matlab blog: />• Matlab trên facebook: />

MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Các tốn tử và hàm:
▪ : [] ‘ + – * .* / \ .\ ./ ^ .^ end && ||
&|~<>=
▪ zeros, ones, rand, randn, meshgrid,
▪ true, false, logspace, perms,
randperm
▪ eye, diag, blkdiag, tril, triu, rot90
▪ size, length, numel
▪ ind2sub, sub2ind, find
▪ sort, sortrows






sum, mean, max, min, abs
isequal, isprime
reshape, repmat

inv, pinv, det, svd, eig, trace, rref,
rank, orth, cov, chol
▪ squeeze, ndgrid, cat, ndims
▪ sparse, full, nnz, nzmax, nonzeros,
spy
▪ cast, class, int32, uint8,…


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Tạo ma trận:
• Cách khai báo trực tiếp ở cửa sổ lệnh:
• Dấu [] đại diện cho ma trận. Lưu ý vector là một trường hợp đặc
biệt của ma trận.
• Các phần tử trên hàng cách nhau bằng khoảng trắng hoặc dấu, .
• Các cột cách nhau bằng dấu ;.


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Tạo ma trận:
• Ví dụ 2.7: hãy khai báo một ma trận A như sau trong Matlab:


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Tạo ma trận:
• Vector là một loại ma trận hàng, hay cột, ngồi phép gán có
thể tạo theo cú pháp:
• A = giá trị bắt đầu: khoảng cách tăng: giá trị cuối
Ví dụ 2.8: Tạo ra vector hàng
chứa các số lẻ nhỏ hơn 10


Ví dụ 2.9: Tạo ma trận các số lẻ
giảm dần từ 9


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Tạo ma trận:
• Ví dụ 2.10: Tạo ma trận rỗng dùng cú pháp [] và kiểm tra kích
thước ma trận sau khi tạo ra:


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Tạo ma trận:
• Trong một số trường hợp, chúng ta cần tạo ra ma trận rỗng, có cú
pháp:
• Tên ma trận = []

• Matlab cịn hỗ trợ một số hàm tạo ra ma trận đặc biệt:
• zero: ma trận tồn số khơng
• ones: ma trận tồn số 1
• true: ma trận logic 1
• false: ma trận logic 0


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Tạo ma trận:
• Ví dụ 2.11: Hãy tạo ra các ma trận sau:
a. Ma trận 2×3 tồn 1.
b. Ma trận 3×3 có các phần tử theo phân
bố đều trong khoảng [0, 1].
c. Ma trận 2×5 có các phần tử phân bố

chuẩn trong khoảng [2, 5].
d. . Ma trận E và F theo dạng lưới từ 1
đến 5.
e. Ma trận đơn vị 4×4.

f. Ma trận đường chéo 4×4
g. Ma trận 1x6 với các 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) và ones(3,2).
i. Lấy phần dưới đường chéo chính của
ma trận ones(3,4).


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Tạo ma trận:


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Tạo ma trận:


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Kích thước ma trận:
• Matlab có hỗ trợ ba hàm như sau:
• size(): trả về kích thước các chiều của ma trận
• length(): trả về chiều dài của vector hàng/cột, nếu đầu vào của hàm là ma trận thì kế quả
trả về là chiều có kích thước lớn nhất
• numel(): trả về tổng số phần tử trong ma trận


• Cú pháp:
• [nrows, cols] = size(A)
• L = length(A)
• N = numel(A)


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Kích thước ma trận:
• Ví dụ 2.12: Tạo ra ma trận 3 chiều có kích thước [2 3 4] với các phần tử đều là 1. Dùng hàm
size, length, numel để kiểm tra kích thước, chiều dài và tổng số phần tử.
• Giải: Chúng ta dùng hàm ones() để tạo ra ma trận và các hàm size(), length() và numel() để
kiểm tra.


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Chuyển vị ma trận/vector
• Để thực hiện chuyển vị ma trận, Matlab hỗ trợ hai cách:
• Cách 1: dùng tồn tử chuyển vị ‘.
• Cách 2: dùng hàm chuyển vị transpose().

• Để chuyển một ma trận ở dạng bất kỳ về vector cột, ta dùng
toàn tử :


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Chuyển vị ma trận/vector
• Ví dụ 2.13: cho ma trận A = [1 2 3 4; 5 6 7 8], chuyển thành
ma trận hàng



MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Tổng và trung bình
• Matlab cung cấp hàm sum() và hàm mean() để tính tổng và tính

trung bình của ma trận, lưu ý là có thể tính theo hàng, theo cột, hay
cụ thể hơn là tính theo chiều của ma trận.
• Cú pháp:
• S = sum(X,'all'): tính tổng tất cả các phần tử của ma trận X.
• S = sum(X,DIM): tính tổng các phần tử X theo chiều DIM.
• S = sum(X,VECDIM): tính tổng các phần tử theo chiều chỉ ra trên vector
chiều VECDIM.


MA TRẬN VÀ XỬ LÝ TRÊN MA TRẬN
• Tổng và trung bình



Ví dụ 2.14:Cho ma trận A với 3 hàng và 3 cột, có giá trị tăng từ 1 đến 9. a.
Tính tổng theo hàng, theo cột và tồn ma trận theo cách truyền thống.
b. Tính tổng theo hàng, theo cột và toàn ma trận dùng hàm sum()


×