Bài giảng Tin học chuyên ngành Matlab - Lý thuyết và ứng dụng - Hoàng Xuân Dương

Bài giảng Tin học chuyên ngành  
1
Giảng viên: Hoàng Xuân Dương  
Bài giảng Tin học chuyên ngành  
2
TÀI LIỆU THAM KHẢO  
1. Bài giảng tin học chuyên ngành  
Giảng viên: Hoàng Xuân Dương  
2. Matlab & Simulink dành cho kỹ sư điều khiển tự động  
Nguyễn Phùng Quang  
3. An Introduction to Matlab  
University of DUNDEE  
4. Electronics and circuit analysis using Matlab  
John O.Attia  
5. Matrix analysis of circuits using Matlab  
James G.Gottling  
6. Matlab tools for Control system analysis and design  
Duane C.Hanelman, Benjamin C.Kuo  
Giảng viên: Hoàng Xuân Dương  
1
Bài giảng Tin học chuyên ngành  
3
1. MATLAB LÀ GÌ ?  
ƒ
ƒ
ƒ
Matlab (Matrix Laboratory) là một công cụ phần  
mềm của The Mathworks Ins, ban đầu phục vụ chủ  
yếu việc mô tả kỹ thuật bằng toán học với các phần  
tử cơ bản là ma trận  
Các dữ liệu rời rạc (discret) (trong các lĩnh vực điện,  
điện tử, vật lý hạt nhân, điều khiển tự động…, ngành  
toán như thống kê, kế toán,…, gien sinh học, khí hậu,  
thời tiết…) có thể lưu dưới dạng ma trận  
Dữ liệu liên tục như âm thanh, hình ảnh, dòng điện,  
điện áp, tần số, áp suất,… chuyển đổi thành các tín  
hiệu số Î được xử lý bằng các hàm toán học của  
Matlab  
Giảng viên: Hoàng Xuân Dương  
Bài giảng Tin học chuyên ngành  
4
2. ƯU ĐIỂM CỦA MATLAB  
¾
¾
¾
Matlab cung cấp một công cụ tính toán và lập trình bậc  
cao dễ sử dụng, hiệu quả và thân thiện. Simulink giúp  
người dùng dễ dàng thực hiện các bài toán mô hình  
hóa, mô phỏng trên máy tính  
Matlab có tính mở, các hàm và các toolbox không  
ngừng được bổ sung theo sự phát triển của khoa học  
bởi chính The Mathworks Ins và cả người sử dụng trên  
toàn thế giới  
Có công cụ trợ giúp phong phú trực tuyến, trên mạng  
hay các tài liệu dạng pdf  
Giảng viên: Hoàng Xuân Dương  
2
Bài giảng Tin học chuyên ngành  
5
3. SỨC MẠNH CỦA MATLAB ?  
9
9
Môi trường phát triển: gồm các công cụ và tiện nghi  
giúp viết chương trình, sử dụng các hàm Matlab và các  
file  
Thư viện các hàm toán học của Matlab: Các hàm sơ  
cấp: tổng, sin, tính số phức… các hàm phức tạp:  
Bessel, nghịch đảo ma trận, tính trị riêng, biến đổi  
Fourier nhanh, wavelet…  
9
9
Ngôn ngữ Matlab: Các lệnh cao cấp xử lý ma trận, lệnh  
rẽ nhánh, vòng lặp, xuất nhập, cấu trúc dữ liệu, lập  
trình hướng đối tượng…  
Xử lý đồ họa: Hiển thị dữ liệu dạng đồ họa 2D, 3D,  
hoạt hình, xử lý ảnh và cả GUI  
Giảng viên: Hoàng Xuân Dương  
Bài giảng Tin học chuyên ngành  
6
3. SỨC MẠNH CỦA MATLAB (tt)  
9
9
Thư viện API của Matlab: Cho phép liên kết các chương  
trình C và Fortran… Các ngôn ngữ khác có thể gọi các  
hàm dll được tạo bởi Matlab.  
Các hộp công cụ (Toolbox): Tập hợp các hàm Matlab  
được viết sẵn để giải quyết các vấn đề thuộc các  
chuyên ngành khác nhau. Các toolbox khiến cho Matlab  
có thể ứng dụng vào nhiều lĩnh vực khác nhau: Điện  
tử, Điều khiển tự động, Kỹ thuật điện, Viễn thông, Cơ  
khí, Động lực…  
Giảng viên: Hoàng Xuân Dương  
3
Bài giảng Tin học chuyên ngành  
7
4. AI CÓ THỂ HỌC VÀ SỬ DỤNG MATLAB ?  
•
•
Các nhà chuyên môn, cán bộ nghiên cứu giảng dạy  
Các sinh viên theo học các trường Đại học và trung học  
chuyên nghiệp…  
•
Các kỹ sư, cán bộ kỹ thuật  
……  
Giảng viên: Hoàng Xuân Dương  
Bài giảng Tin học chuyên ngành  
8
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN  
CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB  
CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC  
CHƯƠNG 5: ĐỒ HỌA MATLAB  
CHƯƠNG 6: SIMULINK VÀ ỨNG DỤNG  
CHƯƠNG 7: GUI VÀ ỨNG DỤNG  
Giảng viên: Hoàng Xuân Dương  
4
Bài giảng Tin học chuyên ngành  
9
Õ
CHƯƠNG 1:  
Hoàng Xuân Dương  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
10  
I. HOẠT ĐỘNG CỦA MATLAB  
II. BIẾN VÀ CÁC THAO TÁC CỦA CÁC BIẾN  
III. SƠ LƯỢC VỀ ĐỒ HỌA TRONG MATLAB  
IV. ÂM THANH TRONG MATLAB  
5
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
11  
I. HOẠT ĐỘNG CỦA MATLAB:  
Khi chạy Matlab, một màn hình nền xuất hiện:  
Cửa sổ thư mục hiện hành  
Cửa sổ lệnh  
Cửa sổ không gian làm việc  
Cửa sổ lịch sử lệnh  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
12  
I. HOẠT ĐỘNG CỦA MATLAB:  
ƒ
ƒ
ƒ
ƒ
Cửa sổ lệnh (Command window):  
Với dấu nhắc >> dùng để chạy các lệnh, viết chương  
trình, chạy chương trình.  
Cửa sổ Lịch sử lệnh (Command history)  
Liệt kê tất cả các lệnh đã sử dụng trước đó kèm theo  
thời gian làm việc  
Cửa sổ thư mục hiện tại (Current Directory)  
Cho biết thư mục hiện tại đang làm việc. Mặc định khi  
cài đặt là MATLAB701\work (version 7.01)  
Cửa sổ không gian làm việc (workspace)  
Cho biết các biến được sử dụng trong chương trình  
6
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
I. HOẠT ĐỘNG CỦA MATLAB:  
1. Các phép toán đơn giản:  
13  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
14  
I. HOẠT ĐỘNG CỦA MATLAB:  
2. Một số lệnh hệ thống:  
Lệnh  
Ý nghĩa  
clc  
xóa cửa sổ lệnh  
clf  
xóa cửa sổ đồ họa  
help  
xem phần trợ giúp một số lệnh  
thoát Matlab  
quit, exit  
Ctrl+c  
pause  
edit  
dừng chương trình  
ngừng tạm thời chương trình  
gọi chương trình soạn thảo  
đọc nội dung file .m  
type  
input  
demo  
nhập dữ liệu từ bàn phím  
Gọi chương trình demo  
echo on/off Tắt mở hiển thị các lệnh trong M-files  
7
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
15  
II. BIẾN VÀ CÁC THAO TÁC CỦA CÁC BIẾN  
1. Biến trong Matlab:  
ƒ
ƒ
ƒ
ƒ
Tên biến có thể dài 31 ký tự, bắt đầu là chữ  
Matlab phân biệt chữ thường và chữ hoa  
Sử dụng dấu = để định nghĩa biến  
Tên biến có thể trùng với tên hàm có sẵn, khi đó hàm  
không còn sử dụng được cho đến khi biến được xóa  
Ví dụ:  
>> x=1  
x=1  
>> ten_truong='Dai hoc DL Cong Nghe Sai Gon'  
ten_truong = Dai hoc DL Cong Nghe Sai Gon  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
16  
II. BIẾN VÀ CÁC THAO TÁC CỦA CÁC BIẾN  
1. Biến trong Matlab (tt)  
Một số hàm liên quan đến biến:  
Lệnh  
Ý nghĩa  
clear  
who  
xóa tất cả các biến  
hiển thị danh sách các biến trong worksapce  
hiển thị các biến cùng kích thước của chúng, có  
phải số phức ?  
whos  
clear name1, name2,… xóa biến có tên được khai báo  
exist (‘item’)  
save  
Kiểm tra sự tồn tại của đối tượng ‘item’  
Lưu các biến trong workspace ra file  
Tải các biến vào trong workspace từ file  
load  
8
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
17  
II. BIẾN VÀ CÁC THAO TÁC CỦA CÁC BIẾN  
2. Độ lớn của biến:  
Xác định độ lớn hay chiều dài của biến vector cũng như  
ma trận thông qua một số hàm:  
Hàm  
size(A)  
Ý nghĩa  
Trả về 1 vector chứa kích thước A,  
gồm số hàng và số cột của A  
[m n]=size(A)  
size(A,p)  
giá trị trả về chứa trong m và n  
p=1 Î trả về số hàng  
p=2 Î trả về số cột  
Trả về chiều dài của A, giá trị lớn  
nhất của hàng và cột  
length(A)  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
18  
II. BIẾN VÀ CÁC THAO TÁC CỦA CÁC BIẾN  
2. Độ lớn của biến (tt)  
Ví dụ:  
>> A=[1 2 3; 4 5 6]  
A= 1 2 3  
4 5 6  
>> [m n]=size(A)  
m = 2  
n = 3  
>> length(A)  
ans = 3  
>> size(A,1)  
ans = 2  
Gảng nàng Xuân Dưng  
9
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
19  
II. BIẾN VÀ CÁC THAO TÁC CỦA CÁC BIẾN  
3. Một số biến được định nghĩa trước:  
Một số biến được Matlab sử dụng để chỉ các hằng số hay  
ký hiệu, nên tránh dùng chúng:  
>> 1/0  
Warning: Divide by zero.  
(Type "warning off MATLAB:divideByZero" to suppress this warning.)  
ans = Inf  
>> 0/0  
Warning: Divide by zero.  
(Type "warning off MATLAB:divideByZero" to suppress this warning.)  
ans = NaN  
>> eps  
ans = 2.2204e-016  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
20  
II. BIẾN VÀ CÁC THAO TÁC CỦA CÁC BIẾN  
3. Một số biến được định nghĩa trước (tt)  
Ký hiệu  
Ý nghĩa  
=
Gán giá trị cho biến  
+ - * / ^  
Các phép tính  
;
Nhập giá trị, dấu cách khi nhập nhiều trị trên một dòng  
Dấu cách khi xuất nhiều giá trị trên một dòng  
Đáp số mới nhất  
,
ans  
eps  
pi  
Cấp chính xác tương đối khi dùng dấu phẩy động  
số π = 3,14159265…  
i j  
Toán tử ảo  
inf  
NaN  
vô cùng  
không phải số (0/0 hay inf/inf)  
Gảng nàng Xuân Dưng  
10  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
21  
II. BIẾN VÀ CÁC THAO TÁC CỦA CÁC BIẾN  
4. Số phức:  
ƒ
Các hàm đặc biệt của số phức:  
real(x)  
phần thực của x  
imag(x)  
conj(x)  
phần ảo của x  
liên hợp phức của x  
độ lớn, trị tuyệt đối của x  
góc pha của số phức  
tạo số phức từ phần thực và ảo  
abs(x)  
angle(x)  
complex(a,b)  
Giảng viên: Hoàng Xuân Dương  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
22  
Ví dụ:  
>> a=1+3i  
a = 1.0000 + 3.0000i  
>> b=2-4i  
b = 2.0000 - 4.0000i  
>> a+b  
ans = 3.0000 - 1.0000i  
>> abs(a)  
ans = 3.1623  
>> real(b)  
ans = 2  
>> imag(b)  
ans = -4  
>> complex(2,2)  
ans = 2.0000 + 2.0000i  
Gảng nàng Xuân Dưng  
11  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
23  
II. BIẾN VÀ CÁC THAO TÁC CỦA CÁC BIẾN  
5. Một số hàm toán:  
Hàm  
sqrt(x)  
exp(x)  
abs(x)  
sign(x)  
Ý nghĩa  
Căn bậc 2  
Hàm mũ cơ số e  
Giá trị tuyệt đối  
Hàm dấu (=1 nếu x>0; = -1 nếu x<0; = 0 nếu x=0)  
rem(x,y) Số dư phép chia x/y  
sum(v)  
prod(v)  
min(v)  
max(v)  
Tổng các phần tử vector  
Tích các phần tử vector  
Phần tử vector bé nhất  
Phần tử vector lớn nhất  
mean(v) Giá trị trung bình cộng  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
24  
Ví dụ 1:  
>> x=4;  
>> sqrt(x)  
ans = 2  
>> exp(x)  
ans = 54.5982  
>> sign(x)  
ans = 1  
>> rem(x,3)  
ans = 1  
>> v=[1 2 3];  
>> min_v=min(v)  
min_v = 1  
>> mean(v)  
ans = 2  
>> sum(v)  
ans = 6  
12  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
25  
Ví dụ 2: Tìm nghiệm của phương trình x2-3x+2=0  
Trong command window:  
>> a=1; b=-3; c=2;  
>> x1=(-b+sqrt(b^2-4*a*c))/(2*a)  
x1 =  
2
>> x2=(-b-sqrt(b^2-4*a*c))/(2*a)  
x2 =  
1
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
26  
III. SƠ LƯỢC VỀ ĐỒ HỌA TRONG MATLAB:  
ƒ
Các lệnh thông dụng trong đồ họa Matlab:  
plot(x,y)  
plot(x,y,z)  
title  
vẽ đồ thị theo tọa độ x-y  
vẽ đồ thị theo tọa độ x-y-z  
đưa các title vào trong hình vẽ  
đưa các nhãn theo chiều x của đồ thị  
đưa các nhãn theo chiều y của đồ thị  
đưa các nhãn theo chiều z của đồ thị  
vẽ lưới trên đồ thị  
xlabel  
ylabel  
zlabel  
grid  
plot(y)  
plot(x,y,’S’)  
vẽ đồ thị theo y, bỏ qua chỉ số theo x  
S dùng để qui định màu, nét vẽ…  
Gảng nàng Xuân Dưng  
13  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
27  
III. SƠ LƯỢC VỀ ĐỒ HỌA TRONG MATLAB:  
Các loại màu vẽ  
Các loại Marker (điểm)  
y
m
c
yellow  
.
điểm  
magenta  
cyan  
o
chữ o  
dấu x  
dấu +  
dấu #  
x
r
red  
+
#
g
b
w
k
green  
blue  
Các loại nét vẽ  
white  
black  
-
:
dấu -  
dấu :  
-. dấu -.  
-- dấu --  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
28  
III. SƠ LƯỢC VỀ ĐỒ HỌA TRONG MATLAB:  
Ví dụ 1: Vẽ hàm sin2x, sinx2, (sinx)2  
>> hold on  
>> x=linspace(0,10);  
>> y1=sin(2*x);  
>> y2=sin(x.^2);  
>> y3=(sin(x)).^2;  
>> plot(x,y1,'g');  
>> plot(x,y2,'m');  
>> plot(x,y3,'b');  
% green  
% magenta  
% blue  
Gảng nàng Xuân Dưng  
14  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
29  
Giảng viên: Hoàng Xuân Dương  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
30  
III. SƠ LƯỢC VỀ ĐỒ HỌA TRONG MATLAB:  
Ví dụ 2: Vẽ đường Helix trong không gian 3D  
>> t = 0:pi/50:10*pi;  
>> plot3(sin(t),cos(t),t);  
>> title(‘Vi du ve plot3 trong Matlab’);  
Gảng nàng Xuân Dưng  
15  
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN  
31  
IV. ÂM THANH TRONG MATLAB  
sound(y)  
gởi vector y ra loa, vector được sắp xếp  
với biên độ lớn nhất  
sound(y,f)  
f dải tần (Hz)  
Ví dụ: âm thanh với lệnh load  
>> load train;  
>> sound(y);  
>> load chirp;  
>> sound(y);  
% giá trị âm thanh tàu hỏa  
% được đưa vào tham số y  
% tiếng chim kêu  
Bài giảng Tin học chuyên ngành  
32  
Õ
CHƯƠNG 2:  
16 2 3 13  
1 1 1 1  
⎤ ⎡  
⎡
⎤
⎥
⎥
⎥
⎥
⎦
⎢
⎢
⎢
⎢
⎣
⎥ ⎢  
1 2 3 4  
⎥ ⎢  
5 11 10 8  
9 7 6 12  
4 14 16 1  
×
⎥ ⎢  
1 3 6 10  
⎥ ⎢  
1 4 10 20  
⎦ ⎣  
Giảng viên: Hoàng Xuân Dương  
16  
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN  
33  
I. MA TRẬN  
II. CÁC MA TRẬN ĐẶC BIỆT  
III. CÁC PHÉP TOÁN TRÊN MẢNG  
IV. CÁC PHÉP TOÁN MA TRẬN  
V. GIẢI HỆ PHƯƠNG TRÌNH ĐỘC LẬP TUYẾN TÍNH  
VI. BÀI TẬP  
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN  
34  
I. MA TRẬN:  
1. Vector-Đại lượng vô hướng-Ma trận:  
ƒ
ƒ
ƒ
Ma trận là đối tượng chủ yếu của Matlab  
Các phần tử của ma trận được xếp theo hàng và cột  
Đại lượng vô hướng (giá trị đơn) là ma trận có 1  
hàng và một cột  
ƒ
ƒ
Ma trận chỉ có 1 hàng hoặc một cột được gọi là vector  
Để truy cập một phần tử của ma trận, sử dụng chỉ số  
hàng và cột  
17  
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN  
35  
I. MA TRẬN:  
2. Một số qui ước về ma trận:  
ƒ
ƒ
Tên ma trận phải bắt đầu bằng chữ cái  
Bên phải dấu bằng là các giá trị ma trận được viết theo  
thứ tự hàng trong dấu ngoặc vuông  
ƒ
Dấu chấm phẩy (;) phân cách hàng. Các giá trị trong  
hàng được phân cách bằng dấu phẩy (,) hoặc khoảng  
trắng. Dấu thập phân là dấu chấm (.). Kết thúc ma trận  
là dấu (;)  
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN  
36  
I. MA TRẬN:  
Ví dụ:  
>> a=[1 2 3; 4 5 6; 7 8 9]  
% ma trận 3 hàng 3 cột  
a = 1  
2
5
8
3
6
9
4
7
>> b=[1 2 3 4]  
b = 1  
% vector hàng  
2
3
4
>> c=[1;2]  
c = 1  
% vector cột  
2
>> d=[1]  
d = 1  
% giá trị đơn  
>> a(2,3)  
ans = 6  
% phần tử ở hàng 2 cột 3  
18  
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN  
37  
I. MA TRẬN:  
3. Khai báo vector và ma trận:  
Khai báo  
Ý nghĩa  
[x1 x2…; x3 x4…]  
Nhập giá trị cho vector và ma trận  
Toán tử (:)  
start:increment:destination  
linspace(start,dest,number) Khai báo tuyến tính cho vector  
logspace(start,dest,number) Khai báo logarithm cho vector  
rand(line,column)  
randn(line,column)  
Ma trận nhận giá trị ngẫu nhiên 0->1  
Ma trận nhận giá trị ngẫu nhiên  
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN  
38  
I. MA TRẬN:  
3. Khai báo vector và ma trận (tt)  
¾
Kiểu liệt kê trực tiếp:  
Các phần tử được liệt kê trong dấu ngoặc vuông:  
>> A=[3,5];  
>> B=[1.7,3.2];  
>> C=[-1 0 0 ; -1 1 0 ; 1 -1 0; 0 0 2]; Hoặc:  
>> C = [-1 0 0  
-1 1 0  
1 -1 0  
0 0 2 ];  
Gảng vnHng Xuân Dưng  
19  
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN  
39  
I. MA TRẬN:  
3. Khai báo vector và ma trận (tt)  
¾
Kiểu liệt kê trực tiếp (tt)  
>> F = [1, 52, 45, 84, 94, 5, 65, 42, 85,…  
23, 52, 65, 21, 74];  
Định nghĩa ma trận từ ma trận khác:  
>> B=[1 2 4];  
>> S=[3 B];  
% S=[3 1 2 4]  
Mở rộng ma trận:  
>> S(5)=9;  
>> S(8)=3;  
% S(6), S(7) nhận giá trị 0  
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN  
40  
I. MA TRẬN:  
3. Khai báo vector và ma trận (tt)  
¾
Kiểu liệt kê trực tiếp (tt)  
Khai báo tuyến tính:  
>> x=linspace(2,20,10)  
x = 2  
>> logspace(1,2,5)  
ans = 10.0000 17.7828 31.6228 56.2341 100.0000  
4
6
8
10 12 14 16 18 20  
>> y=linspace(1,10);  
% y=vector 100 phần tử  
Gảng vnHng Xuân Dưng  
20  
Tải về để xem bản đầy đủ
pdf 279 trang myanh 20600 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học chuyên ngành Matlab - Lý thuyết và ứng dụng - Hoàng Xuân Dương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_tin_hoc_chuyen_nganh_matlab_ly_thuyet_va_ung_dung.pdf