logo

Lệnh điều kiện và vòng lặp

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