1.10.1. Câu lệnh điều kiện if.
Cấu trúc
%Đây là cấu trúc đơn giản nhất.
if expression Statements;
end;
% Cấu trúc sử dụng lệnh elseif, else và if được viết liền kề if expression1
Statements;
elseif expression2 Statement;
else
Statements;
end
Biểu thức expression bao gồm các toán tử quan hệ ví dụ như (count<limit) hoặc (height-offset) > 0. Ngoài ra nó còn kết hợp với các toán tử logic để liên kết các biểu thức quan hệ.
Ví dụ 1: if (count<limit) và (height-offset)>0)
Ví dụ 2: Cho khoảng [a,b], viết chương trình chia khoảng này thành n khoảng bằng nhau với n cho trước.
function v= lnearspace(a,b,n) if n<2
error(‘Ban nhap sai, it nhat n phai lon hon 1’);
end;
h=(b-a)/(n-1);
v=a:h:b;
--- Thực thi chương trình trên trong Commandwindow như sau:
>> v=Soan1(5,1,5) v =
5 4 3 2 1
Ví dụ 3: Chương trình xác định dấu của số nhập vào:
function s= sign(x) if x>0
s=1; % so duong elseif x<0
s=-1; % so am else
s=0; % so =0 end;
Nguyên tắc làm việc của lệnh if như sau: Khi biểu thức expression đúng thì câu lệnh ngay sau lệnh if được thực hiện nếu sai thì câu lệnh đó sẽ được bỏ qua đến lệnh eleif.
Một biểu thức so sánh là đúng nếu tất cả các phần tử so sanh của hai mảng (hai ma trận) trả về giá trị 1
Ví dụ:
A=[ 1 0; 2 3]; B=[1 1; 3 4];Thì:
+ A<B là sai vì A(1,1) không nhỏ hơn B(1,1);
+A<(B+1) là đúng vì không phần tử nào trong A lớn hơn phần tử trong B tương ứng
%Cấu trúc khi sử dụng lệnh else if
if expression1 statements1;
else
if expression2 statements2;
end end
Ta thấy trong cấu trúc trên thì có hai lệnh if riêng biệt cho nên phải có hai từ kết thúc làend. Bài tập ví dụ: Nhập vào bàn phím điểm của một học sinh rồi in ra đánh giá
Diem= input(‘nhap diem vao=’);
if ( Diem< 5)
fprintf(‘Hoc luc yeu’);
elseif( Diem>=5)&(Diem<7)
fprintf(‘Hoc luc trungbinh’);
1.10.2. Vòng lặp for
Cấu trúc:
f ori=imin :∆i:imax
statements;
end
∆i: Là bước nhảy của vòng lặp for , giá trị mặc định = 1;
Ví dụ: Tính tổngs=1+2p+3p+...np; (p là số mũ)
$ function s= Sump(n , p) s=0;
for i=1:n ; s=s+i^p ;end; $ Hai chương trình sau đây là giống nhau:
1.10.3. Vòng lặp while
Cấu trúc:
while( bieu_thuc_logic) statements;
end;
Trước hết vòng lặp kiểm tra xem nếu biểu thức logic đúng thì thực hiện các câu lệnhstatements.
Ví dụ:
n=input(‘Nhap n=’);
s=0; i=0;
while( i<n) s=s+i;
end;
1.10.4. Lệnh ngắt break, error, return
• Lệnh break: Tác dụng điều khiển chương trình nhảy ra khỏi vòng lặp for hay while gần nó nhất.
Ví dụ: Nhập một số dương nếu âm thì nhập lại while 1
n= input(‘nhap n=’);
while(n<0) %Vong lap while2
break; %Thoat khoi vong lap while2 end
if n>0
break; %Thoat khoi vongwhile chinh end
end
1.10.5. Lệnh error và lệnh return
• Lệnh error: Dùng để thông báo lỗi, hiển thị cho người lập trình biết đó là lỗi gì?
Ví dụ: error (’error message’); hiển thị thông điệp lỗi khi thực hiện câu lệnh này.
a=input(‘Nhap a=’);
b=input(‘Nhap b=’);
% Thuc hien a: b if b==0
error(‘divide by zeros’);
end;
Khi thực thi chương trình trên (nhập b=0) thì xuất hiện dòng chữ đỏ Như sau:
??? Error using ==> soan1 divide by zeros
Chú ý rằng soan1 là trrn file lưu chương trình trên.
• Lệnh return: Thường được sử dụng trong các hàm của MATLAB.
Lệnh return sẽ cho phép quay trở về thực thi những lệnh nằm trong
tác dụng của lệnh return.
1.10.6. Biến toàn cục
Biến toàn cụ được dùng trong phạm vi toàn bộ các chương trình, nếu các chương trình đó khai báo biến toàn cục đó. Cấu trúc: global x y z % khai báo ba biến toàn cục x y z
Ví dụ đơn giản sau:
function[ u,v]=Main(x,y) global a b;
Tinhham(x,y,z);
u=a;v=b;
% Chương trình con tính hàm function Tinhham(x,y,z) global a b;
a=x^2 +y^2+ z^2;
b=x^3 +y^3+
z^3;
Thực thi chương trình:
>> x=2,y=3,z=4;
>> [u,v]=Main(x,y,z);
1.10.7. Định dạng dữ liệu ra
Các phép tính trong MATLAB được thực hiện với độ chính xác cao, ta có thể định dạng cho các số xuất ra màn hình tùy từng yêu cầu cụ thể:
Ví dụ số a=4/3 với
• format short (đây là chế độ mặc định gồm 4 số sau dấu phẩy) a=1.3333
• format short e a= 1.3333e+00
• format long
a=1.3333333333333
• format lang e
a=1.3333333333333e+000
Ngoài cách này ra ta định dạng dữ liệu bằng thanh tool công cụ trên màn hình. Ví dụ: Gõ lệnh sau trong cứa sổ Commandwindow
>>format long
>>a=4/3 a=
1.3333333333333
1.10.8. Một số hàm toán học thông thường hay sử dụng
Tên hàm Ý nghĩa Sin Hàm sin
Cos Hàm cos
Tan Hàm tan
Asin Hàm acsin Acos Hàm accos
Atan Hàm Hàm tính arctg Angle Lấy góc pha
Fix Làm tròn hướng 0 Floor Làm tròn hướng -∞
Exp Hàm e mũ
Ceil Làm tròn hướng -∞
Log Logarit cơ số e log10 Logarit cơ số 10 sqrt(x) Căn bậc 2