Matlab và ứng dụng - Lệnh điều kiện và vòng lặp

 File .m ghi các dòng lệnh Matlab.

 Soạn thảo các file.m bằng MATLAB Editor hoặc bất

kỳ trình soạn thảo văn bản nào.

 Gõ tên file để thực thi nội dung các dòng lệnh trong Gõ tên file để thực thi nội dung các dòng lệnh trong

file.

 Có 2 loại file.m:

 Scripts, chỉ thực thi các dòng lệnh, không có tham số

truyền vào hay trả về một giá trị nào cả.

 Functions, có thể nhận tham số truyền vào và trả về giá trị

xuất. 22

pdf7 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 31097 | Lượt tải: 2download
Tóm tắt nội dung Matlab và ứng dụng - Lệnh điều kiện và vòng lặp, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
2/9/2010
1
Lệnh điều kiện và vòng lặp 
…if…elseif…else…end
Switch…end
For…end
While…end
1ntnhut@hcmus.edu.vn
hắc lại file.m
 File .m ghi các dòng lệnh Matlab.
 Soạn thảo các file.m bằng MATLAB Editor hoặc bất 
kỳ trình soạn thảo văn bản nào.
 Gõ tên file để thực thi nội dung các dòng lệnh trong 
file.
 Có 2 loại file.m:
 Scripts, chỉ thực thi các dòng lệnh, không có tham số 
truyền vào hay trả về một giá trị nào cả.
 Functions, có thể nhận tham số truyền vào và trả về giá trị 
xuất. 2
2/9/2010
2
Câu lệnh IF … ELSE …
 Cú pháp tổng quát:
IF bieu_thuc_logic
Doan_lenh
ELSEIF bt_logic
Doan_lenh
ELSE
Doan_lenh
END
 Ví dụ:
if delta<0
disp(‘Pt vo nghiem’)
elseif delta == 0
disp(‘Pt co nghiem kep’)
-b/2/a
else
disp(‘Pt co 2 nghiem pbiet’)
(-b-sqrt(delta))/2/a
(-b+sqrt(delta))/2/a
end 3
Câu lệnh IF
 Câu lệnh IF định giá trị bieu_thuc_logic và thực 
thi Doan_lenh nếu bieu_thuc_logic là true. 
 Các từ khoá ELSEIF và ELSE là tuỳ chọn.
 Ứng với một IF là một END kết thúc 
Doan_lenh cuối cùng.
4
2/9/2010
3
Câu lệnh IF lồng nhau
IF bt1
…
IF bt2
…
END
END
Ví dụ: a = input(‘a =’)
disp(‘bạn vừa nhập 1 số’)
if a > 0
disp(‘dương’)
if mod(a,2) ~= 0
disp(‘lẻ’)
else
disp(‘chẵn’)
end
else
disp(‘không dương’)
end 5
Biểu thức logic với ma trận
 Nếu A, B là con số, A==B trả về true hay 
false theo đúng nghĩa của nó
 Nếu A, B là các ma trận, A==B trả về ma trận 
0/1 các vị trí bằng nhau hoặc khác nhau tương 
ứng giữa các phần tử của hai ma trận.
6
2/9/2010
4
Biểu thức logic với ma trận
 Để tránh nhầm lẫn cho tất cả trường hợp, ta 
dùng hàm isequal(A,B).
 Các hàm logic khác làm việc trên ma trận:
 isempty(A), ma trận A có rỗng?
 all(A), tất cả phần tử đều khác 0?
 any(A), có phần tử khác 0?
7
Switch
SWITCH bt_xét
CASE tr_hợp1,
doan_lenh1
CASE {tr_hợpA, tr_hợpB, tr_hợpC,...} 
doan_lenh2
...
OTHERWISE,
doan_lenh3
END
• bt_xét là hằng số hoặc chuỗi ký tự
• Chỉ có case nào thoả mãn trước là được thực 
hiện, không thực hiện các case khác.
8
2/9/2010
5
Switch
Ví dụ:
switch thang
case {1,3,5,7,8,10,12}, ngay=31
case {4,6,9,11}, ngay=30
case 2, if nhuan(nam), ngay=29, else ngay=28, end
otherwise, disp(‘thang khong hop le')
end
9
Vòng lặp WHILE
 Cú pháp:
WHILE bt_logic
Doan_lenh
END
Ví dụ: n = input(‘n=’);
k = 0;
while n > 1
n = n/10;
k = k+1;
end
disp(‘so chu so la’)
k
10
2/9/2010
6
Vòng lặp FOR
FOR k = mang
doan_lenh
END
mỗi bước, k lấy giá trị 
là từng cột của mang
for k = [1 2; 3 4]
sum(k) 
end
4
6
11
Vòng lặp FOR lồng nhau
for i = 1:m
for j = 1:n
H(i,j) = 1/(i+j);
end
end
H =
0.5000 0.3333
0.3333 0.2500
0.2500 0.2000
12
2/9/2010
7
Break
 break dùng để thoát ngang vòng lặp hiện tại
 Ví dụ: cho n lớn hơn 2, đoạn lệnh sau kiểm tra 
n có phải là số nguyên tố
for k = 2 : n-1
if mod(n,k)==0
disp(‘n khong nguyen to’)
break
end
end
13

File đính kèm:

  • pdfMatlab và ứng dụng - Lệnh điều kiện và vòng lặp.pdf