Tải bản đầy đủ (.pdf) (98 trang)

MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.46 MB, 98 trang )


ĐẠI HỌC QUỐC GIA HÀ NỘI
TR NG Đ I H C KHOA H C T NHIÊNƯỜ Ạ Ọ Ọ Ự
KHOA HÓA HỌC
MATLAB NG D NGỨ Ụ
CHO NGÀNH HÓA H CỌ
VÀ CÔNG NGH HÓA H CỆ Ọ


HÀ N I-2003Ộ
L i gi i thi uờ ớ ệ
MATLAB integrates mathematical computing, visualization, and a powerful language to
provide a flexible environment for technical computing. MATLAB includes tools for:
Data acquisition
Data analysis and exploration
Visualization and image processing
Algorithm prototyping and development
Modeling and simulation
Programming and application development
2
Mục lục
1. Cài đ t và giao di n c a matlabặ ệ ủ 8
1.1. C u hình yêu c u v i Matlab 6.0, 6.5 ấ ầ ớ 8
1.2. Cài đ t ph n m mặ ầ ề 9
1.3. Giao di nệ 9
2. Nh ng khái ni m c sữ ệ ơ ở 10
2.1. Các phím t tắ 10
2.2. L p trình v i Matlabậ ớ 10
2.2.1. Bi n trong matlabế 12
2.2.2. Nh p d li uậ ữ ệ 13
2.2.3. Làm vi c v i workspaceệ ớ 14


2.2.4. Làm vi c v i command historyệ ớ 15
2.2.5. Làm vi c v i current directory, qu n lý t pệ ớ ả ệ 17
3. Các d ng hi n th s và các hàm toán h c thông d ngạ ể ị ố ọ ụ 18
3.1. Các d ng hi n th sạ ể ị ố 18
3.2. S ph cố ứ 18
3.3. Các hàm toán h c thông d ngọ ụ 19
4. Qu n lý ma tr n d li uả ậ ữ ệ 20
4.1. Ma tr n 1 chi uậ ề 20
4.1.1. Ma tr n hàngậ 20
3
4.1.2. Ma tr n c tậ ộ 21
4.2. Ma tr n nhi u chi uậ ề ề 22
4.3. Các phép toán trong ma tr nậ 23
4.5. Đ a ch d li u trong ma tr nị ỉ ữ ệ ậ 24
4.6. Các hàm thông d ngụ 25
6. Qu n lý văn b nả ả 27
7. Qu n lý th i gianả ờ 29
7.1 Các hàm th i gianờ 29
7.2. L p l ch các tháng ậ ị 29
7.3. Hi n th ngày gi hi n t iể ị ờ ệ ạ 29
7.3. Tính kho ng th i gian ả ờ 31
8. C u trúc vòng l p và đi u ki n ấ ặ ề ệ 31
8.1. Vòng l p for ặ 31
8.2. Vòng l p whileặ 32
8.3. C u trúc đi u ki n if-else-endấ ề ệ 33
8.4. C u trúc switch-caseấ 33
9. Phân tích d li u và các hàm chuy n đ i Fourierữ ệ ể ổ 34
10. T o và gi i h ph ng trình tuy n tínhạ ả ệ ươ ế 38
11. Đa th c và các hàm n i suyứ ộ 40
11.1. Các phép toán đ i v i đa th cố ớ ứ 40

11.1.1. C ng, tr hai đa th cộ ừ ứ 40
11.1.2. Nhân, chia hai đa th cứ 41
11.1.3. Tính giá tr đa th cị ứ 41
11.1.4. Đ o hàm và tích phân ạ 42
11.1.5. Nghi m c a ph ng trình đa th cệ ủ ươ ứ 42
11.2. Các phép n i suy d li uộ ữ ệ 43
12. Hàm s ố 49
12.1. Kh o sát hàm sả ố 49
* V đ th hàm s : ẽ ồ ị ố 49
* Xác đ nh các c c tr trong lân c n h pị ự ị ậ ẹ 49
12.2. Tìm giao đi m c a đ th hàm s v i tr c hoành và v i đ th hàm s khácể ủ ồ ị ố ớ ụ ớ ồ ị ố . 50
12.3. Đ o hàmạ 50
12.4. Tích phân 50
13. H p công cộ ụ 51
13.1. Gi i thi u các h p công cớ ệ ộ ụ 51
13.2. H p công c toán h cộ ụ ọ 52
13.1.1. Bi n t ng tr ng ế ượ ư 52
* Khái ni mệ 52
* Đ i tên bi nổ ế 53
* Hàm double chuy n m t h ng t ng tr ng thành ki u s ể ộ ằ ượ ư ể ố 53
13.1.2. Các phép toán trên bi u th c t ng tr ngể ứ ượ ư 54
* Các hàm s , ma tr n s d ng ký t +, -, *, /, ^ đ th c hi n các phép toán c ngố ậ ử ụ ự ể ự ệ ộ
tr , nhân, chia, mũ hóaừ 54
4
* Hàm compose(f,g)=f(g(x)) k t h p hai hàm s và finverse(g) xác đ nh hàmế ợ ố ị
ng c c a gượ ủ 55
13.1.3. Đ o hàm và tích phânạ 55
13.1.4. Gi i các ph ng trình t ng tr ngả ươ ượ ư 57
14. Đ h a trong matlabồ ọ 60
14.1. Đ h a trong không gian hai chi uồ ọ ề 61

14.1.1. Các hàm v đ thẽ ồ ị 61
14.1.2. Các tùy ch n ọ 62
14.1.3. H tr c t a đ , nhãn, l i, h p ch a tr c, chú thíchệ ụ ọ ộ ướ ộ ứ ụ 63
14.2. Đ h a trong không gian 3 chi uồ ọ ề 67
14.2.1. Đ th b m t và l iồ ị ề ặ ướ 67
14.2.3. Các tùy ch n, h tr c t a đ , nhãn, l i, h p ch a tr c, chú thíchọ ệ ụ ọ ộ ướ ộ ứ ụ 71
14.2.4. Đi u khi n màu và ánh sángề ể 74
Các kh i l nh c b nố ệ ơ ả 76
Các l nh đa năngệ 76
Qu n lý hàm và l nh ả ệ 76
Qu n lý bi n và không gian làm vi cả ế ệ 77
Ki m soát command windowể 77
Làm vi c v i file và môi tr ng ho t đ ngệ ớ ườ ạ ộ 77
Kh i đ ng và thoát ch ng trình MATLABở ộ ươ 78
Các ký t đ c bi t và toán t ự ặ ệ ử 78
Các hàm logic 79
Xây d ng và g r i ngôn ng l p trìnhự ỡ ố ữ ậ 79
MATLAB là m t ngôn ng l p trìnhộ ữ ậ 79
Đi u khi n lu ng (Control Flow)ề ể ồ 79
Nh p d li u (Interactive Input)ậ ữ ệ 79
L p trình h ng đ i t ng (Object-Oriented Programming)ậ ướ ố ượ 80
G r iỡ ố 80
Các ma tr n c s và thao tác v i ma tr n (Elementary Matrices and Matrixậ ơ ở ớ ậ
Manipulation) 80
Ma tr n c s và m ng (Elementary Matrices and Arrays)ậ ơ ở ả 80
H ng s và bi n đ c bi t (Special Variables and Constants)ằ ố ế ặ ệ 81
Ngày tháng và th i gian (Time and Dates)ờ 81
Thao tác v i ma tr n (Matrix Manipulation)ớ ậ 81
Các hàm vector (Vector Functions) 82
Các ma tr n chuyên d ng (pecialized Matrices)ậ ụ 82

