Tìm hiểu một số phương pháp nhận dạng tiếng nói và xây dựng hệ nhận dạng tiếng nói các chữ số tiếng việt bằng mạng nơron trên môi trường matlab - Pdf 28


1
L
L


I
IN
N
Ó
Ó
I

Đ


U
UNgay khi phát minh ra máy tính, con người đã mơ ước máy tính có thể nói
chuyện với mình. Yêu cầu đơn giản nhất là máy có thể xác định được từ ngữ mà
chúng ta nói với máy. Đó là mục tiêu của ngành nhận dạng tiếng nói.
Đối với con người, việc nghe, nhất là nghe tiếng mẹ đẻ là một vấn đề khá
đơn giản. Còn đối với máy tính, xác định một chuỗi tín hiệu âm thanh là sự phát

4. Chương 4 trình bày sơ lược về mạng nơron và toolbox NetLab cho
mạng nơron trên môi trường Matlab.

2
5. Chương 5 trình bày quá trình tiến hành và một số kết quả nghiên cứu
xây dựng hệ nhận dạng tiếng nói các chữ số tiếng Việt trên môi trường
Matlab.
Mặc dù hết sức cố gắng nhưng do khả năng còn hạn chế cộng với những
vấn đề về thời gian, phương tiện, công cụ nên kết quả nghiên cứu còn khá
khiêm tốn. Hy vọng rằng trong tương lai tôi sẽ có điề
u kiện hơn để tiếp tục
nghiên cứu đề tài này.
Em xin chân thành cảm ơn thầy Đặng Văn Chuyết (khoa CNTT ĐHBK Hà
Nội), cô Hồ Cẩm Hà, thầy Nguyễn Tân Ân, thầy Lê Minh Hoàng, thầy Ðào Việt
Cường, thầy Trần Đăng Hưng cùng các thầy cô giáo khoa CNTT ĐHSP Hà Nội
đã tận tình chỉ bảo, góp ý và giúp đỡ, tạo điều kiện cho em trong quá trình nghiên
cứu.
Cảm ơn anh Nguyễn Tiến Dũng (Viện CNTT), em Đinh Ng
ọc Thắng và các
bạn ở trung tâm FYT, các bạn cùng lớp, cùng khoa đã động viên và giúp đỡ tài
liệu, phương tiện để tôi hoàn thành nghiên cứu này.

3
M
M


C
C


2.3.1. Ma trận (matrix), vectơ (vector) và vô hướng (scalar) 16
2.3.2. Một số ma trận, vector đặc biệt 16
2.3.3. Các phép toán với vô hướng 17
2.3.4. Các phép toán với vector 17
2.3.5. Các phép toán với ma trận 18
2.4. CÁC HÀM THÔNG DỤNG TRONG MATLAB 19
2.4.1. Một số hàm toán học thông dụng 19
2.4.2. Một số hàm vector 20
2.4.3. Một số hàm xử lí âm thanh 20
2.4.4. Các phép toán số phức 21
2.5. LẬP TRÌNH MATLAB 22
2.5.1. Chương trình nguồn (m-file), hàm và script 22
2.5.2. Các cấu trúc điều khiển 23
2.5.2.1. Lệnh gán 23
2.5.2.2. Lệnh rẽ nhánh 24
2.5.2.3. Lệnh lặp 25
2.5.3 Biểu thức logic 26
2.5.3.1 Các phép toán quan hệ 26
2.5.3.2. Các phép toán logic 27
2.5.3.3. Một số hàm quan hệ và logic 27
CHƯƠNG 3. TRÍCH CHỌN ĐẶC TRƯNG TÍN HIỆU TIẾNG NÓI 29
3.1. TRÍCH CHỌN ĐẶC TRƯNG MFCC 29
3.1.1. Sơ đồ khối của quá trình tính MFCC 30
3.1.2. Chia khung và cửa sổ hoá 30

4
3.1.3. Biến đổi Fourier rời rạc 30
3.1.4. Lọc qua các bộ lọc mel-scale 31
3.1.5. Logarit và biến đổi Fourier ngược 31
3.1.6. Tính toán năng lượng 32

3.3.2. Xây dựng phần mềm nhận dạng dựa trên kết quả nghiên cứu 50
5.3.3. Nghiên cứu các phương pháp xác định đặc trưng khác 50
5.3.4. Nghiên cứu các phương pháp nhận dạng khác 51
PHỤ LỤC 1. DANH MỤC TÀI LIỆU THAM KHẢO 52
PHỤ LỤC 2. BẢNG CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT 53 5
C
C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G1
1
.
.N
N

