MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 75

Tập lệnh và hàm

64

else
error('Too many inputs.');
end
if (nargout == 0)

return;

elseif (nargout == 1)

out1 = s;

else

out1 = s;
out2 = p;

end

Trong ví dụ ở trên, chương trình sẽ cho ra các kết quả khác nhau tùy thuộc vào có bao nhiêu
đối số ngõ vào được sử dụng và có bao nhiêu đối số ngõ ra. Trong các chương trình lớn, một
cách tổng quát người ta thường hay sử dụng biến nargin và nargout để điều khiển linh hoạt
nội dung của chương trình.

#

Bài tập 6-10.

Xây dựng hàm checkarg với nội dung như trên, hãy gọi hàm checkarg với các đối số ngõ
vào và ngõ ra khác nhau. Một số trường hợp gợi ý:

>> checkarg
>> s = checkarg(-6)
>> s = checkarg(23,7)
>> [s,p] = checkarg(3,4,5)

6.2.2. BIEÁN TOAØN CUÏC VAØ BIEÁN CUÏC BOÄ
Mỗi hàm m-file truy cập đến một phần riêng biệt của bộ nhớ trong không gian làm việc của
MATLAB. Điều này có nghĩa là mỗi hàm m-file có những biến cục bộ của riêng nó, những
hàm khác không thể truy cập đến các biến này. Để hiểu rõ hơn chúng ta hãy phân tích sơ đồ
sau đây:





Hình 6.1

Các biến a, b, c xuất hiện trong không gian làm việc của MATLAB, trong khi các biến x, y, z
chỉ có giá trị bên trong hàm myfun. Tuy nhiên, nếu ta khai báo biến ở dạng toàn cục thì tất cả
các hàm khác đều có thể sử dụng được biến này (tham khảo thêm bằng lệnh help global).
Lưu ý rằng chúng ta nên cẩn thận khi sử dụng biến toàn cục, nó dễ gây nên những xáo trộn và
nhầm lẫn.

MATLAB

myfun.m

>> a = -1;
>> b = 20;
>> c = myfun(a, b);

(a, b)

→ (x, y)

c

← z

function z = myfun(x, y)

z = x + cos(x-y)
return;

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.