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()