Bài tập Matlab - Chương 1: Giới thiệu Matlab

Matlab là từviết tắt của Matrix Laboratory

Matlab là một ngôn ngữlập trình cấp cao dạng thông dịch, nó là môi trường tính

toán số được thiết kếbởi công ty MathWorks. Matlab cho phép thực hiện các phép

tính toán số, ma trận, vẽ đồthịhàm sốhay biểu diễn thông tin (dưới dạng 2D hay

3D), thực hiện các thuật toán và giao tiếp với các chương trình của các ngôn ngữkhác

một cách dễdàng.

Phiên bản Matlab được sửdụng mô phỏng trong tài liệu này là Matlab 7.0.4

pdf8 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 3019 | Lượt tải: 5download
Tóm tắt nội dung Bài tập Matlab - Chương 1: Giới thiệu Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Chương 1: Giới thiệu Matlab 
Mục đích: Giúp sinh viên làm quen với Matlab ¾ 
¾ Nội dung: 
Giới thiệu tổng quan về Matlab ™ 
™ Giới thiệu một vài lệnh 
™ Thao tác căn bản trong Matlab 
Thực hiện một vài ví dụ làm quen trên Matlab ™ 
1. Tổng quan 
a. Giới thiệu 
Matlab là từ viết tắt của Matrix Laboratory 
Matlab là một ngôn ngữ lập trình cấp cao dạng thông dịch, nó là môi trường tính 
toán số được thiết kế bởi công ty MathWorks. Matlab cho phép thực hiện các phép 
tính toán số, ma trận, vẽ đồ thị hàm số hay biểu diễn thông tin (dưới dạng 2D hay 
3D), thực hiện các thuật toán và giao tiếp với các chương trình của các ngôn ngữ khác 
một cách dễ dàng. 
Phiên bản Matlab được sử dụng mô phỏng trong tài liệu này là Matlab 7.0.4 
b. Khởi động và chuẩn bị thư mục làm việc trong Matlab 
Trước khi khởi động Matlab, thì người dùng phải tạo một thư mục làm việc để 
chứa các file chương trình của mình (ví dụ: D:\ThucHanh_DSP). 
Matlab sẽ thông dịch các lệnh được lưu trong file có dạng *.m 
Sau khi đã cài đặt Matlab thì việc khởi chạy chương trình này chỉ đơn giản là 
nhấp vào biểu tượng của nó trên desktop , hoặc vào Start\All 
Programs\Matlab 7.0.4\ Matlab 7.0.4 
Sau khi đã khởi động xong Matlab, thì bước kế tiếp là chỉ thư mục làm việc của 
mình cho Matlab. Nhấp vào biểu tượng trên thanh công cụ và chọn thư mục làm 
việc của mình (ví dụ: D:\ThucHanh_DSP). 
Cửa sổ làm việc của Matlab sẽ như hình vẽ bên dưới. Nó bao gồm 3 cửa sổ làm 
việc chính: Cửa sổ lệnh (Command Window), cửa sổ thư mục hiện tại (Current 
Directory ) và cửa sổ chứa tập các lệnh đã được sử dụng (Command History) 
Để tạo một file.m trong thư mục làm việc bạn đọc có thể thực hiện: 
ƒ Nhấp vào biểu tượng hoặc vào File\New\M-File 
ƒ Cửa sổ soạn thảo xuất hiện, gõ chương trình cần thiết vào file. Sau khi đã 
hoàn tất nhấn vào biểu tượng để lưu vào thư mục hiện tại 
(D:\ThucHanh_DSP) 
Để thực thi tập lệnh có trong file.m trong thư mục làm việc thì người dùng chỉ cần 
gõ tên file đó và Matlab sẽ tự động thực thi các dòng lệnh có trong file.m này (ví dụ 
để thực thi các lệnh có trong file test.m, chỉ cần gõ lệnh test). 
2. Các lệnh thông dụng trong Matlab 
a. Một vài kiểu dữ liệu 
Matlab có đầy đủ các kiểu dữ liệu cơ bản: số nguyên, số thực, ký tự, Boolean 
Chuổi ký tự được đặt trong nháy kép (“”) ví dụ “thuc hanh”. 
Kiểu dãy có thể được khai báo theo cú pháp “số đầu: bước: số cuối”. Ví dụ 0: 0.2: 
0.5 (kết quả sẽ thu được một chuổi [0 0.2 0.4] 
Kiểu ma trận có thể được khai báo như ví dụ sau: 
M = [1, 2, 3; 4, 5, 6; 7, 8, 9] 
Ma trận M thu được sẽ là: 
 A = 1 2 3 
 4 5 6 
 7 8 9 
b. Các lệnh điều khiển cơ bản 
Lệnh Clear: Xóa tất cả các biến trong bộ nhớ Matlab 
Lệnh clc: Lệnh xóa cửa sổ lệnh (command window) 
Lệnh pause: Chờ sự đáp ứng từ phía người dùng 
Lệnh =: lệnh gán 
Lệnh %: câu lệnh sau dấu này được xem là dòng chú thích 
Lệnh input: lệnh lấy vào một giá trị. 
 Ví dụ: x = input(‘Nhap gia tri cho x:’); 
Lệnh help: lệnh yêu cầu sự giúp đở từ Matlab 
Lệnh Save: Lưu biến vào bộ nhớ 
 Ví dụ: Save test A B C (lưu các biến A, B, C vào file test) 
Lệnh Load: load biến từ file hay bộ nhớ 
 Ví dụ: Load test 
Lệnh Rẻ nhánh: cú pháp như sau 
 Lệnh If: 
 IF expression 
 statements 
 ELSEIF expression 
 statements 
 ELSE 
 statements 
 END 
Lệnh Switch: 
 SWITCH switch_expr 
 CASE case_expr, 
 statement,..., statement 
 CASE {case_expr1, case_expr2, case_expr3,...} 
 statement,..., statement 
 ... 
 OTHERWISE, 
 statement,..., statement 
 END 
Lệnh lặp: cú pháp như sau: 
 Lệnh For: 
FOR variable = expr, statement,..., statement END 
Lệnh While: 
 WHILE expression 
 statements 
 END 
Lệnh Break: Thoát đột ngột khỏi vòng lặp WHILE hay FOR. 
Lệnh Continue: Bỏ qua các lệnh hiện tại, tiếp tục thực hiện vòng lặp ở lần lặp 
tiếp theo. 
Lệnh Return: lệnh trả về 
Lệnh clf: xóa hình hiện tại 
Lệnh plot(signal): vẽ dạng sóng tín hiệu signal 
Lệnh stairs(signal): vẽ tín hiệu signal theo dạng cầu thang. 
Lệnh stem(signal): vẽ chuỗi dữ liệu rời rạc 
Lệnh bar(signal): vẽ dữ liệu theo dạng cột 
Lệnh mesh(A): hiển thị đồ họa dạng 3D các giá trị ma trận 
c. Các phép tính với ma trận 
Nhập 1 ma trận vào Matlab: 
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] 
A = 
 16 3 2 13 
 5 10 11 8 
 9 6 7 12 
 4 15 14 1 