Các hàm toán h c c s (Elementary Math Functions)ọ ơ ở 82
Các hàm toán h c chuyên d ng (Specialized Math Functions)ọ ụ 83
Chuy n đ i h tr c t a đ (Coordinate System Conversion)ể ổ ệ ụ ọ ộ 83
Hàm ma tr n và đ i s h c tuy n tính (Matrix Functions - Numerical Linear Algebra )ậ ạ ố ọ ế
83
Phân tích ma tr n (Matrix Analysis)ậ 83
Các ph ng trình tuy n tính (Linear Equations)ươ ế 84
5
Giá tr duy nh t và giá tr riêng (Eigenvalues and Singular Values)ị ấ ị 84
Các hàm ma tr n (Matrix Functions)ậ 84
Các hàm c p d i (Low Level Functions)ấ ướ 84
Phân tích d li u và hàm chuy n đ i Fourier (Data Analysis and Fourier Transformữ ệ ể ổ
Functions) 84
Sai phân h u h n (Finite Differences)ữ ạ 85
S t ng quan (Correlation)ự ươ 85
L c và x p tr t t (Filtering and Convolution)ọ ế ậ ự 85
Các hàm n i suy và đa th c (Polynomial and Interpolation Functions)ộ ứ 86
Đa th c (Polynomials)ứ 86
N i suy d li u (Data Interpolation)ộ ữ ệ 86
Các ph ng pháp toán h c không tuy n tính và các hàm ch c năng (Functionươ ọ ế ứ
Functions - Nonlinear Numerical Methods) 87
Hàm ma tr n r i r c (Sparse Matrix Functions)ậ ờ ạ 87
Các ma tr n r i r c c s (Elementary Sparse Matrices)ậ ờ ạ ơ ở 87
Chuy n đ i gi a ma tr n r i r c và ma tr n đ y đ (Full to Sparse Conversion)ể ổ ữ ậ ờ ạ ậ ầ ủ 87
Làm vi c v i d li u khác 0 c a ma tr n r i r c (Working with Nonzero Entries ofệ ớ ữ ệ ủ ậ ờ ạ
Sparse Matrices) 87
Hình nh ma tr n r i r c ả ậ ờ ạ 88
Thu t toán x p x p (Reordering Algorithms)ậ ắ ế 88
Quy t c, S đi u ki n, Th t (Norm, Condition Number, and Rank)ắ ố ề ệ ứ ự 88
Ph ng th c r i r c c a các ph ng trình tuy n tính (Sparse Systems of Linearươ ứ ờ ạ ủ ươ ế

Equations) 88
Giá tr duy nh t và giá tr riêng r i r c (Sparse Eigenvalues and Singular Values)ị ấ ị ờ ạ 88
Các hàm t o âm thanh (Sound Processing Functions)ạ 89
Các hàm âm thanh chung (General Sound Functions) 89
Các hàm âm thanh chuyên d ng (SPARC station-Specific Sound Functions)ụ 89
Hàm âm thanh v i format wav (.WAV Sound Functions)ớ 89
Các hàm xâu ký t (Character String Functions)ự 89
Chung (General) 89
Chuy n đ i gi a xâu và hàm (String to Function Handle Conversion)ể ổ ữ 89
Thao tác v i xâu (String Manipulation)ớ 89
Chuy n đ i gi a xâu và s (String to Number Conversion)ể ổ ữ ố 90
Chuy n đ i c s (Radix Conversion)ể ổ ơ ố 90
Các hàm vào/ra file (File I/O Functions) 90
File Opening and Closing 90
D li u ngôn ng máy (Unformatted I/O)ữ ệ ữ 90
D li u đã format (Formatted I/O)ữ ệ 90
V trí file (File Positioning)ị 90
Chuy n đ i xâu (String Conversion)ể ổ 90
Vào ra file chuyên d ng (Specialized File I/O)ụ 91
Các hàm bitwise (Bitwise Functions) 91
Các hàm c u truc (Structure Functions)ấ 91
6
Các hàm đ i t ng Matlab (MATLAB Object Functions0ố ượ 91
Giao di n Malab v i Java (MATLAB Interface to Java)ệ ớ 91
Các hàm m ng t bào (Cell Array Functions)ả ế 92
Các hàm m ng nhi u chi u (Multidimensional Array Functions)ả ề ề 92
Đ th và hình nh d li u (Plotting and Data Visualization)ồ ị ả ữ ệ 92
Đ th và bi u đ c b n (Basic Plots and Graphs)ồ ị ể ồ ơ ả 92
V đ th 3 chi u (Three-Dimensional Plotting)ẽ ồ ị ề 92
Đ th c t l p th tích (Volumetric slice plot)ồ ị ắ ớ ể 93

Chú thích và đ ng l i h tr c đ th (Plot Annotation and Grids)ườ ướ ệ ụ ồ ị 93
Đ th b m t, l i, đ ng đ ng m c (Surface, Mesh, and Contour Plots)ồ ị ề ặ ướ ườ ồ ứ 93
Hình nh kh i (Volume Visualization)ả ố 93
Thi t l p ph m vi (Domain Generation)ế ậ ạ 94
Đi u khi n góc nhìn (View Control)ề ể 95
Ánh sáng (Lighting) 95
Tính trong su t (Transparency)ố 95
Cách t o màu (Color Operations)ạ 96
B n đ màu (Colormaps)ả ồ 96
In n (Printing)ấ 96
Kênh đi u khi n chung và đ h a (Handle Graphics, General)ề ể ồ ọ 96
Làm vi c v i d li u ng d ng (Working with Application Data)ệ ớ ữ ệ ứ ụ 97
T o kênh đi u khi n đ i t ng và đ h a (Handle Graphics, Object Creation)ạ ề ể ố ượ ồ ọ 97
Đi u khi n c a s hình nh và đ h aề ể ử ổ ả ồ ọ 97
Đi u khi n đ h a và h tr cề ể ồ ọ ệ ụ 97
Thao tác v i đ i t ngớ ố ượ 97
Tác đ ng ng i s d ng đ a vào (Interactive User Input)ộ ườ ử ụ ư 98
Mi n quan tâm (Region of Interest)ề 98
Giao di n đ h a (raphical User Interfaces)ệ ồ ọ 98
H p tho i (Dialog Boxes)ộ ạ 98
Phát tri n giao di n ng i s d ng (User Interface Development)ể ệ ườ ử ụ 98
Vào ra c ng n i ti p (Serial Port I/O)ổ ố ế 98
T o m t đ i t ng c ng n i ti pạ ộ ố ượ ổ ố ế 98
Vi t và đ c d li u (Writing and Reading Data)ế ọ ữ ệ 98
Đ nh hình và tr l i thu c tính (Configuring and Returning Properties)ị ả ạ ộ 99
Thay đ i tr ng thái (State Change)ổ ạ 99
L nh đa năng (General Purpose)ệ 99
7
1. Cài đ t và giao di n c a matlabặ ệ ủ
1.1. C u hình yêu c u v i Matlab 6.0, 6.5 ấ ầ ớ

Đ có thông tin m i nh t v yêu c u c a h th ng chúng ta có th vào MathWorksể ớ ấ ề ầ ủ ệ ố ể
Web site (www.mathworks.com), system requirements page.
Matlab là m t ph n m m có yêu c u khá cao v i h th ng máy tính, đ ch y ph nộ ầ ề ầ ớ ệ ố ể ạ ầ
m m này máy tính c n đ m b o nh ng y u t t i thi u sau:ề ầ ả ả ữ ế ố ố ể
B x lý:ộ ử
Pentium, Pentium Pro, Pentium II, Pentium III, Pentium IV, or AMD Athlon
H đi u hành:ệ ề
Microsoft Windows 95, Windows 98 (original and Second Edition), Windows NT 4.0
(with Service Pack 5 for Y2K compliancy) or Windows 2000
CD-ROM đ cài đ t.Ổ ể ặ
T i thi u 64 MB RAM đ i v i Windows 98, NT 4.0 và 2000; nên có 128ố ể ố ớ
MB RAM. Đ i v i Window XP nên có 256 MB RAMố ớ
Không gian c ng đòi h i tùy thu c kích th c partition và l a ch n c a b n. Càiổ ứ ỏ ộ ướ ự ọ ủ ạ
đ t đ y đ các l a ch n ph n m m Matlab 6.5 chi m kho ng 900 MB c ngặ ầ ủ ự ọ ầ ề ế ả ổ ứ
Card hình t i thi u 8 bit và màn hình hi n th t i thi u 256 màu ố ể ể ị ố ể
Nh ng ph n b tr nên cóữ ầ ổ ợ
Card tăng t c đ đ h aố ộ ồ ọ
Printer
Microsoft Word 7.0 (Office 95), 8.0 (Office 97), or Office 2000 is
required to run the MATLAB Notebook.
Đ t o các MEX-files c a riêng b n c n có:ể ạ ủ ạ ầ
8
Compaq Visual Fortran 5.0 or 6.1, Microsoft Visual C/C++ version 5.0 or 6.0, Borland
C/C++ version 5.0, 5.02, Borland C++Builder version 3.0, 4.0, or 5.0, Lcc 2.4 (bundled
with MATLAB)
Adobe Acrobat Reader đ in các tài li u do Matlab cung c p trên m ng.ể ệ ấ ạ
1.2. Cài đ t ph n m mặ ầ ề
1.3. Giao di nệ
Sau khi cài đ t Matlab l n đ uặ ầ ầ
tiên ch y ch ng trình, ph n m nạ ươ ầ ề

hi n th giao di n m c đ nh nh hìnhể ị ệ ặ ị ư
1. (Desktop layout default)
Trên c a s chính có tiêu đủ ổ ề
MATLAB ch a 3 c s nh tr ngứ ử ổ ỏ ở ạ
thái g n dính (dock) v i c a sắ ớ ử ổ
chính. N u chúng ta mu n di chuy nế ố ể
t do các c a s này chúng b m vàoự ử ổ ấ
nút trên thanh tiêu đ các c a sề ử ổ
nh ho c b m gi chu t trái vàoỏ ặ ấ ữ ộ
thanh tiêu đ và kéo th . Khi các c a s t do chúng có thêm thanh menu (hình 2) đ cácề ả ử ổ ự ể
c a s tr v tr ng thái nh cũ chúng ta vào Viewử ổ ở ề ạ ư Dock (Workspace ho c currentặ
directory ).
Matlab có 6 ki u giao di n khác nhau: Default, Command ể ệ Window Only, Single, Short
History, Tail History, Five Panel (Hinh 3).

9
Hình 1: Giao di n m c đ nh c a Matlabệ ặ ị ủ
Hình 2: C a s ử ổ workspace t ự
do
Hình 3: Các ki u giao di n c a ể ệ ủ
Matlab
2. Nh ng khái ni m c sữ ệ ơ ở
2.1. Các phím t tắ
↑ ho c Ctrl+p ặ G i l i l nh v a th c hi n tr c đóọ ạ ệ ừ ự ệ ướ
ESC ho c ↓ặ Xóa l nh v a g iệ ừ ọ
→ ho c Ctrl+fặ Chuy n con tr sang ph i m t ký tể ỏ ả ộ ự
← ho c Ctrl+bặ Chuy n con tr sang trái m t ký tể ỏ ộ ự
Ctrl+l ho c Ctrl+←ặ Chuy n con tr sang trái m t tể ỏ ộ ừ
Ctrl+r ho c Ctrl+→ặ Chuy n con tr sang ph i m t tể ỏ ả ộ ừ
Ctrl+a ho c Homeặ Chuy n con tr v đ u dòngể ỏ ề ầ

Ctrl+k Xóa t v trí con tr đ n cu i dòngừ ị ỏ ế ố
Ctrl+break K t thúc vòng l pế ặ
Shift+→ ho c ←ặ Đ ch n đo n văn b n c n xóa hay copyể ọ ạ ả ầ
L nh h th ngệ ệ ố
clc Xóa c a s dòng l nhử ổ ệ
clf Xóa c a s đ h aử ổ ồ ọ
computer Đ a ra tên lo i máy tính ư ạ
Ctr-c D ng ch ng trình khi máy tình tr ngừ ươ ở ạ
vòng l p không k t thúcặ ế
demo Xem các ch ng trình mô t kh năng c aươ ả ả ủ
matlab
exit, quit Thoát Matlab
help L nh nh n tr giúpệ ậ ợ
input Nh p d li u t bàn phímậ ữ ệ ừ
load T i các bi n đã l u trong 1 file vào khôngả ế ư
gian làm vi c ệ
Pause T m ng ng ch ng trìnhạ ừ ươ
save L u gi không gian làm vi cư ữ ệ
2.2. L p trình v i Matlabậ ớ
Matlab là ph n m m h tr tính toán và hi n th m nh v i các b l nh thu c nhi uầ ề ỗ ợ ể ị ạ ớ ộ ệ ộ ề
lĩnh v c: toán h c, công ngh thông tin, công ngh hóa h c, th ng kê k toán, kinhự ọ ệ ệ ọ ố ế
t và không ng ng đ c c p nh t. Matlab gi i quy t các v n đ toán h c t đ n gi nế ừ ượ ậ ậ ả ế ấ ề ọ ừ ơ ả
t i ph c t p nh t.ớ ứ ạ ấ
Sau khi kh i đ ng ch ng trình trong c a s chính g m 3c a s nh : ở ộ ươ ử ổ ồ ử ổ ỏ Workspace,
Command History, Command Window.
* Các phép tính thông d ng và các ký hi u trong Matlabụ ệ

hi uệ
Phép tính Ví dụ
+ C ngộ 2+3

10
- Trừ 23-56
* Nhân s , ma tr nố ậ 12*67
^ Lũy th aừ 2^2=4
\ Chia ng cượ 45\23=0,5111
/ Chia thu nậ 23/45=0,5111
: D u hai ch mấ ấ
( ) [ ] {} Các d u ngo c s d ng trong phép toánấ ặ ử ụ
. Ch m th p phânấ ậ
S ti p t cự ế ụ
, D u ph yấ ẩ
; Ch m ph yấ ẩ
% Vi t chú thích sau d u %ế ấ
! Ch m thanấ
' Chuy n v và nháy đ nể ị ơ
.' Chuy n v liên h pể ị ợ
= Chuy n đ iể ổ
== D u b ngấ ằ
< Toán t quan h nh h nử ệ ỏ ơ
> L n h nớ ơ
>= l n h n ho c b ngớ ơ ặ ằ
<= Nh h n ho c b ngỏ ơ ặ ằ
~= Không b ngằ
& Phép toán logic và 0&4=0, 4&4=1, 0&0=0
| Phép toán logic ho cặ 0|0=0, 0|1=1, 1|1=1
~ Phép toán logic không ~0=1, ~4=0
xor Phép toán logic ho c tuy t đ iặ ệ ố xor(0,4)=1, xor(4,4)=0,
xor(0,0)=0
T i Command Window chúng ta đánhạ
các l nh sau d u nh c l nh >>ệ ấ ắ ệ

VD1: Tính trung bình các bình ph ngươ
c a: 12, 17, 23ủ
T i Command Window ta vi t các l nhạ ế ệ
nh sau:ư
>> a=12
a =
12
>> b=17
b =
17
>> c=23
c =
11
Hình 4
Hình 5
23
>> kq=(a^2+b^2+c^2)/3
kq =
320.6667
>>
T i c a s ạ ử ổ Workspace và Commad History ta thu đ c k t qu nh Hình 4 và Hình 5ượ ế ả ư
C a s ử ổ Workspace đ c g i là không gian làm vi c c a Matlab, nó ch a các bi nượ ọ ệ ủ ứ ế
đang s d ng (a, b, c, kq). C a s history ghi l i toàn b quá trình thao tác c a chúng ta.ử ụ ử ổ ạ ộ ủ
2.2.1. Bi n trong matlabế
* Các phiên b n tr c 6.5 các bi n, tên hàm và hàm con, tên tr ng c u trúc (structureả ướ ế ườ ấ
field), M-file, MEX-file và MDL-file gi i h n 31 ký t . T phiên b n Matlab 6.5 các tênớ ạ ự ừ ả
này có t i đa 63 ký t . Chúng ta có th ki m tra b ng hàm:ố ự ể ể ằ
>>namelengthmax
ans =
63

N u chúng ta đ t bi n l n h n 63 ký t Malab t đ ng b các ký t t 64 tr đi.ế ặ ế ớ ơ ự ự ộ ỏ ự ừ ở
* Các quy đ nh trong đ t tên bi nị ặ ế
Quy đ nhị Ví dụ
Tên bi n phân bi t ch hoa và chế ệ ữ ữ
th ngườ
X, x là hai bi n khác nhauế
Tên bi n ph i b t đ u là ch sau đó cóế ả ắ ầ ữ
th là s ho c g ch d i và không sể ố ặ ạ ướ ử
d ng các ký t đ c bi t khácụ ự ặ ệ
a23_er4 đúng
1233smds sai
a#sf23 sai
Tên bi n ph i vi t liên t cế ả ế ụ Qwer12 đúng
qwqe 45dr sai
* Ngoài các bi n trong quá trình quá trình l p trình chúng ta đ a vào, Matlab còn có cácế ậ ư
bi n đ c bi t. N u chúng ta đ t tên bi n trùng v i bi n đ c bi t thì khi Matlab s d ngế ặ ệ ế ặ ế ớ ế ặ ệ ử ụ
đ n bi n đó giá tr bi n c a chúng ta s b thay đ i ho c giá tr c a bi n đ c bi t khôngế ế ị ế ủ ẽ ị ổ ặ ị ủ ế ặ ệ
đ c s d ng, t i khi chúng ta xóa bi n do chúng ta đ t trùng.ượ ử ụ ớ ế ặ
Tên bi n đ c bi tế ặ ệ Giá trị
ans K t qu phép toánế ả
eps Ch đ chính xác c a các phép tính toán (2.2204e-016 đ n v ) ỉ ộ ủ ơ ị
flops S c a phép toán s th cố ủ ố ự
i và j i = j = (-1)^(1/2)
inf Đ ch s vô cùng l n (a/0, a khác 0)ể ỉ ố ớ
NaN ho c nanặ Ch s không xác đ nh (0/0)ỉ ố ị
nargin S các đ i s đ c đ a vào hàm đang s d ngố ố ố ượ ư ử ụ
narout S các đ i s hàm đ a raố ố ố ư
pi 3.1416
realmax S l n nh t c a s th c (1.7977e+308)ố ớ ấ ủ ố ự
12

realmin S nh nh t c a s th c (2.2251e-308)ố ỏ ấ ủ ố ự
Các l nh đ i v i các bi n trong ệ ố ớ ế workspace
clear, clear variables, Xóa toàn b bi n trong không gian làm vi cộ ế ệ
clear global Xóa bi n toàn bế ộ
clear functions xóa các M-, MEX- function
clear bi nế Xóa t ng bi n riêng bi từ ế ệ
clear bi n1 bi n2 bi n3 ế ế ế Xóa các bi n ch nế ọ
clear all Xóa t t c các bi n, hàm, liên k t MEX ấ ả ế ế
who Hi n th các bi n đ nh trong workspaceể ị ế ị
whos Hi n th các bi n cùng các thông tin kích th c, sể ị ế ướ ố
byte, ki u m ngể ả
exist (‘a’) Ki m tra xem ‘a’ là bi n đ c đ nh nghĩa hay hàmể ế ượ ị
đ c đ nh nghĩa, cho k t qu t 0-8. ượ ị ế ả ừ
Đ có thêm thông tin chúng ta th c hi n l nh:ể ự ệ ệ
>> help clear
>> help who
2.2.2. Nh p d li uậ ữ ệ
Đ nh p gi li u cho m t ch ng trình chúng ta có th nh p tr c ti p trong quá trìnhể ậ ữ ệ ộ ươ ể ậ ự ế
vi t ch ng trình. Tuy nhiên, đi u đó có th gây khó khăn trong l u tr và qu n lý dế ươ ề ể ư ữ ả ữ
li u. Matlab cho phép nh p d li u t m t file văn b n format d ng *.txt. Matlab qu nệ ậ ữ ệ ừ ộ ả ạ ả
lý và x lý d li u d ng ma tr n. Khi dùng ph n m m notepad, wordpad, đ l p fileử ữ ệ ạ ậ ầ ề ể ậ
d li u chúng ta chú ý gi a các s c a c t cách nhau ít nh t 1 d u cách (chúng ta cũng cóữ ệ ữ ố ủ ộ ấ ấ
th thay b ng d u ‘,’ ho c Tab ho c theo ki u t ch n, dùng enter đ phân cách gi aể ằ ấ ặ ặ ể ự ọ ể ữ
các hàng.
Ví d chúng ta vào Fileụ  Import data và nh p file d li u 5bien.txt đ c so n th oậ ữ ệ ượ ạ ả
nh sau:ư
a b c d e
12 23 234 34 345
23 23 34 23
12 23

123 234 234
23
Matlab x p x p l i nh hình 6ắ ế ạ ư
13
Trên Hình 6 chúng ta ch n next t đó có hai cách đ t bi n cho d li u ọ ừ ặ ế ữ ệ
D ng 1: có 3 bi n, bi n data là ma tr n 5x5 và 2 bi n còn l i là textdata = [a b c d e]vàạ ế ế ậ ế ạ
colheaders=[a b c d e] d ng matran hàng 1x5.ạ
D ng 2: có 5 bi n c t a=[12;23;12;123;23], b=[23;23;23;234;0], c=[234;34;0;234;0],ạ ế ộ
d=[34;24;0;0;0], e=[345;0;0;0;0] d ng ma tr n c t 5x1ạ ậ ộ
2.2.3. Làm vi c v i ệ ớ workspace
Nh p chu t ph i vào 1 bi n trong workspace ta nh n đ c menu nh hình 7ấ ộ ả ế ậ ượ ư
* Open dùng đ bi t và thay đ i các thu c tính c a bi n ể ế ổ ộ ủ ế
Ví d bi n data khi m ta có các thu c tính sauụ ế ở ộ
Bi n data là m t ma tr n 5 hàng năm c t ta có th thay đ i s hàng (ô size), s c t (ôế ộ ậ ộ ể ổ ố ố ộ
by) và thay đ i giá tr các s trong ma tr n. Ki u format các s trong ma tr n trên d ngổ ị ố ậ ể ố ậ ạ
shotG, chúng ta s tìm hi u các d ng format s trong ph n sau.ẽ ể ạ ố ầ
* Trong m c Graph là các d ng bi u di n đ th 2D, 3D, c a bi n data.ụ ạ ể ễ ồ ị ủ ế
14
Hình 6
Hình 7
* Import data m thêm các bi n l u trong file d li u *.mat. Chúng ta l u ý các bi nở ế ư ữ ệ ư ế
m i m cùng tên s ghi đè lên các bi n hi n th i trong c a s workspace.ớ ở ẽ ế ệ ờ ử ổ
* Workspace có th đ c save l i d i d ng file *.mat c a 1 s bi n l a ch n ho cể ượ ạ ướ ạ ủ ố ế ự ọ ặ
t t ấ c ả các bi n trong ế workspace. Khi c n s d ng, t menu c a workspace chúng ta ch nầ ử ụ ừ ủ ọ
import data và m l i file này.ở ạ
2.2.4. Làm vi c v i command historyệ ớ
C a s command history l u tr các l nh đ c th c hi n command window. Đử ổ ư ữ ệ ượ ự ệ ở ể
th c hi n l i m t l nh hay nhóm l nh tr c đó chúng ta có th kéo th 1 l nh hay m tự ệ ạ ộ ệ ệ ướ ể ả ệ ộ
nhóm l nh t command history vào trong commandệ ừ
window. Chúng ta cũng có th kéo 1 l nh hay m tể ệ ộ

nhóm l nh trong command window vào dòng l nhệ ệ
hi n th i đ th c hi n l i các l nh đó. ệ ờ ể ự ệ ạ ệ
T command history n u m t nhóm l nh nào đóừ ế ộ ệ
ph i s d ng nhi u l n chúng ta có th save chúngả ử ụ ề ầ ể
d i d ng M-file (Create M-File). Khi c n th c hi nướ ạ ầ ự ệ
l i nhóm l nh này chúng ta ch vi c đánh tên M-fileạ ệ ỉ ệ
và d u nh c l nh và b m enter. ấ ắ ệ ấ
Gi s trong trong command ả ử window chúng ta
th c hi n các l nhự ệ ệ
>> a=1:10
a =
Columns 1 through 10
1 2 3 4 5 6 7 8 9 10
>> a(1)=[ ]
a =
Columns 1 through 9
2 3 4 5 6 7 8 9 10
>> a(3)=[ ]
a =
Columns 1 Column 8
2 3 5 6 7 8 9 10
>> b=a*3+5
b =
Columns 1 through 8
11 14 20 23 26 29 32 35
Khi đó trong c a s command history các l nh đ c l u nh sauử ổ ệ ượ ư ư
a=1:10
a(1)=[ ]
a(3)=[ ]
b=a*3+5

Khi 4 l nh này đ c save thành M-File có tên là “nhomlenh.m”, đ th c hi n l i 4ệ ượ ể ự ệ ạ
l nh này ta ch vi c đánh l nh:ệ ỉ ệ ệ
15
Hình 8
>>nhomlenh
a =
Columns 1 through 10
1 2 3 4 5 6 7 8 9 10
>> a(1)=[ ]
a =
Columns 1 through 9
2 3 4 5 6 7 8 9 10
>> a(3)=[ ]
a =
Columns 1 Column 8
2 3 5 6 7 8 9 10
>> b=a*3+5
b =
Columns 1 through 8
11 14 20 23 26 29 32 35
Nh v y chúng ta có th s d ng M-File nh m t ch ng trình con hay hàm con, M-ư ậ ể ử ụ ư ộ ươ
file ph i có ph n m r ng là “m”. Matlab đ a vào m t s hàm ng d ng trong M-Fileả ầ ở ộ ư ộ ố ứ ụ
đ có giao ti p t t h n v i ng i l p trình:ể ế ố ơ ớ ườ ậ
Hàm Ch c năngứ
disp (ans) Hi n th các k t qu mà không hi n th tênể ị ế ả ể ị
bi nế
echo on, echo off, echo file on,
echo file off, echo on all, echo off all
Đi u khi n c a s l nh l p l i các l nh c aề ể ử ổ ệ ặ ạ ệ ủ
M-File

Input M-File nh n d li u t bàn phímậ ữ ệ ừ
Keyboard Trao quy n đi u khi n t m th i cho bàn phímề ề ể ạ ờ
>>return
d ng l nh keaboard, M-File ti p t c ch y cácừ ệ ế ụ ạ
l nhệ
Pause D ng ch ng trình t i khi phím b t kỳ đ cừ ươ ớ ấ ượ
b mấ
pause(n) D ng n giâyừ
waitforbuttonpress D ng t i khi phím chu t ho c bàn phím đ cừ ớ ộ ặ ượ
b mấ
16
Hình 9
2.2.5. Làm vi c v i current directory, qu n lý t pệ ớ ả ệ
Current directory là n i l u tr các file d li u và M-File mà Malab x d ng nh đ aơ ư ữ ữ ệ ử ụ ư ị
ch đ u tiên khi tìm ki m các M-File trong các thỉ ầ ế ư m c có trong đ ng d n c a Matlab. ụ ườ ẫ ủ
B m chu t ph i ta đ c menu nh hình 9, v i M-File ta có th ch n Open đ m ,ấ ộ ả ượ ư ớ ể ọ ể ở
s a ch a, v i các file *.mat khi ta ch n open các bi n c a file đ c đ a vào không gianử ữ ớ ọ ế ủ ượ ư
làm vi c hi n th i c a Matlab. ệ ệ ờ ủ
Trong quá trình làm vi c các file d li u c a chúng ta có th n m th m c b t kỳệ ữ ệ ủ ể ằ ở ư ụ ấ
đ đ a v Current directory chúng ta b m vào nút ể ư ề ấ đ ch n th m c ch a file c n sể ọ ư ụ ứ ầ ử
d ng.ụ
M t chú ý đó là khi chúng ta s d ng m tộ ử ụ ộ
hàm, th t c t t o d ng M-File nh m t l nhủ ụ ự ạ ạ ư ộ ệ
trong command history Matlab ch tìm ki m fileỉ ế
ch a l nh trong đ ng d n đã đ c đ t s n.ứ ệ ườ ẫ ượ ặ ẵ
Vì v y, file c a chúng ta có th đang t n t iậ ủ ể ồ ạ
nh ng Matlab không nh n ra n u nh nó khôngư ậ ế ư
n m trong đ ng d n đã đ t. Đ đ t đ ngằ ườ ẫ ặ ể ặ ườ
d n cho th m c ch a file c n s d ng, chúngẫ ư ụ ứ ầ ử ụ
ta vào file Set Path Matlab s hi n th c aẽ ể ị ử

s Set Part (Hình 10) trong đó hi n th đ y đổ ể ị ầ ủ
các folder đã đ cượ đ t đ ng d n. Chúng taặ ườ ẫ
ch n ọ Add Folder , sau đó ch n folder ch aọ ứ
các file c n s d ng r i ch n ầ ử ụ ồ ọ Save Close.
Bài t p:ậ
1. Vi t b ng d li u sau d i d ng file *.txtế ả ữ ệ ướ ạ
Nguyelieu
A(mol/L)
Sanpham
(Amol/L)
Th igianluuơ
(s)
2.00 0.65 300
2.00 0.92 240
2.00 1.00 250
1.00 0.56 110
1.00 0.37 360
0.48 0.42 24
0.48 0.28 200
0.48 0.20 560
a) Nh p d li u theo hai d ng, 8x3 và 3 vec t c t, l u giá tr các bi n.ậ ữ ệ ạ ơ ộ ư ị ế
b) Tính t ng theo hàng theo c t.ổ ộ
c) L u các l nh d i d ng M-file và th c l i các tính toán theo m c b.ư ệ ướ ạ ự ạ ụ
2. Vi t M-file tính cho phép nh p m ng 1 chi u x đ tính các giá tr y=ế ậ ả ề ể ị
a*x^3+b*x^2+c*x+d v i đi u ki n a,b,c,d,x nh p t bàn phím. Đ t tên M-file là ớ ề ệ ậ ừ ặ tgtrb3
17
Hình 10
3. Cut trtrb3 t th m cử ư ụ work trong matlab ra ngoài C và đ t đ ng d n choổ ặ ườ ẫ
matlab truy c p t i đ a ch đó.ậ ớ ị ỉ
3. Các d ng hi n th s và các hàm toán h c thông d ngạ ể ị ố ọ ụ

