1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài giảng matlab đh vinh

47 286 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 47
Dung lượng 1,2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lập trình trong Matlab Designed by Hoàng Hữu Việt, Computer Engineering Department...  Cung cấp các hàm đồ họa 2-D, 3-D cho hiển thị dữ Designed by Hoàng Hữu Việt, Computer Engineering

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÁC HỆ THỐNG THÔNG TIN

Hoang Huu Viet, Ph.D.,

 Ứ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.

Trang 2

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 ễ T Dũ Hà T ầ Đứ Lậ t ì h

Nguyễn Trung Dũng, Hà Trần Đức, Lập trình

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.

Trang 3

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÁC HỆ THỐNG THÔNG TIN

Trang 4

Giới thiệu về MATLAB

 MATLAB (MATrix LABoratory) được Cleve Moler

hát i h à ối thậ iê 1970

phát minh vào cuối thập niên 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

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 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

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

Trang 5

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 cấp các hàm đồ họa 2-D, 3-D cho hiển thị dữ

Designed by Hoàng Hữu Việt, Computer Engineering Department.

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

Trang 6

Môi trường làm việc

 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

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 7

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á

 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

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ỏ

Trang 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 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

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 Dấu ( ) để chỉ câu lệnh được tiếp tục ở dòng dưới

 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.

Trang 8

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

 Thiết lập đường dẫn cho Matlab Thiết lập đường dẫn cho Matlab

 Chọn File  Set Path

 Chọn Add Folder

 Chọn Save

Trang 9

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 M-file có thể là một tệp script hoặc function

 Script: chứa các lệnh matlab như khi làm việc tại dấu

 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 %

 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

Trang 10

Kết thúc chương

Hỏi & Đáp

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 15

Trang 11

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÁC HỆ THỐNG THÔNG TIN

Hoang Huu Viet, Ph.D.,

Trang 12

 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.

Trang 13

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

 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.

Trang 14

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]

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 Nếu không chỉ ra giá trị b, thì b lấy giá trị bằng 1

Trang 15

 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

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 pi: Trả về giá trị số pi.

 i (và ) j: ký hiệu số phức i 2 = j 2 = -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.

 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 x+ x

 Các ví dụ sai: 1x, 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,

Trang 16

 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

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 Biến có tên “ans” là biến dùng để trả về kết quả của

 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

log10(x) log10(x) tan(x) tang(x)

x

Trang 17

 Biểu thức thực là biểu thức trả về giá trị số thực.

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 Biểu thức logic là biểu thức có giá trị nguyên:

 Nếu không có dấu “;” phía sau <biểu thức> 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).

Trang 18

 Chia phải: / (ví dụ: XA = B  X = B/A)

 Chia trái: \ (ví dụ: AX = B  X = B\A)