N
N
Ó
Ó
I
I1.1. NHẬN DẠNG TIẾNG NÓI VÀ MỘT SỐ PHƯƠNG
PHÁP NHẬN DẠNG PHỔ BIẾN
1.1.1. Nhận dạng tiếng nói
Hiểu một cách đơn giản, nhận dạng tiếng nói (speech recognition by
machine) là dùng máy tính chuyển đổi tín hiệu ngôn ngữ từ dạng âm thanh thành
dạng văn bản. Nói một cách chính xác hơn: nhận dạng tiếng nói là phân chia
(segmentation) và đính nhãn ngôn ngữ (labeling) cho tín hiệu tiếng nói.
Nhận dạng tiếng nói có nhiều ứng dụng:
• Đọc chính tả. Là ứng dụng được sử dụng nhiều nhất trong các hệ
nhận dạng. Thay vì nhập liệu bằ
ng tay thông qua bàn phím, người sử
dụng nói với máy qua micro và máy xác định các từ được nói trong
đó.
• Điều khiển - giao tiếp không dây. Chẳng hạn hệ thống cho phép máy
tính nhận lệnh điều khiển bằng giọng nói của con người như: “chạy
chương trình”, “tắt máy”… Một số ưu điểm của việc sử dụng tiếng
nói thay cho các thiết bị vào chuẩn như bàn phím, con chuột là: thuậ
n
tiện, tốc độ cao, không bị ảnh hưởng của cáp, khoảng cách, không đòi
hỏi huấn luyện sử dụng
• Điện thoại-liên lạc. Một số hệ thống (chẳng hạn ở máy điện thoại di
động) cho phép người sử dụng đọc tên người trong danh sách thay vì

hình…
• Ngôn ngữ học: tìm hiểu mối quan hệ giữa ngữ âm và ngữ nghĩa, ngữ
pháp, ngữ cảnh của tiếng nói.
• Tâm-sinh lí học: tìm hiểu các cơ chế bậc cao của hệ thống nơron củ
a
bộ não người trong các hoạt động nghe và nói.
• Khoa học máy tính: nghiên cứu các thuật toán, các phương pháp cài
đặt và sử dụng hiệu quả các hệ thống nhận dạng trong thực tế.
1.1.2. Một số phương pháp nhận dạng tiếng nói phổ biến
1.1.2.1. Phương pháp ngữ âm - âm vị học (acoustic-phonetic approach)
Phương pháp ngữ âm - âm vị học dựa trên lý thuyết âm vị: lí thuyết này khẳng
định sự tồn tại hữu hạn và duy nhất các đơn vị ngữ âm cơ bản trong ngôn ngữ nói
gọi là âm vị, được phân chia thành: nguyên âm - phụ âm, vô thanh-hữu thanh, âm
vang -âm bẹt… Các âm vị có thể xác định bởi tập các đặc trưng trong phổ của
tín hiệu tiếng nói theo thời gian (độc giả có thể tham khả
o thêm ở [10]).
Đặc trưng quan trọng nhất của âm vị là formant. Đó là các vùng tần số có
cộng hưởng cao nhất của tín hiệu. Ngoài ra còn một số đặc trưng khác như âm
vực (cao độ - pitch), âm lượng…
Hệ thống nhận dạng dựa trên phương pháp này sẽ tách các đặc trưng từ tín
hiệu tiếng nói và xác định chúng tương ứng với âm vị nào. Sau đó, dựa vào một

7
từ điển phiên âm, máy sẽ xác định chuỗi các âm vị đó có khả năng là phát âm của
từ nào nhất.
Xét khía cạnh nguyên lí, phương pháp có vẻ rất đơn giản. Tuy nhiên các thử
nghiệm trong thực tế cho thấy phương pháp cho kết quả nhận dạng không cao.
Nguyên nhân từ những vấn đề sau:
• Phương pháp cần rất nhiều tri thức về ngữ âm học, nhất là các tri thức
liên quan đến đặc tính âm học c