3.1. Các d ng hi n th sạ ể ị ố
Tr c h t chúng ta xét m t s vô h n không tu n hoàn 2^(1/2), theo m c đ nh Matlabướ ế ộ ố ạ ầ ặ ị
hi n th d ng shortG:ể ị ạ
a=2^(1/2)
a=1.4142
Đ hi n th giá tr c a a Matlab có m t s khuôn d ng sau:ể ể ị ị ủ ộ ố ạ
Đ nhị
d ngạ
L nhệ Hi n th aể ị Hi n th s 3-2iể ị ố
short format short 1.4142 3.0000 - 2.0000i
shortG format short g 1.4142 3 - 2i
shortE format short e 1.4142e+000 3.0000e+000 -2.0000e+000i
long format long 1.41421319796954 3.00000000000000 -
2.00000000000000i
longG format long g 1.41421319796954 3 - 2i
longE format long e 1.414213197969543e+000 3.000000000000000e+000
-2.000000000000000e+000i
hex format hex 3ff6a09e04ad9cb8 4008000000000000
c000000000000000i
bank format bank 1.41 3.00
+ format + + +
rational format
rational
1393/985 3 - 2i
Chúng ta ph i hi u r ng Matlab luôn tính toán v i c p đ chính xác nh t có th , khiả ể ằ ớ ấ ộ ấ ể
bi n a hi n th d ng shortG: a=2^(1/2)= 1.4142 không có nghĩa là giá tr c a a d ng l i ế ể ị ạ ị ủ ừ ạ ở
4 s sau d u ph y, theo ng m đ nh matlab tính toán v i hàng trăm s sau d u ph y c aố ấ ẩ ầ ị ớ ố ấ ẩ ủ
a.
Đ thay đ i d ng hi n th s m c đ nh chúng ta vào ể ổ ạ ể ị ố ặ ị File Preferences  Array
Editor sau đó l a ch n d ng format phù h p. Ngoài ra Preferences là m c cho phépự ọ ạ ợ ụ

