61
môđun sẽ được giải bằng một hàm. Các hàm m-file dạng này được gọi là Matlab-
function với cấu trúc tổng quát như sau:
function [output 1, output 2] = function_name(input1,input2)
%
% Some comments that explain what the function does go here.
%
MATLAB command 1;
MATLAB command 2;
MATLAB command 3;
Tên của m-file lưu trữ hàm này phải lấy đúng tên hàm đã định nghĩa trong chương
trình function_name và nó được gọi từ dòng lệnh của MATLAB hoặc từ một m-file
khác như lệnh sau:
>> [output1, output2] = function_name(input1, input2)
Khi làm việc với các hàm m-file ta cần phân biệt hai loại biến được sử dụng: Biến
toàn cục (global variable) và biến cục bộ hay biến địa phương (local variable).
Biến toàn cục được khai báo theo cú pháp
global var_1 var_2
Các biến toàn cục được xóa khỏi môi trường tính toán bằng lệnh clear [tên biến].
Biến cục bộ chỉ được sử dụng trong một hàm, biến này không được liệt kê trong
cửa sổ workspace, và do đó không thể tác động đến được trong môi trường làm
việc.
Ngoài ra, các biến persistent trong một hàm có thể được thống nhất với cách khai
báo
persistent var_1 var_2
Trái với các đại lượng đã được khai báo bằng global, các đại lượng với khai báo
persistent chỉ được biết đến trong hàm mà nó được khai báo. Do đó các hàm khác
không thể tác động được đến biến này. Các biến persistent chỉ được xóa khi hàm
chứa nó thoát ra khỏi bộ nhớ (clear function_name) hoặc khi hàm được thay đổi
sau đó được ghi lại.
Sau đây sẽ trình bày hai ví dụ để làm sáng tỏ việc thao tác đối với hàm. Ví dụ đầu
tiên là việc soạn một hàm để vẽ các đường tròn có các bán kính khác nhau với tên
hàm (file_name=fcircle.m, function_name=fcircle). Thông số đầu vào là bán kính
r
, đầu ra là tọa độ
,
x y
của các điểm trên đường tròn. Trong hàm này có sử dụng
lệnh plot để vẽ đường tròn. Hàm này được viết như sau:
function [x,y]=fcircle(r)
% chia nho goc 2pi thanh 100 goc nho bang nhau
goc=linspace(0,2*pi,100);
x=r*cos(goc); % toa do x
y=r*sin(goc); % toa do y
plot(x,y), grid on; % ve duong tron