Biểu thức rẽ nhánh
50
#
Bài tập 5-1.
• Dự đoán trước kết quả và sau đó kiểm tra lại bằng MATLAB các biểu thức quan hệ trong
bảng 5.1 với b = 0 và c = -1.
• Dự đoán trước kết quả và sau đó kiểm tra lại bằng MATLAB các toán tử logic (and, or)
với b = [2, 31, -40, 0] và c = 0.
• Định nghĩa hai vector ngẫu nhiên (randn(1,7)) và thực thi tất cả các toán tử logic bao gồm
cả xor, any, và all.
#
Bài tập 5-2.
1. Cho x = [1, 5, 2, 8, 9, 0, 1] và y = [5, 2, 2, 6, 0, 0, 2]. Thực thi và giải thích kết quả của các
lệnh sau:
• x > y
• x <= y
• x & (~y)
• x < y
• y >= x
• (x > y) | (y < x)
• x == y
• x | y
• (x > y) & (y < x)
2. Cho x = 1 : 10 và y = [3, 5, 6, 1, 8, 2, 9, 4, 0, 7]. Thực thi và giải thích kết quả của các lệnh
sau:
• (x > 3) & (x < 8)
• x ((x < 2) | (x >= 8))
• x(x > 5)
• y ((x < 2) | (x >= 8))
• y(x <= 4)
• x (y < 0)
#
Bài tập 5-3.
Cho x = [3, 16, 9, 12, -1, 0, -12, 9, 6, 1]. Thực thi các công việc sau:
• Gán các thành phần giá trị dương của x bằng zero.
• Nhân 2 các giá trị là bội số của 3.
• Nhân các giá trị lẻ của x với 5.
• Trích các giá trị của x lớn hơn 10 thành vector y.
• Gán các giá trị của x nhỏ hơn giá trị trung bình của nó thành zero.
#
Bài tập 5-4.
Thực thi các lệnh sau đây và lưu ý giá trị của z.
>> hold on
>> x = -3:0.05:3;
>> y = sin(3*x);
>> subplot(1, 2, 1);
>> plot(x, y);
>> axis tight
>> z = (y < 0.5).*y;
>> subplot(1, 2, 2);
>> plot(x, y, 'r:');
>> plot(x, z, 'r');