chúng ta thay đ i nhi u giao di n gi a ng i l p trình và ph n m m.ổ ề ệ ữ ườ ậ ầ ề
3.2. S ph cố ứ
Malab có hai bi n đ c bi t đó là i=j=ế ặ ệ
1

dùng cho ph n o c a s th c, vai trò c a iầ ả ủ ố ự ủ
và j là t ng t nhau. u đi m đ c bi t c a Matlab đó là tính toán v i s ph c t ng tươ ự Ư ể ặ ệ ủ ớ ố ứ ươ ự
nh s th c. ư ố ự
Trong toán h c s ph c có th bi u di n d i d ng sau:ọ ố ứ ể ể ễ ướ ạ
18
A,θ=A.e

=a+bi
Trong đó A,θ và A.e


là các d ng bi u di n t a đ c c.ạ ể ễ ở ọ ộ ự
A=
22
ba
+
, θ = arc[tan(b/a)], a=A cosθ, b=A sinθ
* Các l nh chuy n h tr c t a ệ ể ệ ụ ọ
>> c=3-2i
c =
3.0000 - 2.0000i
L nhệ K t quế ả Ý nghĩa
real(c) 3 Xác đ nh ph n th cị ầ ự
imag(c) -2 Xác đ nh ph n oị ầ ả
abs(c) 3.6056 Tính argument

