Biểu thức rẽ nhánh
51
>> axis tight
>> hold off
Trước khi tiếp tục, chắc chắn rằng bạn đã hiểu được ý nghĩa và hoạt động các biểu thức sau:
>> a = randperm(10);
% hoán vị ngẫu nhiên.
>> b = 1:10;
>> b - (a <= 7)
% (b - 1) nếu (a <= 7) và (b - 0) nếu (a >
7)
>> (a >= 2) & (a < 4) % bằng 1 nếu 2 <= a < 4
>> ~(b > 4)
% bằng 1 nếu b <= 4
>> (a == b) | b == 3
% bằng 1 nếu a = b hoặc b = 3
>> any(a > 5)
% bằng 1 nếu bất kỳ thành phần nào
%
của a lớn hơn 5.
>> any(b < 5 & a > 8) % bằng 1 nếu tồn tại a và b sao cho
% (b < 5 và a > 8)
>> all(b > 2)
% bằng 1 nếu tất cả các giá trị
%
của b lớn hơn 2.
Các thành phần của vector hay ma trận có thể được trích ra khi chúng thỏa mãn một điều kiện
nào đó. Sử dụng lệnh find cũng cho ta một kết quả tương tự. Kết quả trả về của lệnh find là vị
trí của các thành phần thỏa mãn điều kiện. Ví dụ:
>> x = [1 1 3 4 1];
>> i = (x == 1)
i =
1 1 0 0 1
>> y = x(i)
y =
1 1 1
>> j = find(x == 1) % j là các vị trí của x thỏa mãn x(j) = 1.
j =
1 2 5
>> z = x(j)
z =
1 1 1
Một ví dụ khác là:
>> x = -1:0.05:1;
>> y = sin(x) .* sin(3*pi*x);
>> plot (x, y, '-');
>>
hold on
>> k = find (y <= -0.1)
k =