Phần lớn các hệ nhận dạng thành công trên thế giới là sử dụng phương pháp
này. Phương pháp có những ưu điểm sau:
1. Sử dụng đơn giản, dễ hiểu, mang tính toán học cao (lý thuyết xác suất
thống kê, lý thuyết máy học, …)
2. Ít bị ảnh hưởng của những biến thể về bộ từ vựng, tập đặc trưng, đơn vị
nhận dạng, môi trường xung quanh…
3. Cho kế
t quả cao. Điều này đã được kiểm chứng trong thực tế.
1.1.2.3. Phương pháp trí tuệ nhân tạo (artifactial intelligence approach)
Phương pháp trí tuệ nhân tạo nghiên cứu cách học nói và học nghe của con
người, tìm hiểu các quy luật ngữ âm, ngữ pháp, ngữ nghĩa, ngữ cảnh… và tích
hợp chúng bổ sung cho các phương pháp khác để nâng cao kết quả nhận dạng.
Chẳng hạn có thể thêm các hệ chuyên gia (expert system), các luật logic mờ
(fuzzy logic) về ngữ âm, âm vị… vào các hệ nhận d
ạng tiếng nói dựa trên
phương pháp ngữ âm-âm vị học để tăng độ chính xác cho việc xác định các âm vị
(vấn đề đã được đề cập là rất khó nếu chỉ sử dụng các thông tin về âm phổ ).
Hay đối với các hệ nhận dạng mẫu, người ta cải tiến bằng cách với mỗi đối
tượng cần nhận dạng, hệ thống sẽ chọn ra một số
mẫu “giống” đối tượng nhất,
sau đó sẽ kiểm chứng tiếp các kết quả đó bằng các luật ngữ pháp, ngữ nghĩa, ngữ
cảnh… để xác định mẫu phù hợp nhất.
Hiện nay đang có một phương pháp trí tuệ nhân tạo trong nhận dạng tiếng
nói được nghiên cứu rộng rãi là mạng nơron. Tuỳ vào cách sử dụng, mạng nơron
có thể coi là mở rộng củ
a phương pháp nhận dạng mẫu hoặc phương pháp ngữ

9
âm-âm vị học. Do những đặc tính của mình (được trình bày kĩ ở phần 2), mạng

ần số rất thấp.
Các nguyên âm có tần phổ (spectrum) khác nhau khá rõ. Hình sau minh hoạ
sự khác nhau về phổ của 5 nguyên âm cơ bản. Miền đậm là miền có mật độ năng
lượng cao.
Minh hoạ: Sự khác nhau về phổ của 5 nguyên âm cơ bản. Miền đậm là miền có mật độ
năng lượng cao (vùng có formant)
.
Theo tác giả Đoàn Thiện Thuật ([3]), xét về mặt ngữ âm-âm vị học âm tiết
tiếng Việt có lược đồ như sau:
Thanh điệu
Vần Âm đầu
Âm đệm Âm chính Âm cuối
Lược đồ cho thấy âm tiết tiếng Việt có cấu trúc rõ ràng, ổn định. Lược đồ
còn cho thấy tiếng Việt là ngôn ngữ có thanh điệu. Hệ thống thanh điệu gồm 6
thanh: bằng, huyền, sắc, hỏi, ngã, nặng.
Thanh điệu trong âm tiết là âm vị siêu đoạn tính (thể hiển trên toàn bộ âm
tiết). Do đó đặc trưng về thanh điệu thể hiện trong tín hiệu tiếng nói không rõ nét
như
các thành phần khác của âm tiết.
Sự khác biệt về cách phát âm tiếng Việt rất rõ rệt theo giới, lứa tuổi và đặc
biệt là theo vị trí địa lí (giọng miền Bắc, miền Trung và miền Nam khác nhau rất
nhiều).

11
1.2.2. Những thuận lợi và khó khăn đối với nhận dạng tiếng
nói tiếng Việt
1.2.2.1. Thuận lợi
Những đặc điểm ngữ âm tiếng Việt cho thấy nhận dạng tiếng nói tiếng Việt
có một số thuận lợi sau:
• Tiếng Việt là ngôn ngữ đơn âm, số lượng âm tiết không quá lớn. Điều

ng nhận
dạng tiếng Việt. 12
C
C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G2
2
.
.M
M
Ô
Ô
I