angle(c) -0.5880 Tính góc s ph c theo radianố ứ
conj(c) 3.0000 + 2.0000i S ph c liên h pố ứ ợ
3.3. Các hàm toán h c thông d ngọ ụ
acos(x) Hàm ng c c a hàm cosinượ ủ
acosh(x) Hàm ng c c a hàm hypecbolcosinượ ủ
asin(x) Hàm ng c c a hàm sinượ ủ
asinh(x) Hàm ng c c a hàm hypecbolsinượ ủ
atan(x) Hàm ng c c a hàm tangượ ủ
atan2(x,y) Hàm ng c tang c a th ng s ph n th cượ ủ ươ ố ầ ự
x chia cho ph n th c yầ ự
atanh(x) Hàm ng c c a hàm hypepoltangượ ủ
cos(x), sin(x), tan(x), cosh(x), sinh(x),
tanh(x)
log(x) Logarit t nhiênự
log10(x) Logarit c s 10ơ ố
exp(x) e^x
sqrt(x) Căn b c 2 c a xậ ủ
fix(x) X p x 0ấ ỉ
ceil(x) X p x dấ ỉ ương vô cùng
floor(x) X p x âm vô cùngấ ỉ
gdc(x,y) Ư c s chung l n nh t c a 2 s nguyên x,yớ ố ớ ấ ủ ố
lcm(x,y) B i s chung nh nh t c a hai s nguyênộ ố ỏ ấ ủ ố
x,y
rem(x,y) Ph n dầ ư c a phép chia x cho yủ
round(x) Ph n nguyên c a xầ ủ
sign(x) Tr v d u c a xả ề ấ ủ
Bài t pậ
1. Nh p d li u t file *.txt có n i dung nh b ng sau:ậ ữ ệ ừ ộ ư ả
19
a. Tính các giá tr :ị

