§10 LẬP TRÌNH BẰNG MATLAB
10.2. Các cấu trúc vòng lặp
for : vòng lặp for cho phép lặp lại một nhóm các lệnh một số lần đã xác định trước, nó đi kèm với end để kết thúc các lệnh.
for i = array Nhóm lệnh
end
Các lệnh trong nhóm lệnh được thực hiện một lần cho tất cả các cột của mảng array, cuối mỗi vòng lặp i được gán cho giá trị của phần tử cột tiếp theo.
Thí dụ 99: Tính tổng 1 +1/2 + 1/3 + . . . + 1/1000.
Thí dụ 100: Đảo ngược dãy số 7 5 3 6 4 2 1 0 9 8.
Thí dụ 101: Cho D = [4 10 3 7 9 5 20; 2 7 4 9 6 12 27]. Tính x = D(1)-
Vòng lặp for không thể kết thúc bằng cách gán lại biến điều khiển trong vòng lặp.
Các vòng lặp for có thể lồng vào nhau
Thí dụ 102: Viết chương trình cho ra một ma trận cỡ 3x4 mà phần tử ở
hàng i cột j là 1/(i+j)
Thí dụ 103: Ma trận Vandermonde là ma trận có các cột là lũy thừa của
một véc tơ v tức là A(i,j) = v(i)^(n-j). Hãy viết ma trận Vandermonde với v=(1:0.5:3).
While : vòng lặp while cho phép lặp lại
một nhóm các lệnh theo một điều kiện nào đó một số lần nhưng không biết trước số lần đó. Nó đi kèm với end để kết thúc các lệnh.
while <biểu thức logic> Nhóm lệnh
Thí dụ 104: Lập chương trình tính số Esp là số dương nhỏ nhất có thể ghi trong máy (tức là số mà 1+Eps vẫn cho giá trị lớn hơn 1 ở trong máy. Tính số lần lặp.
Thí dụ 105: Tìm số n lớn nhất để giai thừa của nó (n!) là một số không
vượt quá 10100.