intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Xử lý tín hiệu nâng cao - Chương 1: Tổng quan về công cụ MATLAB

Chia sẻ: Dien_vi02 Dien_vi02 | Ngày: | Loại File: PPT | Số trang:47

62
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 1 trình bày những nội dung chính sau: Giới thiệu matlab, tổng quan về lập trình matlab, cách sử dụng biến trong matlab, các lệnh và các hàm cơ bản, cách thao tác với ma trận, vẽ đồ thị trong matlab, làm việc với hàm và m-file, lập trình GUI.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Xử lý tín hiệu nâng cao - Chương 1: Tổng quan về công cụ MATLAB

  1. Xử lý tín hiệu nâng cao CHƯƠNG I Tổng quan về công cụ MATLAB
  2. Tài liệu tham khảo 1. Xử lý tín hiệu nâng cao - Nguyễn Quốc Trung 2. Digital signal processing using MATLAB - Viney K.Ingle & John G.Proakis 3. Digital Signal and Image Processing Using MATLAB - Gerard Blanchet & Maurice Charbit 4. Digital image processing using MATLAB - Gonzalez Woods & Eddins 5. Xử lý số tín hiệu - Hồ Văn Sung 2
  3. Nội dung  Giới thiệu Matlab  Tổng quan về lập trình Matlab  Cách sử dụng biến trong Matlab  Các lệnh và các hàm cơ bản  Cách thao tác với ma trận  Vẽ đồ thị trong Matlab  Làm việc với hàm và m-file  Lập trình GUI 3
  4. Giới thiệu Matlab  Matlab được phát triển bởi MathWorks  Là một ngôn ngữ lập trình thông dịch  Hỗ trợ lập trình hướng đối tượng  Ứng dụng rộng rãi  Có khả năng liên kết với nhiều ngôn ngữ lập trình khác 4
  5. Lịch sử phát triển  Cuối thập niên 1970. MATLAB, nguyên sơ được viết bởi ngôn ngữ Fortran  Năm 1983, Jack Little, một người đã học ở MIT và Stanford, đã viết lại MATLAB bằng ngôn ngữ C  Năm 1984: Phiên bản đầu tiên MATLAB 1.0 viết bằng C cho MS-DOS PC  Năm 1986, MATLAB 2 ra đời trong đó hỗ trợ UNIX.  Năm 1987, MATLAB 3 phát hành. 5
  6. Lịch sử phát triển  Năm 1992 MATLAB 4 thêm vào hỗ trợ 2-D và 3-D  Năm 1996 MATLAB 5 bao gồm thêm các kiểu dữ liệu, bộ sửa lỗi và bộ tạo dựng GUI  Năm 2000 MATLAB 6  Năm 2002 MATLAB 6.5  Năm 2004 MATLAB 7  Tháng 6, 2009, phiên bản MATLAB R2009a 6
  7. Màn hình chính 7
  8. Tổng quan về lập trình trong Matlab  Lập trình hướng thủ tục  Cú pháp, từ khóa  Sử dụng các thư viện Toolbox  Lập trình trong Matlab  Sử dụng dòng lệnh  Lập trình m-file  Thiết kế chương trình có GUI 8
  9. Sử dụng biến trong Matlab  Không cần khai báo kiểu, số chiều, độ dài biến.  Mỗi khi một cái tên mới xuất hiện với phép gán, Matlab tạo biến và tự động cấp phát bộ nhớ cho nó.  Ví dụ: sosv = 110 tạo một biến tên sosv (là một ma trận 1x1) lưu giá trị 110.  Nếu đó là biến cũ, nó sẽ thay đổi nội dung mới nếu thực hiện phép gán.  Ví dụ: >>X = 3 >>X = 4 // X = 4. 9
  10. Cách đặt tên biến  Tên biến phải là một từ, không chưa dấu cách, tên biến tối đa là 63 ký tự  Tên biến phân biệt chữ hoa và chữ thường  Tên biến bắt đầu bằng chữ cái  Ký tự dấu chấm “.” không được sử dụng để trong đặt tên biến. 10
  11. Các biến đặc biệt Các biến đặc biệt Giá trị ans biến mặc định trả về kết quả pi số pi eps Số nhỏ nhất lớn hơn 0 inf Để chỉ số vô cùng NaN hoặc nan Để chỉ số ko xác định như kết quả của 0/0 i và j Số phức, i=j=sqrt(-1) realmin Số dấu chấm động nhỏ nhất (2.2251e-308) realmax Số dấu chấm động lớn nhất (1.7977e+308) 11
  12. Véc tơ và ma trận  Các bài toán trong Matlab được quy về tính toán và xử lý trên ma trận  Ví dụ, tạo một ma trận trong Matlab: >> M=[3 4 5 ; 2 1 4] M = 3 4 5 2 1 4  Các phần tử trong một cột cách nhau bởi dấu cách (space) hoặc dấu phẩy  Các hàng được cách nhau bằng dấu “;”  Chỉ số các phần tử bắt đầu từ 1 12
  13. Một số lệnh thông dụng  clc: Xóa màn hình cửa sổ lệnh  who: xem tên biến trong không gian làm việc của Matlab >> who Your variables are: A M N  whos: xem chi tiết hơn về các biến >> whos Name Size Bytes Class A 1x10 80 double array M 6x3 144 double array N 3x3 72 double array Grand total is 37 elements using 296 bytes  clear: Xóa các biến trong bộ nhớ của Matlab  help: yêu cầu sự giúp đỡ 13
  14. Các toán tử Toán tử Ký hiệu Phép cộng + Phép trừ ­ Phép nhân * Phép chia / hoặc \ Phép lũy thừa ^ Chuyển vị ma trận ' Các toán tử quan hệ  >, =, 
  15. Các hàm toán học thông dụng Tên hàm Ý nghĩa sin(x), cos(x), tan(x) Các hàm lượng giác asin(x), acos(x), atan(x) Các hàm lượng giác ngược exp(x) Hàm mũ ex log(x), log10(x), log2() Logarit cơ số e, 10, 2 abs(x) Hàm lấy trị tuyệt đối Round(x), floor(x), fix(x),  Các hàm làm tròn ceil(x) 15
  16. Thực hành  1.1 Dự đoán kết quả xuất ra màn hình: a. 2 ; 4 b. 2 / 4 c. 2 \ 4 d. 2 , 4 e. 2 : 4  1.2 Tính bằng tay các biểu thức sau, rồi thử lại bằng Matlab: a. 2 / 2 * 3 b. 6 – 2 / 5 + 7 ^ 2 – 1 c. 10 / 2 \ 5 – 3 + 2 * 4 d. 3 ^ 2 / 4 e. 3 ^ 2 ^ 2 f. round(6 / 9 + 3 * 2) g. floor(6 / 9 + 3 * 2) h. ceil(6 / 9 + 3 * 2) k. fix(4/9)+fix(3*(5/6)) 16
  17. Thực hành  1.3 Xác định công dụng của hàm solve, thực hiện một ví dụ với hàm này  1.4 Tạo một số ngẫu nhiên  Có giá trị từ 0 đến 1  Có giá trị từ 0 đến 100  Có giá trị từ 30 đến 70  1.5 Xác định ý nghĩa của các hàm  mod(a,b)  gcd(a,b)  lcm(a,b) 17
  18. Các toán tử và các hàm thao tác với ma trận  Có thể dùng các hàm sau để tạo các ma trận đặc biệt:  zeros(N): Tạo ma trận các phần tử đều bằng 0 có kích thước N  ones(N): Tạo ma trận các phần tử đều bằng 1 có kích thước N  rand(N): Tạo ma trận ngẫu nhiên có kích thước N, các phần tử phân bố đều.  randn(N): Tạo ma trận ngẫu nhiên có kích thước N, các phần tử tuân theo phân bố chuẩn  magic(N): Tạo ma trận magic (tổng giá trị trong 1 hàng bằng tổng giá trị trong 1 cột bằng tổng giá trị đường chéo) có kích thước N  eye(N): Tạo ma trận đơn vị 18
  19. Các toán tử và các hàm trên ma trận  Các toán tử trên ma trận  Cộng: X=A+B  Trừ: X=A-B  Nhân: X=A*B  Chia: X=A/B (A=X*B) hoặc X=A\B (B=A*X)  Lũy thừa: X=A^2 (X=A*A)  Xóa cột: A(:,3)=[] để xóa cột 3 trong ma trận A  Xóa hàng: A(3,:)=[] để xóa hàng 3 trong ma trận A  Các hàm thông dụng với ma trận  Tính kích thước: d=size(A)  Tính định thức: d=det(A)  Tính ma trận nghịch đảo: X=inv(A) 19
  20. Thực hành  1.6 Tạo một vector:  Có 10 phần tử có giá trị nguyên được lấy ngẫu nhiên trong khoảng [0, 100]  Có 10 phần tử có giá trị nguyên được lấy ngẫu nhiên trong khoảng [-20 ,10]  1.7 Cho x = [3 1 5 7 9 2 6], dự đoán kết quả các dòng lệnh sau và thử lại bằng Matlab: a. x(3) b. x(1:7) c. x(1:end) d. x(1:end-1) e. x(6:-2:1) f. x([1 6 2 1 1]) g. sum(x)  1.8 Giải hệ phương trình: 2 x1 + x2 + 5 x3 + x4 = 5 x1 + x2 − 3 x3 − 4 x4 = −1 3x1 + 6 x2 − 2 x3 + x4 = 8 2 x1 + 2 x2 + 2 x3 − 3 x4 = 2 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
8=>2