Tạo 1 ma trận vào Matlab: sử dụng các hàm có sẵn 
ƒ Zeros(n,m): ma trận (n.m) các phần tử bằng 0 
ƒ Eye(n) : ma trận đ ơ n vị (n.n) 
ƒ Ones(n,m) : ma trận (n.m) các phần tử bằng 1 
ƒ Rand(n,m) : ma trận (n.m) các phần tử từ 0 đến 1 
ƒ Diag(V,k) : nếu V là một vectơ thì sẽ tại ma trận đường chéo 
Phép chuyển vị: A’ 
>> A' 
ans = 
 16 5 9 4 
 3 10 6 15 
 2 11 7 14 
 13 8 12 1 
Hàm sum: Tính tổng các phần tử trên từng cột của ma trận mxn thành ma trận 
1xn 
>> sum(A) 
ans = 
 34 34 34 34 
Hàm diag: Lấy các phần tử đường chéo của ma trận 
>> diag(A) 
ans = 
 16 
 10 
 7 
 1 
>> C = [1 2 3;2 3 4] 
C = 
 1 2 3 
 2 3 4 
>> diag(C) 
ans = 
 1 
 3 
Hàm det: tính định thức ma trận 
>> det(A) 
ans = 
 0 
Hàm rank: tính hạng của ma trận 
>> rank(A) 
ans = 
 3 
Hàm inv: tính ma trận nghịch đảo 
>> inv(A) 
ans = 
 1.0e+015 * 
 0.2796 0.8388 -0.8388 -0.2796 
 -0.8388 -2.5164 2.5164 0.8388 
 0.8388 2.5164 -2.5164 -0.8388 
 -0.2796 -0.8388 0.8388 0.2796 
