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

Bài giảng Matlab - ĐH Vinh

Chia sẻ: Vô Lượng Thiên Tôn | Ngày: | Loại File: PDF | Số trang:47

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

Bài giảng Matlab được soạn thảo nhằm cung cấp cho các bạn những kiến thức về phần mềm Matlab; ứng dụng Matlab trong việc giải quyết một số bài toán. Mời các bạn tham khảo bài giảng để bổ sung thêm kiến thức trong lĩnh vực này.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Matlab - ĐH Vinh

  1. 11/4/2013 KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÁC HỆ THỐNG THÔNG TIN MATrix LABoratory Hoang Huu Viet, Ph.D., E-mail: viethh.vinhuni@gmail.com Sep., 2013 Matlab Mục đích  Giới thiệu cơ bản về phần mềm MATLAB cho sinh i h viên. iê  Ứng dụng MATLAB để giải quyết được một số bài toán cơ bản liên quan với ngành học của sinh viên. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 2 1
  2. 11/4/2013 Matlab Nội dung  Chương 1. Nhập môn  Chương 2. Ma trận và mảng  Chương 3. Đồ họa trong Matlab  Chương 4. Lập trình trong Matlab Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 3 Matlab Tài liệu tham khảo  [1] Nguyễn Hoàng Hải, Nguyễn Khắc Kiểm, N Nguyễn ễ Trung T Dũ Dũng, Hà Trần T ầ Đức, Đứ LậpLậ trình tì h Matlab, MXB Khoa học và Kỹ thuật, 2003.  [1] Nguyễn Hữu Tình, Lê Tấn Hùng, Phạm Thị Ngọc Yến, Nguyễn Thị Lan Hương, Cơ sở Matlab & ứng dụng, NXB Khoa học và Kỹ thuật, 2009 2009. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 4 2
  3. 11/4/2013 KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÁC HỆ THỐNG THÔNG TIN MATrix LABoratory Hoang Huu Viet, Ph.D., E-mail: viethh.vinhuni@gmail.com Sep., 2013 Chương 1. Nhập môn Nội dung  Giới thiệu về MATLAB  Khởi động và kết ế thúc  Môi trường làm việc  M-File Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 2 1
  4. 11/4/2013 Chương 1. Nhập môn Giới thiệu về MATLAB  MATLAB (MATrix LABoratory) được Cleve Moler phát hát minh i h vào à cuối ối thập thậ niên iê 1970. 1970  Cleve Moler là GS toán và khoa học máy tính gần 20 năm ở các trường Đại học Michigan, Stanford, và New Mexico (http://www.mathworks.com/moler/).  Cleve Moler cũng là đồng tác giả của các quyển sách  Numerical Computing with MATLAB  Experiments with MATLAB  Cleve Moler hiện là chủ tịch công ty MatWorks. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 3 Chương 1. Nhập môn Giới thiệu về MATLAB  MATLAB được phát triển bởi công ty M thW k MathWorks.  Matlab là một ngôn ngữ bậc cao cho tính toán số và phát triển các ứng dụng.  Dùng Matlab có thể giải quyết các bài toán nhanh hơn các ngôn ngữ lập trình: C, C++,...  Matlab có thểể ứng dụng trong đại sốố tuyến ế tính, xác suất, xử lý ảnh, xử lý tín hiệu số, ... thông qua các thư viện (toolboxs). Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 4 2
  5. 11/4/2013 Chương 1. Nhập môn Giới thiệu về MATLAB  Các đặc trưng chính của Matlab  Là ngôn ngữ máy tính bậc cao cho tính toán kỹ thuật  Là công cụ để thiết kế và giải quyết các bài toán nhanh chóng.  Cung cấp các hàm để làm việc trong các lĩnh vực: đại số tuyến tính, thống kê, lý thuyết tối ưu, ...  Cung g cấp p các hàm đồ họaọ 2-D,, 3-D cho hiển thịị dữ liệu.  Cung cấp công cụ cho phát triển giao diện đồ họa.  Cung cấp các lệnh làm việc với C, C++, Java, Fortran Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 5 Chương 1. Nhập môn Khởi động và kết thúc  Khởi động Matlab  Nháy đúp vào biểu ể tượng ở màn hình máy tính. Xuất hiện:  Kết thúc Matlab  Gõ exit và ấn enter tại dấu nhắc lệnh >>. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 6 3
  6. 11/4/2013 Chương 1. Nhập môn Môi trường làm việc  Nút  Nằm ằ ở góc dưới bên trái của màn hình Matlab.  Dùng để chạy Demo và các công cụ của Matlab.  Cửa sổ lệnh  Dùng để gõ các lệnh của Matlab.  Dùng để hiển thị kết quả của lệnh. Trong chế độ làm việc tại cửa sổ lệnh, Matlab có thể được xem như 1 máy tính cá nhân (calculator). Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 7 Chương 1. Nhập môn Môi trường làm việc  Cửa sổ lệnh (tiếp)  Các phím dùng trong cửa sổ ổ lệnh Phím Tác dụng  Lấy lại lệnh đã thực hiện phía trước  Lấy lại lệnh đã thực hiện phía sau  Đưa con trỏ sang phải một ký tự  Đưa con trỏ sang trái một ký tự Home Đưa con trỏ về đầu dòng End Đưa con trỏ về cuối dòng Esc Xóa lệnh tại dấu nhắc >> Delete Xóa ký tự tại ví trí con trỏ Backspace Xóa ký tự trước vị trí con trỏ Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 8 4
  7. 11/4/2013 Chương 1. Nhập môn Môi trường làm việc  Cửa sổ lệnh (tiếp)  Các lệnh có thể ể viết ế trên 1 dòng, mỗiỗ lệnh có thể ể cách nhau dấu phẩy “,” hoặc chấm phẩy “;”.  Nếu các lệnh cách nhau dấu “,” thì kết quả của lệnh hiển thị trên màn hình.  Nếu các lệnh cách nhau dấu “;” thì kết quả của lệnh không hiển thị trên màn hình.  Dấu (...) ( ) để chỉ câu lệnh được tiếp tục ở dòng dưới. dưới  Ví dụ: >> x = 1, y = 2, z = 3 (enter) >> x + y; y + z; z + x; Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 9 Chương 1. Nhập môn Môi trường làm việc  Cửa sổ Workspace  Hiển ể thi các biến ế trong bộ nhớ  Name: tên biến  Value: giá trị của biến  Min: giá trị bé nhất  Max: giá trin lớn nhất  Các biến trong cửa sổ bị mất khi dùng lệnh xóa  clear all. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 10 5
  8. 11/4/2013 Chương 1. Nhập môn Môi trường làm việc  Cửa sổ Command History  Dùng để ể lưu các lệnh đã thực hiện tại cửa sổ ổ lệnh.  Để thực hiện lại lệnh, nháy đúp lên lệnh.  Xóa các lệnh trong cửa sổ:  Nháy chuột phải  Chọn Clear Command History Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 11 Chương 1. Nhập môn Môi trường làm việc  Cửa sổ Current Folder  Hiển ể thị các thư mục con và tệp của thư mục hiện thời.  Thư mục hiện thời được chọn  Chú ý:  Thiết lập đường dẫn cho Matlab  Chọn File  Set Path  Chọn Add Folder  Chọn Save Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 12 6
  9. 11/4/2013 Chương 1. Nhập môn M-file  Matlab là một ngôn ngữ lập trình mà các lệnh đ được viết iết vào à mộtột tệp tệ chương h t ì h và trình à sau đó thực hiện.  Tệp chương trình là một là một tệp văn bản chứa các lệnh của Matlab và có phần mở rộng “.m”, do đó tệp gọi là M-file.  M fil có M-file ó thể là một ột tệp tệ script i t hoặc h ặ function f ti  Script: chứa các lệnh matlab như khi làm việc tại dấu nhắc cửa sổ lệnh.  Function: dùng để xây dựng hàm trong Matlab. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 13 Chương 1. Nhập môn M-file  Biên soạn M-file  Chọn biểu ể tượng trên thanh công cụ, hoặc chọn File  New  Blank M-file.  Chú ý: Lời chú thích đặt sau dấu %.  Ghi M-file  Chọn biểu tượng trên thanh công cụ, hoặc chọn File  save. save  Thực hiện M-file  Chọn biểu tượng trên thanh công cụ, hoặc gõ tên M-file tại cửa sổ lệnh. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 14 7
  10. 11/4/2013 Chương 1. Nhập môn Kết thúc chương Hỏi & Đáp Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 15 8
  11. 11/4/2013 KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÁC HỆ THỐNG THÔNG TIN MATrix LABoratory Hoang Huu Viet, Ph.D., E-mail: viethh.vinhuni@gmail.com Sep., 2013 Chương 2. Ma trận và mảng Nội dung  Ma trận  Hằng, ằ biến, ế hàm, biểu ể thức  Các phép toán trên ma trận  Các phép toán trên mảng  Xâu ký tự  Định dạng hiển thị dữ liệu  Một số lệnh cơ bản Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 2 1
  12. 11/4/2013 Chương 2. Ma trận và mảng Ma trận  Biễu diễn ma trận  Trong Matlab, ma trận (matrix) là một bảng dữ liệu gồm các hàng và các cột.  Ví dụ:  Một ma trận kích thước mxn nghĩa là ma trận có m hàng, n cột.  Phần tử ở dòng i và cột j của ma trận A được ký hiệu là A(i,j) (1≤ i ≤ n, 1≤ j ≤ m). Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 3 Chương 2. Ma trận và mảng Ma trận  Biễu diễn ma trận (tiếp)  Một ma trận kích thức 1x1 là một số ố vô hướng.  Một ma trận kích thước 1xn là một véc tơ hàng.  Một ma trận kích thước mx1 là một vec tơ cột.  Ví dụ: a là 1 vector hàng kích thước 1x6, b là 1 vector cột kích thước 5x1. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 4 2
  13. 11/4/2013 Chương 2. Ma trận và mảng Ma trận  Nhập ma trận  Liệt kê các phần ầ tử của các véc tơ hàng của ma trận, mỗi hàng cách nhau dấu “;” và tất cả các hàng đặt trong dấu [ ].  Ví dụ:  A = [1 2 3; 4 5 6; 7 8 9];  ma trận A kích thước 3x3.  B = [2 7 3 8 4 6 7 8 2];  vector hàng  C = [1; 3; 5; 7; 2; 1];  vector cột  Chú ý:  Nếu có dấu “;” sau lệnh thì kết quả không xuất hiện, ngược lại thì kết quả xuất hiện trên màn hình. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 5 Chương 2. Ma trận và mảng Ma trận  Truy nhập phần tử của ma trận  Các phần ầ tử của mảng được truy qua chỉ số ố dòng và cột.  Cú pháp: tên_ma_trận(chỉ_số_dòng,chỉ_số_cột)  Ví dụ:  A = [1 2 3; 4 5 6; 7 8 9];  s1 = A(1,2) + A(1,2) + A(1,3); s2 = A(1,1) + A(2,2) + A(3,3);  Chú ý:  Nếu ma trận là 1 vector hàng hoặc cột thì chỉ cần dùng chỉ số hàng hoặc chỉ số cột để truy nhập.  Ví dụ: a = [2 4 6 9 2 4]  s = a(3) + a(5); Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 6 3
  14. 11/4/2013 Chương 2. Ma trận và mảng Ma trận  Toán tử “:”  Cú pháp: a:b:c  Ý nghĩa: Tạo ra một vector hàng bắt đầu từ giá trị a, mỗi số cách nhau 1 giá trị b, và kết thúc ở gía trị c.  Ví dụ:  x = 1:2:10  vector x = [1 3 5 7 9]  y = 10:-1:5  vector y = [10, 9, 8, 7, 6, 5]  Nếu không chỉ ra giá trị b, thì b lấy giá trị bằng 1.  Ví dụ:  z = 1:8  vector z = 1 2 3 4 5 6 7 8  v = 1:-1  vector v = [] (vector rỗng) Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 7 Chương 2. Ma trận và mảng Ma trận  Toán tử “:” (tiếp)  Toán tử “:” được dùng để ể trích một số ố phần ầ tử của vector.  Ví dụ:  a = 0:2:12;  a = [0 2 4 6 8 10 12]; b = a(3:6)  b = [4 6 8 10].  Toán tử “:” được dùng để trích ra 1 tập hợp các hàng hoặc các cột của một ma trận.  Ví dụ:  A(:,j)  trích các phần tử ở cột j.  A(i,:) trích các phần tử ở hàng i.  A(2:5,j)  trích các phần tử ở hàng 2  5 của cột j.  A(2:5,4:6)  trích các phần tử ở hàng 2 4 và cột 46. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 8 4
  15. 11/4/2013 Chương 2. Ma trận và mảng Hằng, biến, hàm, biểu thức  Hằng (constant)  Hằng ằ là đại lượng có giá trị không thay đổi ổ khi thực hiện chương trình.  Matlab cung cấp các hằng số thực và số phức  Số thực: dùng dấu “.” để biểu diễn phân số.  Số phức: dùng ký kiệu “i” hoặc “j” để biểu diễn phần ảo.  Một số hằng đặc biệt  pi: Trả về giá trị số pi.  i (và ) j: ký hiệu số phức. i2 = j2 = -1.  Inf: Để chỉ số vô cùng lớn. Ví dụ 1/0 = inf  NaN: Dùng để chỉ số không xác định. Ví dụ: 0/0 = NaN. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 9 Chương 2. Ma trận và mảng Hằng, biến, hàm, biểu thức  Biến (variable)  Biến ế là một vùng bộ nhớ được đặt tên và dùng để ể chứa một hoặc một dãy các giá trị.  Các quy định đặt tên biến trong MATLAB  Tên biến bắt đầu phải là một chữ cái, tiếp theo có thể là các chữ cái, chữ số, hoặc dấu gạch dưới.  Các ví dụ đúng: x1, x_1, x_2, giatri,  Các ví dụ sai: 1x, 1x x+, x+ x-, x  Tên biến phân biệt chữ hoa và chữ thường.  Tên biến không được đặt trùng tên với các từ khóa (keywords) của MATLAB. Ví dụ: if, end, for,.. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 10 5
  16. 11/4/2013 Chương 2. Ma trận và mảng Hằng, biến, hàm, biểu thức  Biến (variable) (tiếp)  Ví dụ:  x = 5;  tạo ra một ma trận x kích thước 1x1 để lưu giá trị 5.  y = [2 4 5];  tạo ra một ma trận y kích thước 1x3.  A = [1 3 4 5; 4 5 2 1];  tạo ra một ma trận A kích thước 2x4.  Trong Matlab, các biến không cần khai báo kiểu dữ liệu và kích thước của biến.  Biến có tên “ans” là biến dùng để trả về kết quả của lệnh.  Ví dụ: >> 5  ans = 5 >> [2 4 5]  ans = [2 4 5] Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 11 Chương 2. Ma trận và mảng Hằng, biến, hàm, biểu thức  Hàm (function)  Matlab cung cấpấ nhiềuề hàm toán học cho người dùng. Gõ “help elfun” để xem các hàm.  Một số hàm toán học cơ bản Hàm Ý nghĩa Hàm Ý nghĩa exp(x) ex asin(x) sin-1(x) sqrt(x) x cos(x) cos(x) log(x) log(x) acos(x) cos-1(s) log10(x) log10(x) tan(x) tang(x) abs(x) |x| atan(x) tang-1(x) sin(x) sin(x) sign(x) dấu của x Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 12 6
  17. 11/4/2013 Chương 2. Ma trận và mảng Hằng, biến, hàm, biểu thức  Biểu thức (Expression)  Biểu ể thức là kết ế quả ghép nốiố các toán tử và các toán hạng để diễn đạt một công thức.  Toán tử: là các phép toán  Toán hạng: là hằng, biến, hàm.  Ví dụ: y = 2 + x + exp(x) + ln(x).  Biểu thức thực là biểu thức trả về giá trị số thực.  Biểu thức logic là biểu thức có giá trị nguyên:  Giá trị khác 0: Mệnh đề đúng  Giá trị bằng 0: Mệnh đề sai Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 13 Chương 2. Ma trận và mảng Hằng, biến, hàm, biểu thức  Phép toán gán giá trị  Dạng lệnh: ế = ;  Ý nghĩa: Dùng để gán giá trị của cho  Chú ý:  Nếu không có dấu “;” phía sau thì kết quả của biến sẽ hiển thị lên cửa sổ lệnh.  Phép toán “=“ dùng để gán giá trị, phép toán “==“ dùng để so sánh giá trị của 2 biểu thức (kết quả trả về là 1 hoặc 0). Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 14 7
  18. 11/4/2013 Chương 2. Ma trận và mảng Các phép toán trên ma trận  Matlab cung cấp các phép toán trên ma trận:  Cộng: + Trừ: -  Nhân: * Mũ: ^  Chuyển vị: ‘  Chia phải: / (ví dụ: XA = B  X = B/A)  Chia trái: \ (ví dụ: AX = B  X = B\A)  Chú ý: ý  Nếu kích thước của ma trận không phù hợp với phép toán, một lỗi sẽ xẩy ra. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 15 Chương 2. Ma trận và mảng Các phép toán trên ma trận  Các hàm làm việc với ma trận  [M,N] = size(X): trả vềề số ố dòng và cột của ma trận X.  [N] = length(X): trả về kích thước lớn nhất của X.  [D] = det(X): trả về định thức của ma trân vuông X.  Y = inv(X): trả về ma trân nghịch đảo Y của ma trận vuông X.  [I] = find(X): trả về các vị trí tương ứng với các phần từ khác 0 (giá trị đúng) của ma trận X.  Ví dụ:  X = [6 10 10 2 10 10 5 9] ;  find(X = 10)  I = [2 3 5 6] Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 16 8
  19. 11/4/2013 Chương 2. Ma trận và mảng Các phép toán trên ma trận  Các hàm làm việc với ma trận (tiếp)  [Y,I] = max(X): trả về ề giá trị và vị trí của phần ầ tử lớn nhất của các cột của ma trận X. Giá trị lớn nhất lưu trong vector Y và vị trí lưu trong vector I.  Ví dụ:  X = [5 3 8; 4 9 1; 2 4 6; 1 7 3];  [Y,I] = max(X)  Y = [5 9 8], I = [1 2 1].  [Y,I] [Y I] = min(X): trả về giá trị và vị trí của phần tử bé nhất của các cột của ma trận X. Giá trị bé nhất lưu trong vector Y và vị trí lưu trong vector I.  Ví dụ:  [Y,I] = min(X)  Y = [1 3 1], I = [4 1 2]. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 17 Chương 2. Ma trận và mảng Các phép toán trên ma trận  Các hàm làm việc với ma trận (tiếp)  [S] = sum(X): trả về ề 1 vector S là tổng ổ các cột của ma trận X.  Ví dụ:  X = [5 3 8; 4 9 1; 2 4 6; 1 7 3]  [S] = sum(X)  S = [12 23 18]  sum(S) = 53  [Y,I] = sort(X): trả về ma trận Y các cột được sắp tăng dần của ma trận X. X Chỉ số sắp xếp lưu ở ma trận I. I  Ví dụ:  X = [5 3 8; 4 9 1; 2 4 6; 1 7 3];  Y = sort(X)  Y = [1 3 1; 2 4 3; 4 7 6; 5 9 8];  Chú ý: nếu X là 1 vector hàng, nó cũng được sắp tăng dần. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 18 9
  20. 11/4/2013 Chương 2. Ma trận và mảng Các phép toán trên ma trận  Các hàm tạo ma trận  X = zeros(M,N): tạo ma trận X kích thước MxN số ố 0.  X = ones(M,N): tạo ma trận X kích thước MxN số 1.  X = eye(N): tạo ma trận đơn vị X kích thước NxN.  Y = diag(X): tạo vector đường chéo của ma trận X.  Y = triu(X): tạo ma trận tam giá trên của ma trận X.  Y = tril(X): tạo ma trận tam giác dưới của ma trận X. X  X = rand(M,N): tạo ma trận X kích thước MxN với các phần tử ngẫu nhiên từ -1 đến 1.  X= randi(IMAX,M,N): tạo ma trận X kích thước MxN với phần tử ngẫu nhiên từ 0  IMAX. Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 19 Chương 2. Ma trận và mảng Các phép toán trên mảng  Mảng là một tập hợp các phần tử có cùng kiểu dữ liệu liệ màà mỗi ỗi phần hầ tử được đ đá h chỉ đánh hỉ số ố theo th số chiều của mảng.  Mảng 1 chiều là 1 vector, mỗi phần tử có 1 chỉ số.  Mảng 2 chiều là 1 ma trận, mỗi phần tử có 2 chỉ số.  Mảng 3 chiều là tập hợp các ma trận, mỗi phần tử có 3 chỉ số. số Ví dụ: A = randi(10,2,3,4); randi(10 2 3 4);  A(1,1,1) = 1; A(1,1,2) = 5; A(1,1,3) = 7; A(1,1,4) = 4; Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 20 10
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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