A
A
A
C1000
C1000
x
+

=
A
A
x
X1
1
ln2a


=
b) Vi t M-file chuy n m ng v và Cế ể ả
A
thành 1 m ng s ph cả ố ứ
‘c’ v i các ph n t c t v là ph n th c, các ph n t t ng ngớ ầ ử ộ ầ ự ầ ử ươ ứ
ph n Cầ
A
là ph n oầ ả
c) Th c hi n các l nh ự ệ ệ
real(c)
imag(c)
abs(c)
angle(c)


4. Qu n lý ma tr n d li uả ậ ữ ệ
Matlab làm vi c v i các đ i l ng vô h ng, vect , và maệ ớ ạ ượ ướ ơ
tr n. Đ i l ng vô h ng ch đ n gi n là ma tr n 1x1, vàậ ạ ượ ướ ỉ ơ ả ậ
vect chính là ma tr n 1 c t ho c 1 dòng. T t c các d ng d li u này Matlab ki m soátơ ậ ộ ặ ấ ả ạ ữ ệ ể
d i d ng ma tr n.ướ ạ ậ
Ph n này s gi i thi u các thao tác và các hàm c b n v i ma tr n.ầ ẽ ớ ệ ơ ả ớ ậ
4.1. Ma tr n 1 chi uậ ề
4.1.1. Ma tr n hàngậ
Đ tìm hi u cách thi t l p và x lý d li u ma tr n 1 chi u chúng ta xét ví d :ể ể ế ậ ử ữ ệ ậ ề ụ
VD2: Trong quá trình phân tích Amoni theo ph ng pháp quang h c chúng ta thu đ cươ ọ ượ
d li u v đ ng chu n nh sau:ữ ệ ề ườ ẩ ư
N ng đ (ppm)ồ ộ 0.4 0.8 1.2 1.6 2
Đ h p th ộ ấ ụ 0.125 0.220 0.309 0.399 0.497
Hãy v đ th .ẽ ồ ị
Chúng ta c n 2 bi n d i d ng 2 ma tr n hàng đ qu n lý d li u c a n ng đ và đầ ế ướ ạ ậ ể ả ữ ệ ủ ồ ộ ộ
h p th . D li u n ng đ là d li u có quy lu t do đó chúng ta s d ng l nh sau:ấ ụ ữ ệ ồ ộ ữ ệ ậ ử ụ ệ
>>nd=linspace(0.4,2,5)
nd =
0.4000 0.8000 1.2000 1.6000
2.0000
>>ht=[0.125 0.220 0.309 0.399 0.497]
ht =
0.1250 0.2200 0.3090 0.3990
0.4970
>>plot(ht,nd)
>>xlabel(‘do hap thu’)
>>ylabel(‘nong do’)
V C
A


