Biểu thức rẽ nhánh
52
9 10 11 12 13 29 30 31 32 33
>> plot (x(k), y(k), 'ro');
>> r = find (x > 0.5 & y > 0)
r =
35 36 37 38 39 40 41
>> plot (x(r), y(r), 'r*');
Với ma trận, lệnh find cũng được thực thi theo cách tương tự.
>> A = [1 3 -3 -5; -1 2 -1 0; 3 -7 2 7];
>> k = find (A >= 2.5)
k =
3
4
12
>> A(k)
ans =
3
3
7
Theo cách này, đầu tiên lệnh find sắp xếp ma trận A lại thành một vector cột theo cách cột
sau được nối tiếp vào cột trước nó. Do vậy, k là vị trí các thành phần của vector vừa tạo ra có
giá trị lớn hơn hoặc bằng 2,5 và A(k) là giá trị của các thành phần này. Các giá trị cột và dòng
của các thành phần này cũng có thể được xác định:
>> [I, J] = find (A >= 2.5)
I =
3
1
3
J =
1
2
4
>> [A(I(1),J(1)),A(I(2),J(2)),A(I(3),J(3))]
ans =
3 3 7
#
Bài tập 5-5.
Cho A = ceil(5 * randn(6, 6))
• Tìm các thành phần của A nhỏ hơn –3.
• Tìm các thành phần của A lớn hơn –1 và nhỏ hơn 5.