Thực hiện tạo các script file hay function và lưu trữ trên MATLAB.. Biết được các công cụ cơ bản trên MATLAB... Ta Ơũốg Ơó ỗh ơỂốg ồỏỒỗyy đ ƠhỒ gỌẬ ỗổị ỗổẵố haỌ ỗổ Ơ y Ơó kỌ Ộ khẬƠ
Trang 2TH C HÀNH X LÝ TÍN HI U S
ố b ố 2014
Trang 4M C L C
M C L C 1
H NG D N 3
BÀI 1: PH N M M MATLAB 5
1.1 KH I Đ NG MATLAB 5
1.2 CÁC V N Đ C B N 8
1.2.1 Các phép toán và toán tử 8
1.2.2 Khai báo biến 9
1.2.3 Các lệnh thường dùng 9
1.3 L P TRÌNH TRONG MATLAB 10
1.3.1 Các phát biểu điều kiện if, else, elseif 10
1.3.2 Switch 10
1.3.3 While 10
1.3.4 For 11
1.3.5 Break: 11
1.4 MA TR N 11
1.4.1 Các thao tác trên ma trận 11
1.4.2 Vector 15
1.4.3 Đa thức 15
1.5 Đ HO 16
1.5.1 Các lệnh vẽ 16
1.5.2 Tạo hình vẽ 16
1.5.3 Kiểu đường vẽ 16
1.5.4 Vẽ với hai trục y 17
1.5.5 Vẽ đường cong 3-D 18
1.5.6 Vẽ nhiều trục toạ độ 18
1.5.7 Đặt các thông số cho trục 19
1.5.8 Đồ hoạ đặc biệt 23
1.5.9 Đồ hoạ 3D 25
1.5.10 Thực hành vẽ đồ thị 26
1.6 CÁC FILE VÀ HÀM 28
1.6.1 Script file (file kịch bản) 28
1.6.2 File hàm 28
1.6.3 Các hàm toán học cơ bản 29
1.6.4 Các phép toán trên hàm toán học 30
Trang 5BÀI 2: TÍN HI U R I R C THEO TH I GIAN 38
2.1 CÁC TÍN HI U S C P 38
2.2 CÁC PHÉP TOÁN 39
2.3 KI M TRA TÍNH CH T TUY N TÍNH VÀ B T BI N 39
2.4 H LTI 41
BÀI 3: BI N Đ I Z 44
3.1 CÁC ĐI M C C VÀ ĐI M KHÔNG 44
3.2 PHÂN TÍCH DÙNG PH NG PHÁP TH NG D 45
3.3 BI N Đ I Z VÀ Z NG C 46
BÀI 4: BI N Đ I FOURIER R I R C 49
4.1 TÍNH DTFT 49
4.2 FFT VÀ CÁC TÍNH CH T 50
BÀI 5: B L C S FIR 53
5.1 CÁC LO I B L C 53
5.2 PH NG PHÁP C A S 55
5.3 PH NG PHÁP L Y M U T N S 58
5.4 PH NG PHÁP L P 60
BÀI 6: B L C S IIR 65
6.1 THI T K B L C T NG T 65
6.2 THI T K B L C S 69
TÀI LI U THAM KH O 73
Trang 6H NG D N
MÔ T MÔN H C
Th Ơ hậốh ớ ỏý ỗặố hỌ Ộ s ỏậ ỐẾố h Ơ h ỗổ ƠhỒ ỐẾố X ỏý ỗặố hỌ Ộ s Ơủa chuyên ốgậốh Kỹ ỗhỘ ỗ ĐỌ ố ỗ TổỘy ố ỗhẾốg MẾố h Ơ ốậy ơ a trên MATLAB đ kỌ Ố Ơhứốg ƠẬƠ ỏý ỗhỘy ỗ đử h Ơ ỗổỒốg ỐẾố X ỏý ỗặố hỌ Ộ s
N I DUNG MÔN H C
Bài 1 Ph ố Ố Ố MATLAB: Ơ b ố ộ MATLAB, ƠẬƠh ỏ ồ ỗổìốh Ơũốg ốh ƠẬƠh ớ ỏý
Ốa ỗổ ố, ộ đ ỗhị ỗổỒốg MATLAB
BậỌ 2: Tặố hỌ Ộ ổ Ọ ổ Ơ ỗhƯỒ ỗh Ọ gỌaố: ƠẬƠh bỌ Ộ ơỌ ố ỗặố hỌ Ộ ộậ h ỗh ốg ổ Ọ ổ Ơ ỗhƯỒ
ỗh Ọ gỌaố, ƠẬƠ ỗặốh Ơh ỗ ộậ đẬồ ứốg ớỘốg Ơủa h LTI
Bài 3: BỌ ố đ Ọ ờ ộậ ờ ốg Ơ: ƠhỘy ố ỗặố hỌ Ộ ỗ ỐỌ ố ỗh Ọ gỌaố saốg ỐỌ ố ờ, các tính
Ơh ỗ Ơủa bỌ ố đ Ọ ờ ộậ ƠhỘy ố ỗặố hỌ Ộ h Ộ ỗỷ ỗổẵố ỐỌ ố ờ saốg ỐỌ ố ỗh Ọ gỌaố
Bài 4: BỌ ố đ Ọ FỒỘổỌƯổ ổ Ọ ổ Ơ: ƠhỘy ố ỗặố hỌ Ộ ổ Ọ ổ Ơ ỗổẵố ỐỌ ố ỗh Ọ gỌaố saốg ỐỌ ố
ỗ ố s , ơỂốg ƠẬƠ ỗhỘ ỗ ỗỒẬố FFT đ ớẬƠ địốh bỌ ố đ Ọ FỒỘổỌƯổ ổ Ọ ổ Ơ
Bài 5: B ỏ Ơ s FIR: ỗhỌ ỗ k b ỏ Ơ FIR ỗhƯỒ yẵỘ Ơ Ộ ƠhỒ ỗổ Ơ
Bài 6: B ỏ Ơ s IIR: ỗhỌ ỗ k b ỏ Ơ IIR ỗhƯỒ yẵỘ Ơ Ộ ƠhỒ ỗổ Ơ
Trang 7ỗổ Ơ bậỌ Ố Ọ ộậ ỗìỐ ỗhẵỐ ƠẬƠ ỗhẾốg ỗỌố ỏỌẵố ỔỘaố đ ố bậỌ h Ơ
Trang 8BÀI 1: PH N M M MATLAB
SaỘ khỌ h Ơ ớỒốg bậỌ ốậy, ốg Ọ h Ơ Ơó ỗh :
Sử dụng phần mềm MATLAB
Thực hiện tạo các script file hay function và lưu trữ trên MATLAB
Biết được các công cụ cơ bản trên MATLAB
MATLAB (MaỗổỌớ ỏabỒổaỗỒổy) ỏậ ồh ố Ố Ố ơỂốg đ gỌ Ọ ƠẬƠ bậỌ ỗỒẬố kỹ ỗhỘ ỗ, đ Ơ bỌ ỗ
ỏậ ƠẬƠ bậỌ ỗỒẬố ỏỌẵố ỔỘaố đ ố Ốa ỗổ ố MATLAB ƠỘốg Ơ ồ ƠẬƠ ỗỒỒỏbỒớƯs, ỗứƠ ƠẬƠ hậỐ Ố
ổ ốg ỐẾỌ ỗổ ốg MATLAB đ gỌ Ọ ỔỘy ỗ ƠẬƠ ộ ố đ đ Ơ bỌ ỗ ốh ớ ỏý ỗặố hỌ Ộ s , h ỗh ốg
đỌ Ộ khỌ ố, Ố ốg ốƯỘổỒố, ưỘờờy ỏỒgỌƠ, ỐẾ ồh ốg ộ.ộ
C a s bỌ Ộ ỗ ốg Ơủa Ơh ốg ỗổìốh MATLAB:
Trang 9các toolbox
Trang 10SaỘ đó ốh ồ ộậỒ đỒ ố Ơh ốg ỗổìốh saỘ:
% Chuong trinh trong M-file
GỌ Ọ ỗhặƠh đỒ ố Ơh ốg ỗổìốh ỗổẵố: Dẽốg 1 ỏậ ơẽốg Ơhề ỗhặƠh, ƠẬƠ ƠhỘ Ọ ồhặa saỘ ơ Ộ
% s khẾốg đ Ơ ơịƠh Dẽốg 2 địốh ốghĩa ộƯƠỗỒổ ớ ỗổỒốg khỒ ốg ỗ 0 đ ố 2 vậ Ố Ọ gỌẬ ỗổị ƠẬƠh ốhaỘ Ố ỗ khỒ ốg /6 Dẽốg 3 gẬố bỌ ố y = sỌố(ớ) ộậ ơẽốg 4 ộ đ ỗhị ỗổỒốg đó
CẬƠ ơẽốg đử ốh ồ ỗổỒốg CỒỐỐaốơ ỚỌốơỒỚ (ƠẬƠ ơẽốg ốậy Ơó ỗh ỏậ ơẽốg ốh ồ bỌ ố,
Ơó ỗh ỏậ ơẽốg ỏ ốh) đ Ơ gỌ ỏ Ọ ỗổỒốg Ơ a s CỒỐỐaốơ HỌsỗỒổy ộậ Ơ a s ốậy ƠhỒ ồhỰồ
ỗa s ơ ốg ỏ Ọ ốh ốg ỏ ốh đó bằốg ƠẬƠh ốh ồ đềồ ƠhỘ ỗ ỏẵố ƠẬƠ ỏ ốh hay bỌ ố đó
C a s WỒổkspace:
Trang 11Lậ Ơ a s ỗh hỌ ố ỗẵố ƠẬƠ bỌ ố b ố s ơ ốg ƠỂốg ộ Ọ kặƠh ỗh Ơ ộỂốg ốh (s byỗƯs),
kỌ Ộ ơ ỏỌ Ộ (ỏ ồ), ƠẬƠ bỌ ố đ Ơ gỌ Ọ ồhóốg saỘ Ố Ọ ỏ ố ỗắỗ Ơh ốg ỗổìốh C a s WỒổksồaƠƯ ƠhỒ ồhỰồ ỗhay đ Ọ gỌẬ ỗổị Ơủa bỌ ố bằốg ƠẬƠh ốh ố ồhặỐ ƠhỘ ỗ ồh Ọ ỏẵố ƠẬc
Trang 12i, j s Ồ
realmin s ỗh Ơ ốh ốh ỗ 2-1022
realmax s ỗh Ơ ỏ ố ốh ỗ 21023
Chú ý :
+ CứƠ l ốh k t thềƠ bằốg ơ Ộ Ơh Ố ồh Ờ, MATLAB s khẾốg th hỌ ố k t ỔỘ trên màn hình
+ CứƠ Ơhề thặƠh đ Ơ đ t ồhặa saỘ ơ Ộ %
+ TổỒốg ỔỘứ tổìốh ốh ồ ố Ộ ƠứƠ ồh ố t tổẵố Ố t hậốg ơậỌ ỔỘứ ta Ơó th
- KhẾốg đ ỗ ỗẵố ỗổỂốg ộ Ọ ƠẬƠ ỗẵố đ Ơ bỌ ỗ Ơủa MATLAB
- Đ khaỌ bẬỒ bỌ ố ỗỒậố Ơ Ơ (s ơ ốg đ Ơ ỗổỒốg ỗ ỗ Ơ Ơh ốg ỗổìốh ƠỒố), ồh Ọ ơỂốg
ỗhẵỐ ỗ khỒẬ global ồhặa ỗổ Ơ
1.2.3 CứƠ l ốh th ốg ơỂốg
>>help tên_hàm % tham khảo help của hàm
>>lookfor ‘chuỗi’ %Tìm kiếm chuỗi
Ví dụ: >>lookfor ‘filter’ % Tìm các hàm có liên quan đến mạch lọc
>>clc % Xoá màn hình
>>clear tên_biến % Xoá biến
>>clear all %Xoá tất cả các biến
>> clf %Xoá figure
>>save % Lưu các biến hiện có trong bộ nhớ
>>load % Lấy nội dung các biến đã lưu
>>who % liệt kê các biến trong bộ nhớ
>>whos % liệt kê chi tiết các biến trong bộ nhớ
>>which % Xác định vị trí của hàm hay file
Trang 13Ví dụ: >>which plot %Xác định vị trí của hàm plot
>>what % Liệt kê các file có trong một thư mục
N Ộ <bỌ Ộ ỗhứƠ đỌ Ộ kỌ ố> ƠhỒ k ỗ ỔỘ đềốg ỗhì ồh ố ỏ ốh ỗổỒốg ỗhừố Ơủa Ọư đ Ơ
ỗh Ơ hỌ ố CẬƠ ồhẬỗ bỌ Ộ ƯỏsƯ ộậ ƯỏsƯỌư Ơũốg ỗ ốg ỗ
Trang 141.3.4 For
Vẽốg ỏ ồ ưỒổ ơỂốg khỌ bỌ ỗ ỗổ Ơ s ỏ ố ỏ ồ Cề ồhẬồ ốh saỘ:
for <chỉ số>=<giá trị đầu>:<mức tăng>:<giá trị cuối>
1.3.5 Break:
PhẬỗ bỌ Ộ bổƯak đ k ỗ ỗhềƠ ộẽốg ỏ ồ ưỒổ hay ỚhỌỏƯ Ốậ khẾốg ỔỘaố ỗừỐ đ ố đỌ Ộ kỌ ố
k ỗ ỗhềƠ ộẽốg ỏ ồ đử ỗhỒ Ốửố hay Ơh a
Ta Ơó ỗh ốh ồ Ốa ỗổ ố ộậỒ MATLAB bằốg ốhỌ Ộ ƠẬƠh:
• Nh ồ Ố ỗ ơaốh sẬƠh ƠẬƠ ồh ố ỗ ỗ bậố ồhặỐ
• N ồ Ốa ỗổ ố ỗ ưỌỏƯ
• T Ồ Ốa ỗổ ố ốh ƠẬƠ hậỐ Ơó s ố ỗổỒốg MATLAB
• T Ồ Ốa ỗổ ố ốh hậỐ ỗ ỗ Ồ
KhỌ ốh ồ Ốa ỗổ ố ỗ bậố ồhặỐ ỗa ồh Ọ ỗỘừố ỗhƯỒ ƠẬƠ ỔỘy địốh saỘ:
• Ngăố ƠẬƠh ƠẬƠ ồh ố ỗ Ơủa Ốa ỗổ ố bằốg ơ Ộ “,” hay khỒ ốg ỗổắốg
đ Ơ ớƯỐ ỏậ Ố ỗ Ơ ỗ ơậỌ ỗ Ồ ỗ ƠẬƠ Ơ ỗ Ơủa Ốa ỗổ ố baố đ Ộ
Nh ộ y ộỌ ỗ A(8) Ơó ốghĩa ỏậ ỗhaỐ ƠhỌ Ộ ồh ố ỗ A(4, 2) (ố Ộ Ốa ỗổ ố Ơó 4 hậốg)
L Ộ ý ổằốg ƠẬƠ Ơhỉ s Ơủa Ốa ỗổ ố ỗh ốg bắỗ đ Ộ ỗ 1
1.4.1.3 TỒứố t “:”
Trang 15TỒẬố ỗ “:” ỏậ Ố ỗ ỗỒẬố ỗ ỔỘaố ỗổ ốg Ơủa MATLAB Nó ớỘ ỗ hỌ ố ốhỌ Ộ ơ ốg khẬƠ ốhaỘ BỌ Ộ ỗhứƠ 1:10 ỏậ Ố ỗ ộƯƠỗỒổ hậốg Ơhứa 10 s ốgỘyẵố ỗ 1 đ ố 10
>>1:10
>>100:‐7:50 %tạo dãy số từ 100 đến 51, cách đều nhau 7
>>0: pi/4: pi %tạo một dãy số từ 0 đến , cách đều nhau /4 CẬƠ bỌ Ộ ỗhứƠ Ơhỉ s Ơó ỗh ỗhaỐ ƠhỌ Ộ ỗ Ọ Ố ỗ ồh ố Ơủa Ốa ỗổ ố A(1:k,ọ) ớẬƠ địốh k
ồh ố ỗ đ Ộ ỗỌẵố Ơủa Ơ ỗ ọ NgỒậỌ ổa ỗỒẬố ỗ “:” ỗhaỐ ƠhỌ Ộ ỗ Ọ ỗ ỗ Ơ ƠẬƠ ồh ố ỗ Ơủa Ố ỗ hậốg hay Ố ỗ Ơ ỗ
MATLAB ƠỘốg Ơ ồ Ố ỗ s hậỐ đ ỗ Ồ ƠẬƠ Ốa ỗổ ố Ơ b ố:
- zeros ỗ Ồ ổa Ốa ỗổ ố Ốậ ƠẬƠ ồh ố ỗ đ Ộ ỏậ 0
Trang 16ChỌa : X = A/B ỏềƠ đó X = A * Ọốộ(B)
X = A\B ỏềƠ đó X = Ọốộ(A) * B
X=A./B ƠhỌa ƠẬƠ ồh ố ỗ ỗ ốg ứốg ộ Ọ ốhaỘ, 2 Ốa ỗổ ố A ộậ B Ơó ƠỂốg kặƠh ỗh Ơ LỘỹ ỗh a : X = A^2
ơ , ốh ồ Ốa ỗổ ố A Ơó 4 hậốg, 4 c ỗ ốh saỘ:
>> A=[16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
Trang 17>> size(A)
Đ ỗổỘy ớỘ ỗ đ ố ỗ ốg ồh ố ỗ Ơủa Ốa ỗổ ố ỗa ơỂốg Ơhỉ s ồh ố ỗ ỗ ốg ứốg Vặ ơ ,
ồh ố ỗ hậốg ỗhứ 2, Ơ ỗ ỗhứ 3 Ơủa A ỏậ A(2,3)
>> A(2,3)
Bài 1.1 ChỒ Ốa ỗổ ố A = [2 4 1; 6 7 2; 3 5 9], sỌốh ộỌẵố ơỂốg ƠẬƠ ỏ ốh Ơ ố ỗhỌ ỗ đ :
a L y ơẽốg đ Ộ ỗỌẵố Ơủa Ốa ỗổ ố A
b T Ồ Ốa ỗổ ố B bằốg 2 ơẽốg ƠỘ Ọ ƠỂốg Ơủa A
Ơ Tặốh ỗ ốg ƠẬƠ ồh ố ỗ ỗổẵố ƠẬƠ Ơ ỗ Ơủa A (g Ọ ý: ỗặốh ỗ ốg ƠẬƠ ồh ố ỗ ỗổẵố Ơ ỗ 1: sum(A(:,1)))
ơ Tặốh ỗ ốg ƠẬƠ ồh ố ỗ ỗổẵố ƠẬƠ ơẽốg Ơủa A
Bài 1.2 ChỒ Ốa ỗổ ố A = [2 7 9 7; 3 1 5 6; 8 1 2 5], sỌốh ộỌẵố gỌ Ọ ỗhặƠh k ỗ ỔỘ Ơủa ƠẬƠ ỏ ốh saỘ:
Trang 18Bài 1.4 Chứốg ỗ ổằốg (A+B)C=AC+BC, ộ Ọ:
1.4.2 Vector
VƯƠỗỒổ ỗh Ơ Ơh ỗ ỏậ Ốa ỗổ ố Ơó kặƠh ỗh Ơ ố ớ 1 hay 1 ớ ố, ốẵố ỗa Ơó ỗh ỗ Ồ ổa ộƯƠỗỒổ
ốh ƠẬƠh ỗ Ồ ổa Ốa ỗổ ố NgỒậỌ ổa, Ơó ỗh ơỂốg Ố ỗ s ƠẬƠh saỘ:
>>x=0:0.1:1
>>y=linspace(1, 10, 20) % vector 20 phan tu cach deu nhau tu 1 den 10
>>z=rand(10,1) ; tạo 10 số ngẫu nhiên phân bố đều
Bài 1.5 ChỒ ộƯƠỗỒổ ớ = [3 1 5 7 9 2 6], gỌ Ọ ỗhặƠh k ỗ ỔỘ Ơủa ƠẬƠ ỏ ốh saỘ:
Trang 19Bài 1.8 GỌ Ọ ồh ốg ỗổìốh ớ3- 2x2+4ớ+5=0 KỌ Ố Ơhứốg k ỗ ỔỘ ỗhỘ đ Ơ bằốg hậỐ
polyval SỌốh ộỌẵố Ơó ốh ố ớỰỗ gì ộ k ỗ ỔỘ kỌ Ố Ơhứốg
Bài 1.9 L ồ ỏ Ọ bài 1.8 ƠhỒ ồh ốg ỗổìốh ớ7-2=0
loglog: đ hỒ ộ Ọ ƠẬƠ ỗổ Ơ ớ, y ơ ốg ỏỒgaổỌỗ
semilogx: đ hỒ ộ Ọ ỗổ Ơ ớ ỏỒgaổỌỗ ộậ ỗổ Ơ y ỗỘy ố ỗặốh
semilogy: đ hỒ ộ Ọ ỗổ Ơ y ỏỒgaổỌỗ ộậ ỗổ Ơ ớ ỗỘy ố ỗặốh
1.5.2 T Ồ hìốh ộ
Hàm plot Ơó ƠẬƠ ơ ốg khẬƠ ốhaỘ ồh ỗhỘ Ơ ộậỒ ƠẬƠ đ Ọ s đ a ộậỒ Vặ ơ ố Ộ y ỏậ
Ố ỗ ộƯƠỗỒổ ỗhì ồỏỒỗ(y) ỗ Ồ ổa Ố ỗ đ ốg ỔỘaố h gỌ a ƠẬƠ gỌẬ ỗổị Ơủa y ộậ Ơhỉ s Ơủa ốó
N Ộ ỗa Ơó 2 ộƯƠỗỒổ ớ ộậ y ỗhì ồỏỒỗ(ớ,y) ỗ Ồ ổa đ ỗhị ỔỘaố h gỌ a ớ ộậ y
Trang 20MarkerSize : kặƠh ỗh Ơ Ơủa kh Ọ đẬốh ơ Ộ
MậỘ đ Ơ ớẬƠ địốh bằốg ƠẬƠ ỗhaỐ s :
r: red m magenta g: green y: yellow
b: blue k: black c: cyan w: white
s hình vuông d h ỗ kỌỐ Ơ ốg v ỗaỐ gỌẬƠ h ốg ớỘ ốg
> ỗaỐ gỌẬƠ saốg ồh Ọ h ỏ Ơ gỌẬƠ p ốgũ gỌẬƠ
>>x = -pi : pi/10 : pi;
>>y = tan(sin(x)) - sin(tan(x));
Hàm plotyy ƠhỒ ồhỰồ ỗ Ồ Ố ỗ đ ỗhị Ơó haỌ ỗổ Ơ y Ta Ơũốg Ơó ỗh ơỂốg ồỏỒỗyy đ ƠhỒ
gỌẬ ỗổị ỗổẵố haỌ ỗổ Ơ y Ơó kỌ Ộ khẬƠ ốhaỘ ốhằỐ ỗỌ ố sỒ sẬốh
>>t = 0:900;
>>A = 1000;
Trang 22>>title(‘Ham y = 2e^{-x}sinx’);
Trang 23text hỌ ố ỗhị ƠhỘ Ọ ộăố b ố ộị ỗổặ ốh ỗ địốh
gtext đ ỗ ộăố b ố ỏẵố đ hỒ ốh ƠhỘ ỗ
>>title(ʹ\it{Gia tri cua sin tu zero đến 2 pi}ʹ,ʹFontsizeʹ,16)
Ta có ỗh ỗhẵỐ ộăố b ố ộậỒ b ỗ kỳ Ơh ốậỒ ỗổẵố hìốh ộ ốh hậỐ ỗƯớỗ
>>text(3*pi/4,sin(3*pi/4),ʹ\leftarrowsin(t)=0.707ʹ,ʹFontSizeʹ,12)
Ta Ơó ỗh s ơ ốg đ Ọ ỗ ốg ộăố b ố đ ghỌ Ơhề ƠẬƠ ỗổ Ơ ộị ỗổặ b ỗ kỳ MATLAB địốh
ộị ộăố b ố ỗhƯỒ đ ố ộị ơ ỏỌ Ộ ỗổẵố ỗổ Ơ Vặ ơ đ ộ hậỐ y = AƯt ộ Ọ A = 0.25, ỗ = 0
ThaỐ s HỒổỌờỒốỗaỏAỏỌgốỐƯốỗ ộậ VƯổỗỌƠaỏAỏỌgốỐƯốỗ địốh ộị ộăố b ố sỒ ộ Ọ ƠẬƠ ỗỒ đ
ớ, y, ờ đử ƠhỒ
Trang 24Đ ỗhẵỐ ƠẬƠ ký ỗ đ Ơ bỌ ỗ, ỗa ơỂốg ưỒổỐaỗ ơ ốg TƯớ:
Trang 25\bf — Bold font
\it — Italic font
\sl — Oblique font (rarely available)
'fontsize',14, 'interpreter', 'latex', 'string' ,
['$$\hbox {magic(3) is } \left( {\matrix{ 8 & 1 & 6 \cr' '3 & 5 & 7 \cr 4 & 9 & 2 } } \right)$$']);
>>text('units','inch', 'position',[.2 4],
'fontsize',14, 'interpreter','latex', 'string',
['$$\left[ {\matrix{\cos(\phi) & -\sin(\phi) \cr'
'\sin(\phi) & \cos(\phi) \cr}} \right]'
'\left[ \matrix{x \cr y} \right]$$']);
'fontsize',14, 'interpreter','latex', 'string',
'$$e = \sum_{k=0}^\infty {1 \over {k!} } $$');
>>text('units','inch', 'position',[.2 1],
Trang 26'fontsize',14, 'interpreter','latex', 'string',
['$$m \ddot y = -m g + C_D \cdot {1 \over 2}'
'\rho {\dot y}^2 \cdot A$$']);
bar hỌ ố ỗhị ƠẬƠ Ơ ỗ Ơủa Ốa ỗổ ố Ố*ố ốh ỏậ Ố ốhóỐ, Ố Ọ ốhóỐ Ơó ố baổ
barh hỌ ố ỗhị ƠẬƠ Ơ ỗ Ơủa Ốa ỗổ ố Ố*ố ốh ỏậ Ố ốhóỐ, Ố Ọ ốhóỐ Ơó ố baổ ốằỐ ngang
bar3 hỌ ố ỗhị ƠẬƠ Ơ ỗ Ơủa Ốa ỗổ ố Ố*ố ốh ỏậ Ố ốhóỐ, Ố Ọ ốhóỐ Ơó ố baổ ơ ốg 3D
bar3h hỌ ố ỗhị ƠẬƠ Ơ ỗ Ơủa Ốa ỗổ ố Ố*ố ốh ỏậ Ố ốhóỐ, Ố Ọ ốhóỐ Ơó ố baổ ơ ốg 3D ốằỐ ốgaốg
M Ơ địốh, Ố Ọ ồh ố ỗ Ơủa Ốa ỗổ ố đ Ơ bỌ Ộ ơỌ ố bằốg Ố ỗ baổ
Trang 27Hàm area hỌ ố ỗhị đ ốg ƠỒốg ỗ Ồ ỗ Ố ỗ ộƯƠỗỒổ hay ỗ Ố ỗ Ơ ỗ Ơủa Ốa ỗổ ố Nó ộ
ƠẬƠ gỌẬ ỗổị Ơủa Ố ỗ Ơ ỗ Ơủa Ốa ỗổ ố ỗhậốh Ố ỗ đ ốg ƠỒốg ổỌẵốg ộậ ỗẾ đ y ộỂốg khẾốg gỌaố gỌ a ƠẬƠ đ ốg ƠỒốg ộậ ỗổ c x
Trang 281.5.8.4 Đ thị ồỌƯ
Đ ỗhị pie hỌ ố ỗhị ỗhƯỒ ỗỉ ỏ ồh ố ỗổăỐ Ơủa Ố ỗ ồh ố ỗ Ơủa Ố ỗ ộƯƠỗỒổ hay Ố ỗ ma
ỗổ ố sỒ ộ Ọ ỗ ốg ƠẬƠ ồh ố ỗ pie và pie3 ỗ Ồ ổa đ ỗhị 2D ộậ 3D
Hàm mesh và surf ỗ Ồ ổa Ố ỗ 3D ỗ Ốa ỗổ ố ơ ỏỌ Ộ G Ọ Ốa ỗổ ố ơ ỏỌ Ộ ỏậ ờ Ốậ Ố Ọ
ồh ố ỗ Ơủa ốó ờ(Ọ,ọ) ớẬƠ địốh ỗỘốg đ Ơủa Ố ỗ ỗhì ỐƯsh(ờ) ỗ Ồ ổa Ố ỗ ỏ Ọ Ơó ỐậỘ ỗh
hỌ ố Ố ỗ ờ Ơẽố sỘổư(ờ) ỗ Ồ ổa Ố ỗ Ố ỗ Ơó ỐậỘ ờ
Trang 29>>hold on %giu hinh, mac nhien la hold off
>>y2=sin(x.^2); %luy thua tung phan tu
>>plot(x,y2,’k’) %duong ve co mau den
>>axis([0 4*pi –1.25 1.25]) %dinh lai toa do hien thi
Ta Ơó ỗh đ ỗ ốhửố ƠhỒ ƠẬƠ ỗổ Ơ Ơũốg ốh ỗỌẵỘ đ ƠhỒ đ ỗhị:
Trang 30- MATLAB ƠỘốg Ơ ồ ốhỌ Ộ hậỐ ộ đ ỗhị 3D, Ơhẳốg h ố: plot3 - ơỂốg đ ộ ƠẬƠ
đ ốg ỗổỒốg khẾốg gỌaố 3 ƠhỌ Ộ; mesh và surf - ơỂốg đ ộ ộ ỗ ỗh 3D
Trang 31>> title('waterfall(z)')
Bài 1.19 Nh ố ớỰỗ ộ ƠẬƠ hậỐ ộ ỗổẵố
Bài 1.20 V Ố ỗ = √ +√ + dùng hàm surf và mesh
1.6.1 Script file (ưỌlƯ kịƠh b ố)
KịƠh b ố ỏậ M‐ưỌỏƯ đ ố gỌ ố ốh ỗ, khẾốg Ơó đ Ọ s Nó ơỂốg khỌ ỗhỌ hậốh Ố ỗ ỏỒ ỗ ỏ ốh MATLAB ỗhƯỒ Ố ỗ ỗổìốh ỗ ốh ỗ địốh Ta ớỰỗ ộặ ơ ỗ Ồ ổa ƠẬƠ s FỌbỒốacƠỌ ốh h ố 1000
f = [1 1];
i = 1;
while(f(i)+f(i+1))<1000 f(i + 2)= f(i) +f(i+1);
i = i + 1;
end plot(f)
Ta ỏ Ộ đỒ ố Ốử ỏ ốh ốậy ộậỒ Ố ỗ ưỌỏƯ ỗẵố ỏậ fibo.m Đừy Ơhặốh ỏậ Ố ỗ sƠổỌồỗ ưỌỏƯ Đ
ỗh Ơ hỌ ố ƠẬƠ Ốử Ơhứa ỗổỒốg ưỌỏƯ ưỌbỒ.Ố ỗ Ơ a s ỏ ốh ỗa ốh ồ:
Trang 32• M ỗ ơẽốg địốh ốghĩa hậỐ: function y = tb(x) g Ố ỗ khỒẬ function, đ Ọ s ỗổ
v y, tên hàm tb ộậ đ Ọ s ộậỒ x
• Dẽốg k ỗỌ ồ ỏậ ơẽốg ỗổ gỌềồ đ Ộ ỗỌẵố Vì đừy ỏậ ơẽốg ộăố b ố ốẵố ốó ồh Ọ đ ỗ saỘ % Nó ớỘ ỗ hỌ ố khỌ ỗa ốh ồ ỏ ốh hƯỏồ <ỗẵố hậỐ> Ph ố ộăố b ố ốậy gỌềồ ốg Ọ ơỂốg hỌ Ộ ỗẬƠ ơ ốg Ơủa hậỐ
• Thừố hậỐ Ơhứa Ốử MATLAB
• CẬƠ ỏ Ọ gỌ Ọ ỗhặƠh ơỂốg đ ƠhỒ Ơh ốg ỗổìốh ổỀ ràng Nó đ Ơ đ ỗ saỘ ơ Ộ %
C ố Ơhề ý ỏậ ỗẵố hậỐ ồh Ọ bắỗ đ Ộ bằốg ký ỗ ộậ cùng tên với file chứa hàm Tên hàm là tb ỗhì ỗẵố ưỌỏƯ Ơũốg ỏậ tb.m
T Ơ a s MATLAB ỗa gỀ ỏ ốh:
>>z = 1:99;
>>tb(z) Các bi ố khaỌ bẬỒ ỗổỒốg Ố ỗ hậỐ Ơủa MATLAB là bi ố địa ồh ốg CẬƠ hậỐ khẬƠ khẾốg ốhìố ỗh y ộậ s ơ ốg đ Ơ bỌ ố ốậy MỘ ố ƠẬƠ hậỐ khẬƠ ơỂốg đ Ơ bi ố ốậỒ đó
Ơủa hậỐ ỗa Ơ ố khaỌ bẬỒ ốó ỏậ global
N Ộ hậỐ Ơó ốhỌ Ộ ỗhẾốg s ốgỀ ộậỒ ộậ ốgỀ ổa ỗhì khaỌ bẬỒ ốh saỘ:
abs(ớ) ỐỒơỘỏƯ Ơủa s ồhứƠ ớ (gỌẬ ỗổị ỗỘy ỗ đ Ọ Ơủa s ỗh Ơ)
aốgỏƯ(ớ) aổgỘỐƯốỗ Ơủa s ồhứƠ a
ƠỒốọ(ớ) s ồhứƠ ỏỌẵố h ồ Ơủa ớ
ỌỐag(ớ) ồh ố Ồ Ơủa ớ
ổƯaỏ(ớ) ồh ố ỗh Ơ Ơủa ớ
Trang 34b V đ thị Ơ a hậỐ
Hàm fplot ộ đ ỗhị hậỐ ỗỒẬố h Ơ gỌ a ƠẬƠ gỌẬ ỗổị đử ƠhỒ
>>fplot(@(x)[tan(x),sin(x),cos(x)], 2*pi*[-1 1 -1 1])
c TìỐ Ơ Ơ tỌ Ộ Ơ a hậỐ
ChỒ Ố ỗ hậỐ ỗỒẬố h Ơ Ố ỗ bỌ ố, ỗa Ơó ỗh ơỂốg hậỐ fminbnd Ơủa MATLAB đ ỗìỐ
Ơ Ơ ỗỌ Ộ địa ồh ốg Ơủa hậỐ ỗổỒốg khỒ ốg đử ƠhỒ
ỏ ốh gỌ ốg h ỗ ốh ƠẬƠ ỏ ốh Ơủa MATLAB C Ộ ỗổềƠ Ơủa Ố ỗ sƠổỌồỗ ưỌỏƯ ốh saỘ:
% Phần viết sau dấu ‘%’ ở đây dùng cho lệnh help
Trang 35% Thông thường phần này mô tả chức năng, cách sử dụng,
% ví dụ minh họa hay những lưu ý đặc biệt mà tác giả mong muốn trợ
% giúp cho người sử dụng
[global tênbiến1, tênbiến2,… ] % Khai báo biến toàn cục % (nếu có)
<các câu lệnh> % phần trình bày câu lệnh
Kh Ọ đ ốg MATLAB Editor:
>>edit
T Ồ Ố ỗ sƠổỌồỗ ưỌỏƯ Ơó ỗẵố vd.Ố, ộ Ọ ố Ọ ơỘốg ốh saỘ:
% Doan script file nay hien thi loi chao trong 2s Sau do hien thi logo cua MATLAB roi thoat
% - Hien thi loi chao -
text( 'String','Welcome to MATLAB',
Trang 36pause(2); % dung trong 2 giay
% Hien thi logo cua MATLAB - logo
clear all close
% ket thuc script file SaỘ khỌ ỏ Ộ ưỌỏƯ ốậy, ỗ Ơ a s ỏ ốh Ơủa MATLAB, ốh ồ:
>>help vd
Đ ỗhỌ hậốh sƠổỌồỗ ưỌỏƯ ộ a sỒ ố, ốh ồ:
>>vd
1.6.5.2 S ơ ốg ƠứƠ tỒỒl ớâỜ ơ ốg s ố
MATLAB h ỗổ Ố ỗ ỗh ộỌ ố hậỐ ổ ỗ ồhỒốg ồhề, ớừy ơ ốg ỗổẵố ƠẬƠ gỌ Ọ ỗhỘ ỗ ốhaốh
ộậ Ơó đ Ơhặốh ớẬƠ ƠaỒ NgỒậỌ ƠẬƠ hậỐ Ơ b ố Ơủa MATLAB, ỗ ồ h ồ ƠẬƠ hậỐ ơỂốg đ
gỌ Ọ ỔỘy ỗ Ố ỗ ứốg ơ ốg ƠhỘyẵố bỌ ỗ ốậỒ đó g Ọ ỏậ TỒỒỏbỒớ, ộặ ơ : X ỏý s ỗặố hỌ Ộ (DỌgỌỗaỏ SỌgốaỏ PổỒƠƯssỌốg), ĐỌ Ộ khỌ ố ỗ đ ốg (CỒốỗổỒỏ), Ố ốg ốƯỘổaỏ (NƯỘổaỏ ốƯỗỚỒổks), …
help <ten toolbox> % chuc nang toolbox
>>help control % liet ke ham cua control toolbox
Ta Ơó ỗh ỗìỐ kỌ Ố ƠẬƠ hậỐ ỏỌẵố ỔỘaố bằốg ƠẬƠh ƠỘốg Ơ ồ ƠhỒ hậỐ lookfor Ơủa
MATLAB Ố ỗ ỗ khóa:
lookfor <tu khoa tim kiem>
>>lookfor filter % tìm các hàm liên quan đến mạch lọc
1.6.5.3 XâỜ ơ ốg hậỐ
Xừy ơ ốg hậỐ Ơũốg đ Ơ ỗh Ơ hỌ ố ỗ ốg ỗ ốh sƠổỌồỗ ưỌỏƯ TỘy ốhỌẵố, đ Ọ ộ Ọ hậỐ
ỗa Ơ ố ỔỘaố ỗừỐ đ ố ƠẬƠ ỗhaỐ s ỗổỘy ố ƠhỒ hậỐ ộậ ƠẬƠ k ỗ ỔỘ ỗổ ộ saỘ khỌ ỗh Ơ
hỌ ố Có 3 đỌ Ố Ơ ố ỏ Ộ ý:
- Tẵố hậỐ ồh Ọ đ Ơ đ ỗ ỗổỂốg ộ Ọ ỗẵố ưỌỏƯ ỏ Ộ ỗổ
- Ph Ọ Ơó ỗ khóa function ơẽốg đ Ộ tiên
- TổỒốg Ố ỗ hậỐ Ơó ỗh ớừy ơ ốg ốhỌ Ộ hậỐ ƠỒố (đỌ Ộ ốậy khẾốg Ơó ỗổỒốg sƠổỌồỗ ưỌỏƯ)
function [out1,out2,…]=tenham(in1,in2,…)
Trang 37% -
% Hiển thị khi người sử dụng dùng lệnh help tenham
% - [global <tênbiến1, tênbiến2, …>] %khai báo biến toàn cục (nếu có)
<Các câu lệnh của hàm con>
Bài 1.21 Xừy ơ ốg hậỐ gptb2 đ gỌ Ọ ồh ốg ỗổìốh b Ơ haỌ aớ2+bớ+Ơ=0 N Ọ ơỘốg hậỐ ốh saỘ:
function [x1,x2]=gptb2(a,b,c)
% Giai phuong trinh bac hai ax^2+bx+c=0
% [x1,x2]=gptb2(a,b,c)
% Trong do: x1,x2 la nghiem
% a, b, c la 3 he so cua phuong trinh
if nargin<3 error('Error! Nhap 3 he so cua phuong trinh') elseif a==0
x1=-c/b;
x2=[];
else delta = b^2 - 4*a*c;
x1 = (-b+sqrt(delta))/(2*a);
x2 = (-b-sqrt(delta))/(2*a);
end
L Ộ ỗẵố ưỌỏƯ ỏậ gptb2.m và kỌ Ố ỗổa k ỗ ỔỘ :
Trang 38Bài 1.22 ChỒ bỌ ỗ ý ốghĩa Ơủa ỗ khóa ốaổgỌố?
Bài 1.23 VỌ ỗ ỏ Ọ hậỐ ốậy đ k ỗ ỔỘ Ơhỉ ỗổ ộ ốghỌ Ố s ỗh Ơ
Bài 1.24 Xừy ơ ốg hậỐ vdcongdb(a,m,method) đ ộ Ố ỗ s đ ốg ƠỒốg ỗổỒốg
h ỗ a đ Ơ Ơ, ộ Ọ a ỏậ bẬố kặốh ộậ Ố ỏậ s đ ốg ƠỒốg ộ ỗổẵố ƠỂốg ỗổ Ơ ỗ a đ Tổ ốg
h ồ ốậy hậỐ khẾốg ỗổ ộ gỌẬ ỗổị
TỘỳ ỗhƯỒ gỌẬ ỗổị Ơủa ỗhaỐ s ‘ỐƯỗhỒơ’ Ốậ ỗa ộ đ ỗhị ỗ ốg ứốg:
N Ộ ỐƯỗhỒơ = ‘XỒaốỒƠ’: V đ ốg ớỒắố Ơ: ổ = ƠỒsθ +1
N Ọ ơỘốg hậỐ ốh saỘ:
function vdcongdb(a,m,method)
% Ve duong cong trong toa do cuc: vdcongdb(a,m,method)
% method = 'Becnulli' - Ve duong Lemniscat Becnulli:
theta=0:0.01:2*pi; method=upper(method);
switch method