2. Các cấu trúc điều khiển trong lập trình MATLAB
Các toán tử quan hệ: các phép toán logic được cho trong hình vẽ dưới đây
Các giá trị logic Boolean: 0 : false, 1 : true
Cấu trúc rẽ nhánh: if/ else/ elseif
Đây là cấu trúc cơ bản trong mọi ngôn ngữ lập trình, MATLAB có một chút khác biệt ở từ khóa elseif
Chú ý: Các câu lệnh nằm giữa if-end, if-else-end, ... không cần có dấu ngoặc.
Cấu trúc lặp
Vòng lặp For: sử dụng khi biết số lần cần lặp
Biến lặp (loop variable):
được định nghĩa như một vector
trong vòng lặp thì có giá trị là một số, chỉ số vòng lặp hiện tại
không nhất định là các giá trị liên tiếp, nhưng thông thường nên để là các giá trị liên tiếp
Các câu lệnh trong vòng lặp: mọi câu lệnh nằm giữa hai từ khóa for - end.
Vòng lặp while: tổng quát hơn vòng lăp for, có thể dùng khi chưa biết số lượng vòng lặp
Các lệnh giữa hai từ khóa while và end sẽ được thực hiện chừng nào điều kiện lặp còn đúng
Cần chú ý tránh vòng lặp vô hạn!
Bài tập 1:
1. Thay đổi hàm plotSin(f1) ở trang trước để hàm nhận 2 đầu vào: plotSin(f1,f2)
2. Nếu như số lượng biến vào là 1, thực hiện lệnh plot vẽ đồ thị hàm như trong bài trước, ngược lại thì đưa ra dòng chữ: 'Two inputs were given' (Gợi ý: số lượng biến vào là 1 hàm được MATLAB định nghĩa sẵn: nargin)
Thực hiện:
function plotSin(f1,f2)
x = linspace (0, 2*pi, f1*16+1);
figure
if nargin ==1
plot(x, sin(f1*x));
elseif nargin ==2
disp('Two inputs were given');
end
Bài 2:
1. Khai báo hàm: function check = checkTriangular(x1, x2, x3)
2. Hàm có nhiệm vụ kiểm tra ba kích thước được cho có tạo thành một tam giác được hay không. Nếu có thể, trả về giá trị 1, ngược lại trả về giá trị 0.
3. Khai báo hàm: function area = areaTriangular(x1, x2, x3). Hàm có nhiệm vụ kiểm tra xem liệu x1, x2, x3 có tạo thành 1 tam giác không rồi tính diện tích tam giác tạo thành nếu có thể. Nếu không tạo thành được tam giác thì trả về giá trị -1. (trong hàm areaTriangular hãy gọi hàm checkTriangular ở trên để kiểm tra)