Tải bản đầy đủ (.pptx) (42 trang)

Bài giảng Xử lý tín hiệu số: Chương 4 - Lã Thế Vinh

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 (373.78 KB, 42 trang )

Bài giảng mơn học
Xử Lý Tín Hiệu Số
Giảng viên: Lã Thế Vinh
Email:
Chú ý: bài giảng có sử dụng các học liệu được cung cấp bởi Giáo sư Tae-Song Kim,
Trường Đại học Kyung Hee, Hàn Quốc.


MATLAB










Giới thiệu
Bắt đầu với MATLAB
Biến
Véc-tơ và ma trận
Các tốn tử cơ bản
File mã MATLAB
Chương trình con
Lệnh lập trình cơ bản
Đồ thị và biểu đồ


Giới thiệu MATLAB


• MATLAB: MATrix LABoratory
• Phát triển bởi Cleve Moler từ 1970
• Được sử dụng nhiều trong tính tốn:
– Lý thuyết ma trận
– Đại số tuyến tính
– Các phương pháp số

• Các tính năng nổi bật khác:
– Mơ phỏng
– Giải toán symbolic


Giới thiệu MATLAB
• Ưu điểm của MATLAB (so với các ngơn ngữ khác):
– Dễ lập trình
– Khả năng tạo các đồ thị, biểu đồ dễ dàng
– Giao diện thân thiện

• Trong môn học này MATLAB được dùng để:
– Làm các thí nghiệm đơn giản: tạo, xử lý và hiển thị các tín
hiệu
– Phân tích phổ tín hiệu
– Thực hiện các bộ lọc tín hiệu


Bắt đầu với MATLAB
• Cài đặt MATLAB


Bắt đầu với MATLAB

• Chạy MATLAB


Biến trong MATLAB
• MATLAB là ngơn ngữ lập trình có kiểu biến
động
• Biến được khai báo và khởi tạo mà khơng cần
chỉ định kiểu
• Ví dụ: x = 1.0; y = [1 2;3 4];


Biến trong MATLAB
• Phép gán: x = y, MATLAB tự khai báo x và gán
cho x kiểu tương ứng
• Tên biến:
– Khơng có dấu cách
– Chứa các chữ cái, số và dấu gạch chân, không bắt
đầu bằng số
– Tên biến phân biệt chữ hoa và chữ thường: x khác
X
– Độ dài tối đa của tên biến là 19


Biến trong MATLAB
• Tên biến hợp lệ:






voltage
valueOfR1
Ron_and_Mauro
_Alan2007_

• Tên biến khơng hợp lệ:





123
value of R1
3v
X#*()$#$!!!


Các lệnh cơ bản của MATLAB
• Panel trái: Thư mục / Không gian biến
– A) Thư mục hiện tại MATLAB đang làm việc
– B) Biến và giá trị của biến đã được tạo ra

• Panel phải: Cửa sổ lệnh
– Nhập lệnh cho MATLAB
– Lệnh khơng có dấu ; sẽ in kết quả thực thi ra cửa sổ lệnh
– Lệnh có dấu ; sẽ không in kết quả thực thi


Các lệnh cơ bản của MATLAB
• Cách nhập lệnh:


– Một lệnh một dòng kết thúc bằng ENTER
– Nhiều lệnh một dịng:
• Dùng ; để tách lệnh
• Dùng , để tách lệnh (in kết quả thực thi)

• Nhập tên biến + ENTER = xem giá trị biến
• Nhập một giá trị + ENTER , MATLAB tạo ra biến ans
(answer) với giá trị đã nhập


Các lệnh cơ bản của MATLAB


Các lệnh cơ bản của MATLAB
• who: Hiện các biến đã được tạo ra
• clear:
– all: Xóa hết các biến
– x: Xóa biến x

• clc: Xóa cửa sổ lệnh
– Biến vẫn tồn tại


Các lệnh cơ bản của MATLAB


Các lệnh cơ bản của MATLAB
• Giá trị trong MATLAB có thể là phức
– X=1+2i

– Y=1+2j


Các lệnh cơ bản của MATLAB
• Cửa số lịch sử: Các lệnh đã dùng gần đây
• Nháy đúp để chạy lại lệnh
• Nhấn phìm lên, xuống,
trái, phải
cho phép
duyệt lại các lệnh
đã dùng


Véc-tơ và Ma trận
• MATLAB xem các biến là các ma trận 2 chiều
(trừ khi có chỉ định rõ ràng)
– Mảng và véc-tơ: ma trận N x 1 hoặc 1 x N
– Giá trị vô hướng: ma trận 1 x 1


Véc-tơ và Ma trận
• Khai báo véc-tơ, ma trận

– C / Java: int a[4] = {1, 2, 3, 4};
– MATLAB:
• a = [1 2 3 4] – Véc-tơ hàng
• a = [1 2 3 4]’ – Véc-tơ cột
• a = [1;2;3;4] – Véc-tơ cột

• MATLAB tự động co giãn các ma trận



Véc-tơ và Ma trận
• Truy nhập phần tử
– C/Java:
• int x = a[0];

– MATLAB:
• x = a(1);

• LƯU Ý!:
– Ngoặc tròn
– Chỉ số bắt đầu từ 1


Véc-tơ và Ma trận
• Tạo ma trận
– C/Java: int a[4][4] = {{1, 2, 3, 4},
{5, 6, 7, 8}, {9, 10, 11, 12},
{13, 14, 15, 16}};
– MATLAB:
• #1: a = [1 2 3 4; 5 6 7 8; 9 10 11 12;
13 14 15 16];
• #2: a = [1 2 3 4;
5 6 7 8;
9 10 11 12;
13 14 15 16];


Véc-tơ và Ma trận

• Truy nhập phần tử
– C/Java:
• int x = a[2][3];

– MATLAB:
• x = a(3,4);






Khơng phân tách bởi ngoặc
, phân tách các chiều của ma trận
Chỉ số từ 1
Chỉ số đầu là hàng, chỉ số sau là cột


Véc-tơ và Ma trận
• Truy nhập nhiều phần tử
• Giả sử có ma trận a
– Làm thế nào truy nhập hàng đầu tiên?
– C/Java:
• int i;
for(i = 0; i < 4; i++)
y[i] = x[0][i];

– MATLAB
• y=x(1,:);
• Khơng lặp, dấu : đại diện cho tất cả các cột



Véc-tơ và Ma trận
• Truy nhập nhiều phần tử
• Giả sử có ma trận x (9x9), muốn truy nhập vào
phần tử 1, 3, 5, 7 hàng số 1
– y = x(1,[1, 3, 5, 7]);
– y = x(1,[true false true false true false true false false]);


Véc-tơ và Ma trận
• Các ví dụ khác:










s
s
s
s

=
=
=

=

a(2,3);
a(1:3,3:4);
a(:, 1:3);
a(2:4,:);

Dịng một:…..?
Dịng hai:….?
Dòng ba:….?
Dòng bốn:….?


Véc-tơ và Ma trận
• Sao chép ma trận
– J = a(:,:);
– J = a;


×