.Matlab (Matrix Laboratory) là một môi trường trợ giúp tính toán và hiển thị
rất mạnh được hãng MathWorks phát triển. Mức phát triển của Matlab ngày nay
đã chứng tỏ Matlab là một phần mềm có giao diện cực mạnh cùng nhiều lợi thế
trong kĩ thuật lập trình để giải quyết những vấn đề đa dạng trong nghiên cứu
KHKT.
Phần tử tính toán cơ bản của Matlab là các ma trận. Giao diện cơ sở của
Matlab là các dòng lệnh. Ngoài thư
viện các hàm tính toán, vào-ra, đồ hoạ… cơ
bản, Matlab còn có các toolbox là các thư viện cho từng lĩnh vực cụ thể. Ví dụ có
toolbox cho xử lí tín hiệu (Signal Processing), mô phỏng mô hình (SimulLink),
logic mờ (Fuzzy Logic), mạng nơron (NNet), … thậm chí cho cả thiết kế máy
bay (Aerospace) hay giải phương trình vi phân (PDE)…
Matlab cũng hỗ trợ lập trình và cho phép tích hợp thư viện do người dùng
xây dựng. Câu lệnh của Matlab được viết rất sát các mô tả kĩ thuật nên lập trình
trên Matlab nhanh và đơn giản hơn so vớ
i các ngôn ngữ thông dụng như Pascal,
Fortran… Cú pháp lập trình của Matlab giống C nên không quá khó học. Đặc
biệt Matlab còn có các giao thức để liên kết với các môi trường lập trình khác,
nhất là VC++, chẳng hạn cho phép dịch các hàm trong Matlab thành các chương
trình nguồn C/C++ hoặc hỗ trợ các thư viện DLL từ bên ngoài.
Do những điểm mạnh như vậy của Matlab, chúng tôi quyết định sẽ dùng
Matlab để phát triển hệ nhận dạng của mình. 13
2.1. GIAO DIỆN VÀ CÁC THÀNH PHẦN CƠ BẢN CỦA
MATLAB

• Kí pháp ma trận trong Matlab là cặp [ ]. Ma trận được mô tả từng
dòng một, giữa các dòng cách nhau bởi dấu ; giữa các phần tử trên
cùng một dòng cách nhau bởi dấu phân tách như dấu cách, tab Ví dụ
mô tả ma trân [1 2; 3 4]. (Chú ý mỗi dòng phải có số phần tử bằng
nhau). Trong đoạn trình này p1, p2 là 2 ma trận 1x2 mô tả toạ độ 2
điểm. v=p2-p1 là vector tạo bởi 2 điểm p1, p2.
• Câu lệnh
d = norm(vt) là câu lệnh gán trị, đồng thời là câu lệnh gọi
hàm: norm là hàm lấy chuẩn của vector.
Bảng sau liệt kê một số lệnh cơ bản của Matlab:
Lệnh Ý nghĩa
clc
Xoá cửa sổ lệnh.
Clf
Xoá cửa sổ đồ hoạ.
exit, quit
Thoát khởi Matlab.
help <tên lệnh,
hàm >
Trợ giúp về tên lệnh, hàm.
pause
Tạm dừng, ấn phím bất kì để tiếp tục
disp
Hiển thị biến hoặc xâu
Ctrl+C
Thoát khỏi lệnh đang thực thi (trong trường hợp
chạy quá lâu hoặc lập trình sai nên không thoát
được).

Gọi lại các lệnh ở phía trên.

file MAT, Matlab còn có thể đọc các file ảnh, file âm thanh, file CSDL, file
Excel để lấy ra các thông tin cần thiết.
Ghi và đọc dữ liệu qua file trong Matlab có thể thực hiện qua 2 lệnh save và
load, cũng có thể thực thi bằng chọn menu. Trong trường hợp ta chắc chắn được
cấu trúc của file dữ liệu thì nên dùng lệ
nh cho nhanh, trong trường hợp không rõ
(thường xảy ra khi nhập từ file của các môi trường khác) ta nên dùng menu vì
máy cần chúng ta cung cấp và xác định cấu trúc file.
Cú pháp của lệnh save, load:
Save <filename>

Ghi toàn bộ không gian làm việc vào file
.MAT có tên là <filename>
Save <filename> x
Ghi biến x vào file .MAT có tên là <filename>
Save <filename> x y z
Ghi các biến x,y,z vào file .MAT có tên là
<filename>
Load <filename>
Đọc các biến trong file .MAT có tên là

16

<filename> vào không gian làm việc.
Load <filename> x
Đọc giá trị của biến x từ file .MAT có tên là
<filename>
Load <filename> x y z
Đọc giá trị các biến x,y,z từ file .MAT có tên
là <filename>




887
654
321
được mô tả trong Matlab là [1 2 3; 4 5 6; 7 8 9].
Phần tử dòng i, cột j của ma trận A viết là A(i,j). Nếu chỉ viết A(i) thì
Matlab hiểu đó là A(1,i). Còn để xác định vector dòng i của ma trận A thì phải
viết là A(i,:); tương tự để xác định vector cột j của A thì viết là A(:,j). Kí hiệu : ở
đây hiểu là “tất cả”.
2.3.2. Một số ma trận, vector đặc biệt