Truy xuất 1 phần tử trong ma trận: A(x,y) 
 Trong đó: A tên ma trận 
 x: Tọa độ hàng tính từ 1. 
 y: Tọa độ cột tính từ 1. 
>> A 
A = 
 16 3 2 13 
 5 10 11 8 
 9 6 7 12 
 4 15 14 1 
>> A(4,3) 
ans = 
 14 
>> A(4,3) = 16 
A = 
 16 3 2 13 
 5 10 11 8 
 9 6 7 12 
 4 15 16 1 
Toán tử Colon (:) 
A(i:j,k): Lấy các phần tử từ i đến j trên hàng k của ma trận A. 
A(i,j:k): Lấy các phần tử từ j đến k trên hàng i của ma trận A. 
>> A 
A = 
 16 3 2 13 
 5 10 11 8 
 9 6 7 12 
 4 15 16 1 
>> A(3,2:4) 
ans = 
 6 7 12 
>> A(1:2,3) 
ans = 
 2 
 11 
Cộng trừ 2 ma trận: A(n.m) ± B(n.m) = C(n.m) 
Nhân 2 ma trận: A(n.m) * B(m.k) = C(n.k) 
Nhân mảng: C = A.* B (C(i,j) = A(i,j) * B(i,j)) 
Chia trái mảng: C = A.\ B (C(i,j) = B(i,j) / A(i,j)) 
Chia phải mảng: C = A./ B (C(i,j) = A(i,j) / B(i,j)) 
Chia trái ma trận: C = A \ B = inv(A) * B (pt: AX = B) 
Chia phải ma trận: C = A / B = B * inv(A) (pt: XA = B) 
Lũy thừa ma trận: A ^ P 
Biểu diễn tín hiệu trên miền thời gian 
n= [1:3] % Miền thời gian 1, 2, 3 
x=[1 2 3] % Tín hiệu rời rạc 
stem(n,x) % Biểu diễn tín hiệu x trên miền thời gian n 
3. Bài tập 
a. Bài 1: Nhập vào ma trận: A=[16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] 
ƒ Tìm kích thước ma trận A 
ƒ Lấy dòng đầu tiên của ma trận A. 
ƒ Tạo ma trận B bằng 2 dòng cuối cùng của A. 
ƒ Tính tổng các phần tử trên các cột của A. (gợi ý: tính tổng các phần tử trên 
cột 1: sum(A(:,1))). 
ƒ Tính tổng các phần tử trên các dòng của A. 
b. Bài 2: Cho ma trận A=[2 7 9 7; 3 1 5 6; 8 1 2 5], sinh viên giải thích kết quả của 
các lệnh sau: 
ƒ A' 
ƒ A(:,[1 4]) 
ƒ A([2 3],[3 1]) 
ƒ reshape(A,2,6) 
ƒ A(:) 
ƒ [A A(end,:)] 
ƒ A(1:3,:) 
ƒ [A ; A(1:2,:)] 
ƒ sum(A) 
ƒ sum(A') 
ƒ [ [ A ; sum(A) ] [ sum(A,2) ; sum(A(:)) ] ] 
c. Bài 3: Giải hệ phương Ax=b, với: A= 
013
352
101
−
−
 và b = 
2
1
1
−
d. Bài 4: Cho vectơ x = [3 1 5 7 9 2 6], giải thích kết quả của các lệnh sau: 
ƒ x(3) 
ƒ x(1:7) 
ƒ x(1:end) 
ƒ x(1:end-1) 
ƒ x(6:-2:1) 
ƒ x([1 6 2 1 1]) 
ƒ sum(x) 
e. Bài 5: Vẽ đồ thị hàm số y1=sinx.cos2x và hàm số y2=sinx2 trong [0-2] 
f. Bài 6: giải hệ phương trình sau: 
2x1 + 4x2 + 6x3 – 2x4 =0 
x1 + 2x2 + x3 + 2x4 =1 
2x2 + 4x3 + 2x4 = 2 
3x1 - x2 + 10x4 = 10 
g. Bài 7: Vẽ mặt 
22
22sin
yx
yx
z +
+= trong không gian 3 chiều 
h. Bài 8: Sinh viên thử vẽ mặt trụ z= 24 yx + bằng hàm mesh và hàm surf 

File đính kèm:

  • pdfBài tập Matlab - Chương 1_Giới thiệu Matlab.pdf