1,5 10
2,5 50
4,0 100
6,5 200
20 500
20
linspace là câu l nh t o ma tr n hàng cú pháp nh sau ệ ạ ậ ư linspace(a,b,c) trong đó a là giá
tr đ u, b là giá tr cu i và c là s giá tr n m trong đo n ị ầ ị ố ố ị ằ ạ [a, b]
D li u v đ h p th không có quy lu t do đó chúng ta ph i nh p t ng giá tr , khiữ ệ ề ộ ấ ụ ậ ả ậ ừ ị
chúng ta nh p d li u ph i chú ý gi a các giá tr ph i cách nhau m t d u cách ho c d uậ ữ ệ ả ữ ị ả ộ ấ ặ ấ
‘,’, các giá tr ph i n m trong d u ngo c vuông [ ]:ị ả ằ ấ ặ
Ngoài 2 cách t o ma tr n hàng nh trên chúng ta có th t o các cách sau:ạ ậ ư ể ạ
* T o ma tr n hàng mà các ph n t liên ti p cách nhau 1 đ n vạ ậ ầ ử ế ơ ị
>>x=0.4:6
x =
0.4000 1.4000 2.4000 3.4000 4.4000 5.4000
* T o ma tr n hàng mà các ph n t liên ti p cách nhau m t giá tr xác đ nhạ ậ ầ ử ế ộ ị ị
>> x=0.1:0.4:2
x =
0.1000 0.5000 0.9000 1.3000 1.7000
* Chúng ta có th s d ng các phép toán trong t o ma tr nể ử ụ ạ ậ
>> x=(0.1:0.4:2)*sin(pi/4)
x =
0.0707 0.3536 0.6364 0.9192 1.2021
* T o ma tr n hàng theo hàm logaritạ ậ
>> x=logspace(1, 3, 3)
x =
10 100 1000
T o ma tr n hàng t 10ạ ậ ừ

1
đ n 10ế
3
ch a 3 giá tr .ứ ị
4.1.2. Ma tr n c tậ ộ
Khi nh p m t ma tr n hang gi a các d li u trong ma tr n ta s d ng d u cách ho cậ ộ ậ ữ ữ ệ ậ ử ụ ấ ặ
d u ph y, đ nh p 1 ma tr n c t chúng ta phân cách d li u b ng d u ‘;’ ví d :ấ ẩ ể ậ ậ ộ ữ ệ ằ ấ ụ
>> b=[1;2;3]
b =
1
2
3
Ngoài ra chúng ta có th dùng toán t chuy n v đ chuy n t ma tr n hàng thành maể ử ể ị ể ể ừ ậ
tr n c t:ậ ộ
>>c=x’
c =
10
100
1000
>>c=x.’
c=
10
21
100
1000
Chúng ta có hai phép toán chuy n v là (ể ị ’) và (.’) hai phép chuy n v này ch khác nhauể ị ỉ
khi d li u là s ph c. Toán t (.’) ch đ n gi n là chuy n v ma tr n, còn toán t (‘)ữ ệ ố ứ ử ỉ ơ ả ể ị ậ ử
chuy n c các s ph c trong ma tr n ngu n thành s ph c liên h p:ể ả ố ứ ậ ồ ố ứ ợ
>>d=c+b*i
d =

10 + 1i
100 + 2i
1000 + 3i
>> e=d'
e =
10 - 1i 100 - 2i 1000 - 3i
>> e=d.'
f =
10 + 1i 100 + 2i 1000 + 3i
4.2. Ma tr n nhi u chi uậ ề ề
Khi nh p m t ma tr n nhi u chi u ngoài vi c nh p d li u t file chúng ta có thậ ộ ậ ề ề ệ ậ ữ ệ ừ ể
nh p d li u t bàn phím. Trong chúng ta ph i chú ý gi a các d li u trong m t hàngậ ữ ệ ừ ả ữ ữ ệ ộ
ph i cách nhau m t d u ‘,’ ho c d u cách, gi a các hàng ph i cách nhau b i d u ‘;’ả ộ ấ ặ ấ ữ ả ở ấ
ho c enter.ặ
>>g=[1 2 3;4 5 6; 7 8 9]
g =
1 2 3
4 5 6
7 8 9
>>g=[1 2 3
4 5 6
7 8 9]
g =
1 2 3
4 5 6
7 8 9
Matlab cung c p 2 hàm cho phép g i ma tr n ch g m các ph n t 0 ho c 1:ấ ọ ậ ỉ ồ ầ ử ặ
>>h=ones(3,2)
h =
1 1