17
Viết trong Matlab Ý nghĩa
[]
Ma trận rỗng
eye(n)
Ma trận đơn vị cấp n
zeros(m,n)
Ma trận toàn phần tử 0 cỡ m×n
ones(m,n)
Ma trận toàn phần tử 1 cỡ m×n
a:b
Vector các phần tử từ a đến b, độ lệch là 1 hay -1 tuỳ thuộc
a lớn hơn hay nhỏ hơn b. Ví dụ
1:5 sinh ra vector [1 2 3
4 5]
; 3.6:2 sinh ra vector [3.6 2.6].
a:d:b

cỡ m×n và
B(i,j)=A(i,j)×3.
2.3.4. Các phép toán với vector

18
Các phép toán với vector thực hiện với 2 vector cùng cỡ, kết quả là một
vector cùng cỡ, trong đó mỗi phần tử của vector kết quả là kết quả của phép toán
giữa 2 phần tử tương ứng của 2 vector ban đầu.
Tức là nếu
C=A.^B thì C(i)=A(i)^B(i).
Trong bảng sau cột kết quả ứng với A=[4 3]; B=[2 1]
Viết trong Matlab Ý nghĩa Kết quả
A+B
Cộng vector [6 4]
A-B
Trừ vector [2 2]
A.*B
Nhân vector [8 3]
A./B
Chia vector [2.0 3.0]
A.^B
Luỹ thừa [16 3]
Ngoài ra ta còn thực hiện được các phép toán đó giữa một vector và một vô
hướng (như đã trình bày ở phần về các phép toán với vô hướng).
2.3.5. Các phép toán với ma trận
Với 2 ma trận cùng cỡ, ta có thể thực hiện các phép toán như các phép toán
với vector ở trên (kết quả cũng là một ma trận cùng cỡ, mỗi phần tử là kết quả
của phép toán với 2 phần tử tương ứng).
Viết trong Matlab Ý nghĩa
A+B

A(i,:)
Vector dòng i.
A(:,j)
Vector cột j.
A(x,y)
Trích ma trận con: x,y là 2 vector mô tả chỉ số dòng và
cột. A(x,y) là ma trận con trong đó các phần tử là các
phần tử của A có chỉ số dòng và cột mô tả trong x và y.
Tức là nếu gán
B=A(x,y) thì B(i,j)=A(x(i),y(j)).
Có thể dùng thêm kí hiệu
: để lấy toàn bộ dòng hoặc cột.
reshape(A,m,n)
Định dạng lại ma trận A thành ma trận m dòng, n cột
rot90(A,k)
Quay ma trận A 90
o
, ngược chiều kim đồng hồ k lần.
A^k
Luỹ thừa ma trận: tính ma trận A
k
(nhân A k lần), chỉ áp
dụng với ma trận vuông.
inv(A)
Cho ma trận nghịch đảo của A. Chỉ áp dụng với ma trận
vuông
triu(A),tril(A)
Cho ma trận tam giác trên/dưới của A.
2.4. CÁC HÀM THÔNG DỤNG TRONG MATLAB
2.4.1. Một số hàm toán học thông dụng

atan(x)
Các hàm lượng giác arcsin, arccos, arctang
atan2(x,y)
Cho arctg của y/x trong khoảng -π đến π,
tuỳ thuộc vào dấu của x,y
2.4.2. Một số hàm vector
Các hàm sau thực hiện cho vector, nếu đối số là ma trận thì kết quả là
vector mà mỗi phần tử tính toán tương ứng với các cột của ma trận.
Viết trong Matlab Ý nghĩa
sum(X)
Tính tổng các phần tử của vector X.
mean(X)
Tính trung bình cộng các phần tử của vector X.
[xm id] =max(X);
[xm id] =min(X);
Tìm phần tử lớn nhất/nhỏ nhất của X. xm là giá trị,
id là chỉ số.
norm(X, p)
Tính chuẩn bậc p của ma trận hay vector X, mặc
định là bậc 2.
length(X)
Cho số phần tử của X.
[m n]= size(A)
Cho kích thước ma trận A.

2.4.3. Một số hàm xử lí âm thanh
Matlab có một số hàm xử lí âm thanh sau:
Viết trong Matlab Ý nghĩa
[y
fs]=wavread(wavfile)

imag(x)
Phần ảo b
conj(x)
Số phức liên hợp a-bi
abs(x)
môđun
22
ba +
angle(x)
argument arctg(b/a)
i,j
Kí hiệu đơn bị ảo.
1−
Cách viết phép toán và gọi hàm với số thực và số phức hoàn toàn giống
nhau. Các phép toán hay hàm nào thực hiện được với số phức cho kết quả là số
phức tương ứng.

22
2.5. LẬP TRÌNH MATLAB
2.5.1. Chương trình nguồn (m-file), hàm và script
Matlab hỗ trợ 2 chế độ hoạt động: hoạt động theo giao diện dòng lệnh hoặc
theo chương trình. Giao diện dòng lệnh cho phép người dùng gõ lệnh và máy
hiển thị kết quả trong cửa sổ lệnh (có thể tham khảo một số lệnh ở phần 1.3). Tuy
nhiên để nâng cao hiệu qủa sử dụng Matlab thì phải lập trình.
Chương trình trong Matlab có 2 dạng: script (kịch bản) hoặc function
(hàm). Chương trình nguồn Matlab được lưu vào các file text có phần mở
rộng là
.m ( gọi là các m-file) và tên chương trình được xác định qua tên file.
Script và function đều là dãy các lệnh Matlab. Có một khác biệt cơ bản:
hàm có thể nhận đối số và trả lại kết quả, còn script thì không. Khi gõ lệnh chứa

5. Lời gọi hàm:
Lệnh gọi hàm có dạng như khai báo hàm, chỉ khác là không được có dấu ;
giữa các tham số đầu ra.
[<các tham số đầu ra>]=<tên hàm>(các tham số đầu vào)
Tuy nhiên Matlab cho phép số tham số đầu vào, đầu ra ít hơn số tham số
hình thức. Người lập trình cần dùng 2 hàm nargin và nargout để xác định số đầu
vào, đầu ra thực sự trong lời gọi hàm (chú ý: .
Chẳng hạn ta có thể dùng lời gọi hàm sau để tính diện tích và chu vi hình
chữ nhật kích thước 4×3:
[dt cv] = dtvc(4,3)
Nếu chỉ quan tâm đến diện tích ta có thể gọi:
dt = dtvc(4,3)
Tuy nhiên trình tự truyền tham số của hàm trong Matlab là từ trái sang, vì
vậy nếu chỉ cần kết quả là chu vi, không quan tâm đến diện tích ta vẫn phải gọi
hàm như câu lệnh đầu tiên, không thể dùng câu lệnh sau:
cv = dtvc(4,3)
Vì nếu gọi như vậy, cv sẽ bị gán giá trị 12 của diện tích.
So sánh với các ngôn ngữ khác chúng ta có một số nhận xét:
• Matlab cho phép hàm trả lại nhiều kết quả.
• Matlab cho phép số tham số thực sự ít hơn số tham số hình thức.
• Matlab không xác định kiểu của tham số hình thức và kiểm tra kiểu
của tham số thực sự. Người lập trình phải tự xác định lấy.
2.5.2. Các cấu trúc điều khiển
Các cấu trúc điều khiển của Matlab nhìn chung giống Pascal, ngoại trừ đặc
điểm là không có cấu trúc khối begin end nên thường các cấu trúc điều khiển
trong Matlab cho phép có nhiều câu lệnh con và kết thúc bằng end.
2.5.2.1. Lệnh gán
Lệnh gán trong Matlab là dấu =, có dạng:
<biến>=<biểu thức>


<nhóm lệnh 1>, ngược lại thì thực hiện <nhóm lệnh
2>.
3/ Lệnh if elseif
Cú pháp
if <biểu thức logic 1>
<nhóm lệnh 1>
elseif <biểu thức logic 2>

25
<nhóm lệnh 2>
end;

Thực thi:
Dùng elseif thì tương tự như dùng else sau đó có một câu lệnh if:
if <biểu thức logic 1>
<nhóm lệnh 1>
else
if <biểu thức logic 2>
<nhóm lệnh 2>
end;
end;

Tuy nhiên dùng elseif thì chương trình sáng sủa hơn, không phải thêm các
từ khoá end ở cuối.
2.5.2.3. Lệnh lặp
Matlab có 2 loại lệnh lặp: lệnh for và lệnh while.
1/ Lệnh for
Cú pháp:
for <chỉ số> = <biểu thức>
<nhóm lệnh>


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status