Chú ý

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 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

 [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

 [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]

Trang 19

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] = min(X): trả về giá trị và vị trí của phần tử bé

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 [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

Trang 20

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

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 Y = tril(X): tạo ma trận tam giác dưới của ma trận 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

Trang 21

 So sánh lớn hơn: >; lớn hơn hoặc bằng: >=

 So sánh bé hơn: <; bé hơn hoặc bằng: <=

Trang 22

để truy nhập từng phần tử của xâu ký tự.

 Các hàm làm việc với xâu:

 Hàm [T] = num2str(A): chuyển ma trận A thành xâu

ký tự T

 Chuyển số thành xâu ký tự?

Trang 23

format short Hiển thị 5 chữ số thập phân

format long Hiển thị 15 chữ số thập phân

format short e Hiển thị dạng số e cùng 5 chữ số thập phân

format long e Hiển thị dạng số e cùng 15 chữ số thập phân

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 25

format hex Hiển thị dạng số Hexa

format '+' Hiển thị dạng có dấu (+,-)

format bank Hiển thị thêm dấu $

format rat Hiển thị dang phân số

 load <tên_têp>: đọc tất cả các biến từ tệp

 load <tên_têp> x: đọc chỉ biến x từ tệp

Trang 24

Kết thúc chương

Hỏi & Đáp

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 27

Trang 25

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÁC HỆ THỐNG THÔNG TIN

Hoang Huu Viet, Ph.D.,

 Thiết lập kiểu đường, màu sắc, nét vẽ

 Thiết lập các tham số cho đồ thị

 Một số hàm vẽ thông dụng

Chỉ h ử iế đồ hị

 Chỉnh sửa trực tiếp đồ thị

 Vẽ nhiều đồ thị trong cùng hệ trục tọa độ

 Vẽ nhiều đồ thị trong cùng cửa sổ

 Đồ họa trong không gian

Trang 26

Các lệnh làm việc với cửa sổ

Trang 27

Chương 3 Đồ họa trong Matlab

 Thiết lập kiểu đường, màu sắc, nét vẽ cho xâu s

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 5

Chương 3 Đồ họa trong Matlab

Trang 28

Đồ họa trong mặt phẳng

 Thiết lập các tham số cho đồ thị

 Hàm grid on/off: tạo/hủy lưới trên đồ thị

 Hàm xlabel(‘tiêu đề trục x’): tạo tiêu đề trục x

 Hàm ylabel(‘tiêu đề trục y’): tạo tiêu đề trục y

 Hàm title(‘tiêu đề đồ thị’): tạo tiêu đề cho đồ thị:

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 7

Chương 3 Đồ họa trong Matlab

 Thiết lập chỉ trục tung: xlim(gca,[xmin, xmax]);

 Thiết lập chỉ trục hoành: ylim(gca,[ymin, ymax]);

 xmin, xmax là giới hạn trái và giới hạn phải của trục hoành.

 ymin, ymax là giới hạn dưới và dưới hạn trên của trục tung.

Thiết lập nhãn cho trục tung trục hoành

 Thiết lập nhãn cho trục tung, trục hoành

 Trục tung: set(gca,’XTickLabel’,<các giá trị>);

 Trục hoành: set(gca,’YTickLabel’,<các giá trị>);

Trang 29

Chương 3 Đồ họa trong Matlab

Đồ họa trong mặt phẳng

 Thiết lập các tham số cho đồ thị (tiếp)

 Ví dụ:

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 9

Chương 3 Đồ họa trong Matlab

nhật ở tọa độ (x,y) với chiều rộng w và chiều cao h

 Hàm fill(x,y,c): vẽ đa giác với các đỉnh là các phần tử

của vector x, y và được tô màu c

 Hàm text(x,y,’xâu ký tự’): hiển thị xâu ký tự ở vị trí

(x,y)

Trang 30

Đồ họa trong mặt phẳng

 Một số hàm thông dụng

 Ví dụ: Vẽ 1 lục giác

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 11

Chương 3 Đồ họa trong Matlab

Đồ họa trong mặt phẳng

 Chỉnh sửa đồ thị

 Chọn biểu tượng trên thanh công cụ hoặc chọn

menu Tools  Edit Plot

 Bấm con trỏ chuột trên đồ thị  nháy chuột pải:

 Color: Màu đường vẽ.

 LineStyle: kiểu đường vẽ.

Trang 31

Chương 3 Đồ họa trong Matlab

Trang 32

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 15

Chương 3 Đồ họa trong Matlab

Đồ họa trong mặt phẳng

 Vẽ nhiều đồ thị trong cùng một cửa sổ (tiếp)

 Ví dụ 2: Vẽ 4 đồ thị trên 4 hệ trục tọa độ

Trang 33

Chương 3 Đồ họa trong Matlab

Đồ họa trong không gian

 Hàm plot3(x,y,z)

 Dùng để vẽ các điểm có tọa độ là các phần tử của

vector x, y, z với x, y, z có cùng chiều dài (số phần tử)

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 17

Chương 3 Đồ họa trong Matlab

Đồ họa trong không gian

Trang 34

Đồ họa trong không gian

 Vẽ đồ thị hàm hàm 2 biến z = f(x,y) (tiếp)

 Hàm [X,Y] = meshgrid(x,y): tạo 2 ma trận X, Y từ 2

vector (x,y) để tính ma trận Z = f(X,Y)

 Các hàng của ma trận X được sao chép từ vector x.

 Các cột của ma trận Y được sao chép từ vector y.

 Nếu vector x = y thì có thể dùng dạng: [X,Y] = meshgird(x);

 Hàm mesh(X,Y,Z) hoặc mesh(X,Y,Z,C):

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 Dùng để vẽ đồ thị Z = f(X,Y) với màu là C.

 Hàm surf(X,Y,Z) hoặc surf(X,Y,Z,C):

 Dùng để vẽ bề mặt đồ thị Z = f(X,Y) với màu là C.

Slide 19

Chương 3 Đồ họa trong Matlab

Đồ họa trong không gian

 Vẽ đồ thị hàm hàm 2 biến z = f(x,y)

 Ví dụ

Trang 35

Chương 3 Đồ họa trong Matlab

Đồ họa trong không gian

 Thiết lập các tham số cho đồ thị

 Hàm xlabel(‘tiêu đề trục x’): tạo tiêu đề trục x

 Hàm ylabel(‘tiêu đề trục y’): tạo tiêu đề trục y

 Hàm zlabel(‘tiêu đề trục z’): tạo tiêu đề trục z

 Hàm title(‘tiêu đề đồ thị’): tạo tiêu đề cho đồ thị

 Hàm axis([xmin xmax ymin ymax zmin zmax ]): thiết

lập giới hạn cho 3 trục tọa độ x: xminxmax

Designed by Hoàng Hữu Việt, Computer Engineering Department.

lập giới hạn cho 3 trục tọa độ x: xminxmax,

Trang 36

BỘ MÔN CÁC HỆ THỐNG THÔNG TIN

Hoang Huu Viet, Ph.D.,

Trang 37

Chương 4 Lập trình trong Matlab

Các hàm nhập/xuất dữ liệu

 Hàm nhập dữ liệu từ bàn phím

 Dạng 1:

 Cú pháp: <biến> = input(‘xâu ký tự’);

 Ý nghĩa: dùng để hiển thị ‘xâu ký tự’ lên màn hình, đợi người

sử dụng nhập dữ liệu số từ bán phím và lưu giá trị vào

Trang 38

Các cấu trúc điều khiển

 Matlab chia các cấu trúc điều khiển thành 2

Chương 4 Lập trình trong Matlab

Các cấu trúc điều khiển

Trang 39

Chương 4 Lập trình trong Matlab

Các cấu trúc điều khiển

 Cấu trúc rẽ nhánh

 Cấu trúc if-end (tiếp)

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 7

Chương 4 Lập trình trong Matlab

Các cấu trúc điều khiển

 Ý nghĩa:

 Nếu <biểu thức> đúng thì thực hiện <nhóm lệnh 1>, ngược lại

thì thực hiện <nhóm lệnh 2>.

 Ví dụ: Giải phương trình ax + b = 0

Trang 40

Các cấu trúc điều khiển

 Cấu trúc rẽ nhánh

 Cấu trúc if-else-end (tiếp)

Designed by Hoàng Hữu Việt, Computer Engineering Department. Slide 9

Chương 4 Lập trình trong Matlab

Các cấu trúc điều khiển

 Nếu <biểu thức 1> đúng thì thực hiện <nhóm lệnh 1>, ngược

lại và nếu <biểu thức 2> thì thực hiện <nhóm lệnh 2>, ngược

lại thì thực hiện <nhóm lệnh 2>.

Trang 41

Chương 4 Lập trình trong Matlab

Các cấu trúc điều khiển

 Ý nghĩa: Nếu <biểu thức> == <hằng i>  thực hiện <nhóm

lệnh i>, ngược lại thì thực hiện <nhóm lệnh n+1>.

Slide 11

Chương 4 Lập trình trong Matlab

Các cấu trúc điều khiển

 Cấu trúc rẽ nhánh

 Cấu trúc switch-case-otherwise-end (tiếp)

 Ví dụ: Nhập vào 1 số, kiểm tra và hiển thị số đó là âm, 0, hay

dương.

Trang 42

Các cấu trúc điều khiển

<biế > lầ l t hậ á iá t ị t <dã iá t ị> à th hiệ

Designed by Hoàng Hữu Việt, Computer Engineering Department.

 <biến> lần lượt nhận các giá trị trong <dãy giá trị> và thực hiện

<nhóm lệnh>.

 Chú ý: <dãy giá trị> là 1 vector các giá trị, chẳng hạn:

 <giá trị đầu>:<giá trị cuối>

 <giá trị đầu>:<bước nhảy>:<giá trị cuối>

Slide 13

Chương 4 Lập trình trong Matlab

Các cấu trúc điều khiển

Ngày đăng: 03/12/2015, 13:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN