Biểu thức rẽ nhánh
49
Chương 5
5.
BIEÅU THÖÙC REÕ NHAÙNH
Cấu trúc của biểu thức rẽ nhánh bao gồm một nhóm lệnh cho phép thực thi một đoạn chương
trình có điều kiện hay thực hiện một vòng lặp.
5.1. CAÙC TOAÙN TÖÛ LOGIC VAØ BIEÅU THÖÙC QUAN HEÄ
Để thực thi biểu thức rẽ nhánh, chương trình cần thực hiện những phép toán mà kết quả của
nó là ĐÚNG hay SAI (TRUE hay FALSE). Trong MATLAB, kết quả trả về của một toán tử
logic là 1 nếu nó đúng và kết quả là 0 nếu nó sai. Bảng 5.1 trình bày những toán tử logic và
những biểu thức quan hệ trong MATLAB. Sử dụng lệnh help relop để hiểu rõ hơn về toán tử
logic và các biểu thức quan hệ. Những toán tử quan hệ <, <=, >, >=, == và ~= có thể được sử
dụng để so sánh hai ma trận có cùng kích thước (lưu ý rằng một số thực được xem như là một
ma trận 1x1). Hơn nữa, các hàm xor, any, và all cũng được sử dụng như là các toán tử logic
(sử dụng lệnh help để hiểu rõ hơn)
Bảng 5.1
: Toán tử logic và biểu thức quan hệ.
Lệnh Kết quả
a = (b > c)
a là 1 nếu b lớn hơn c. Tương tự với <, >=, <=
a = (b == c) a là 1 nếu b bằng c
a = (b ~= c) a là 1 nếu b không bằng c
a = ~b
Logic bù: a bằng 1 nếu b bằng 0
a = (b & c)
Logic AND: a là 1 nếu a = TRUE và b= TRUE.
a = (b | c)
Logic OR: a là 1 nếu a = TRUE hoặc b= TRUE.
Lưu ý rằng trong MATLAB các toán tử AND và OR có mức ưu tiên bằng nhau, điều này có
nghĩa là các toán tử này sẽ được thực thi từ trái sang phải. Ví dụ:
>> b = 10;
>> 1 | b > 0 & 0
% ‘|’ là logic OR, ‘&’ là logic AND.
ans =
0
>> (1 | b > 0) & 0 % biểu thức này tương đương với biểu thức ở
trên.
ans =
0
>> 1 | (b > 0 & 0)
ans =
1
Lưu ý rằng để tránh các trường hợp nhầm lẫn ta nên sử dụng dấu ngoặc để phân biệt các
biểu thức logic có cấp độ ưu tiên khác nhau.