1 1
1 1
>> k=zeros(3,4)
k =
22
0 0 0 0
0 0 0 0
0 0 0 0
Ta cũng có th t o ma tr n 0 hay 1 theo kích th c ma tr n khác:ể ạ ậ ướ ậ
>>m=ones(size(g))
m =
1 1 1
1 1 1
1 1 1
V m t cú pháp khi ta vi t ones(n) hay zeros(n) nghĩa là t o ma tr n vuông n chi uề ặ ế ạ ậ ề
còn khi vi t ones(n,m) hay zeros(n,m) nghĩa là t o ma tr n n hàng m c t.ế ạ ậ ộ
4.3. Các phép toán trong ma tr nậ
* Nhân ma tr nậ
.* Nhân ma tr n theo t ng v trí t ng ng hai ma tr nậ ừ ị ươ ứ ậ
^ Lũy th a ma tr nừ ậ
.^ Lũy th ma tr n theo t ng v trí t ng ng hai ma tr nừ ậ ừ ị ươ ứ ậ
\ Chia trái ma tr nậ
/ Chia ph i ma tr nả ậ
./ and .\ Chia ma tr n theo t ng v trí t ng ng hai ma tr nậ ừ ị ươ ứ ậ
' Chuy n v chuy n liên h pể ị ể ợ
.' Chuy n v không chuy n liên h pể ị ể ợ
Đ hi u rõ h n gi a phép toán s d ng d u (.) và không s d ng ta hãy xét ví d sauể ể ơ ữ ử ụ ấ ử ụ ụ
>> n
n =
2 2 2

2 2 2
2 2 2
>> g
g =
1 2 3
4 5 6
7 8 9
>> h=n.*g
h =
2 4 6
8 10 12
14 16 18
>>k=n*g
k =
24 30 36
24 30 36
24 30 36
23
Các phép toán s d ng d u ‘.’ th c hi n trên các v trí t ng ng c a hai ma tr nử ụ ấ ự ệ ị ươ ứ ủ ậ
h(i,j)=n(i,j)*g(i,j) trong đó i ch v trí hàng, j ch v trí c t.ỉ ị ỉ ị ộ
Các phép toán không s d ng d u ‘.’ tuân theo quy đ nh toán h c v đ nh th c maử ụ ấ ị ọ ề ị ứ
tr n. ậ

=
=
3:1
j)g(x,*x)n(i,j)h(i,
x
4.5. Đ a ch d li u trong ma tr nị ỉ ữ ệ ậ
Khi truy xu t t i m t ph n t trong ma tr n chúng ta s d ng ch s hàng và ch sấ ớ ộ ầ ử ậ ử ụ ỉ ố ỉ ố

c t:ộ
>>h(2,2)
ans=
10
>>h(2,3)=10 % gán d li u hàng 2 c t 3 c a ma tr n h b ng 10ữ ệ ở ộ ủ ậ ằ
h =
2 4 6
8 10 10
14 16 18
>>h(3,:)=10 % gán t t c các giá tr hàng th 3 b ng 10, d u ‘:’ ch t t c cácấ ả ị ứ ằ ấ ỉ ấ ả
hàng ho c c tặ ộ
h =
2 4 6
8 10 10
10 10 10
>>h(:,4)=0 % tăng thêm c t th 4 b ng 0ộ ứ ằ
h =
2 4 6 0
8 10 10 0
10 10 10 0
>> h(:,3)=[] % b t c t th 3 c a ma tr n hớ ộ ứ ủ ậ
h =
2 4 0
8 10 0
10 10 0
>> x
x =
10 100 1000
>> h(2,:)=x % thay hàng 2 b ng ma tr n hàng xằ ậ
h =

2 4 0
10 100 1000
10 10 0
24
Chúng ta có quy đ nh chung v đ a ch c a ma tr n nh sau:ị ề ị ỉ ủ ậ ư
h(m,n) Ma tr n con 1 ph n t hàng m c t n c a ma tr n hậ ầ ử ở ộ ủ ậ
h(:,n) Ma tr n con là ma tr n c t ch a các ph n t c t n c a maậ ậ ộ ứ ầ ử ở ộ ủ
tr n hậ
h(m,:) Ma tr n con là ma tr n hàng ch a các ph n t hàng m c aậ ậ ứ ầ ử ở ủ
ma tr n hậ
h(:) Ma tr n c t ch a t t c các ph n t trong ma tr n h b ng cách n i liên ti p cácậ ộ ứ ấ ả ầ ử ậ ằ ố ế
c t l i v i nhauộ ạ ớ
h(m) Ch ph n t th m trong ma tr n h theo cách đ m liên ti p t trên xu ngỉ ầ ử ứ ậ ế ế ừ ố
d i, t trái qua ph iướ ừ ả
>>h(8)
ans =
1000
4.6. Các hàm thông d ngụ
p=find(h) Cho k t qu là ma tr n c t các ch s c a d li u l n h n 1ế ả ậ ộ ỉ ố ủ ữ ệ ớ ơ
trong ma tr n hậ
[m,n]=find(h) Cho k t qu là hai ma tr n c t m ch a các ch s hàng, n ch aế ả ậ ộ ứ ỉ ố ứ
các ch s c t c a các ph n t l n h n 1 trong ma tr n h. Ta cóỉ ố ộ ủ ầ ử ớ ơ ậ
th đ a thêm các hàm toán vào các d li u trong ma tr n h nh :ể ư ữ ệ ậ ư
find(h>34), find(sin(h)>0.5)
isequal(g,h) Cho giá tr là 1 n u hai ma tr n gi ng nhau, là 0 n u s hàng, sị ế ậ ố ế ố ố
c t hay có 1 ph n t khác nhauộ ầ ử
ismember(g,h) Cho k t qu là ma tr n có kích th c b ng ma tr n g. V i m iế ả ậ ướ ằ ậ ớ ỗ
ph n t trong ma tr n g Malab tìm ki m trong ma tr n h n u cóầ ử ậ ế ậ ế
ph n t có giá tr b ng thì tr k t qu 1, n u không có thì tr giáầ ử ị ằ ả ế ả ế ả
tr 0.ị

intersect(g(:),h(:)) Tr k t qu là ma tr n c t các ph n t b ng nhau đ c s pả ế ả ậ ộ ầ ử ằ ượ ắ
x p t nh đ n l nế ừ ỏ ế ớ
setdiff(g(:),h(:)) Tr k t qu là ma tr n c t các ph n t có trong g mà không cóả ế ả ậ ộ ầ ử
trong h, x p x p t nh đ n l n ắ ế ừ ỏ ế ớ
setxor(g(:),h(:)) Tr k t qu là ma tr n c t các ph n t không ph i là ph n tả ế ả ậ ộ ầ ử ả ầ ử
chung c a g và h ủ
union(g(:),h(:)) Tr k t qu là ma tr n c t t t c các ph n t có trong g ho c hả ế ả ậ ộ ấ ả ầ ử ặ
size(g) Tr k t qu là ma tr n hàng v i hai d li u là s hàng và sả ế ả ậ ớ ữ ệ ố ố
c t ma tr n gộ ậ
size(g,1) Tr k t qu là s hangả ế ả ố
size(g,2) Tr k t qu là s c tả ế ả ố ộ
length(g) Tr k t qu là s chi u l n h nả ế ả ố ề ớ ơ
1 4 7
2 5 8
3 6 9
25
Hình: 12: Th t trong maứ ự

tr n ậ

×