Function trong MATLAB có gì khác với với function trong những ngôn ngữ lập trình khác? Bài viết này sẽ trình bày một số nội dung liên quan đến Function và các loại Function trong MATLAB.
- Tìm hiểu thêm: Function là gì?
Mục lục
Function trong MATLAB là gì?
Function (Hàm) là một nhóm các câu lệnh cùng thực hiện một tác vụ. Trong MATLAB, các hàm được định nghĩa trong các tệp (file) riêng biệt. Tên của tệp và của hàm phải giống nhau.
Hàm hoạt động dựa trên các biến nằm trong vùng làm việc (workspace) của riêng chúng. Đây còn được gọi là vùng làm việc cục bộ. Nó khác với vùng làm việc mà bạn truy cập tại dấu nhắc lệnh MATLAB. Vùng này được gọi là vùng làm việc cơ sở.
Trong MATLAB, các hàm có thể nhận nhiều hơn một tham số (arguments) đầu vào. Tương tự, chúng cũng có thể trả về nhiều hơn một tham số đầu ra.
Cú pháp của một câu lệnh tạo hàm là:
function [out1,out2, …, outN] = myfun(in1,in2,in3, …, inN)
Các loại Function trong MATLAB
Có một số loại hàm khả dụng trong MATLAB. Chúng bao gồm: hàm cục bộ (Local Functions), hàm lồng nhau (Nested Functions), hàm riêng tư (Private Functions) và hàm ẩn danh (Anonymous Functions).
1. Hàm ẩn danh
Có thể hiểu, loại hàm này giống như một hàm nội tuyến (inline function) trong các ngôn ngữ lập trình truyền thống.
Đây là loại hàm được định nghĩa trong một câu lệnh MATLAB duy nhất. Nó bao gồm một biểu thức (expression) MATLAB duy nhất và không hạn chế số lượng tham số đầu vào và đầu ra.
Có nhiều cách để bạn định nghĩa hàm ẩn danh. Bạn có thể định nghĩa ngay tại dòng lệnh của MATLAB, trong một hàm hoặc trong một đoạn lệnh (script). Bằng những cách này, bạn có thể tạo hàm mà không cần phải tạo tệp cho chúng.
Cú pháp để tạo một hàm ẩn danh từ một biểu thức là:
f = @(arglist)expression
2. Hàm cục bộ
Nếu một hàm không phải hàm ẩn danh, thì chúng phải được định nghĩa trong một tệp. Mỗi tệp hàm sẽ chứa một hàm chính (Primary Function) xuất hiện đầu tiên. Sau đó, tệp sẽ gồm bất kỳ hàm con (Sub-Function) tùy chọn nào được sử dụng.
Hàm chính có thể được gọi từ bất kỳ dòng lệnh hoặc hàm nào khác, ở ngoài tệp xác định chúng. Tuy nhiên, hàm con thì không giống vậy. Ta không thể gọi hàm con từ một dòng lệnh hoặc hàm nào nằm bên ngoài tệp hàm.
Hàm con chỉ hiển thị với hàm chính và hàm con khác nằm trong tệp hàm định nghĩa chúng.
3. Hàm lồng nhau
Bạn có thể định nghĩa các hàm bên trong phần nội dung của một hàm khác. Chúng được gọi là các hàm lồng nhau. Một hàm lồng nhau chứa một hoặc tất cả các thành phần của bất kỳ hàm nào khác.
Khi một hàm được định nghĩa bên trong một hàm khác, nó sẽ chia sẻ quyền truy cập vào vùng làm việc của hàm chứa nó.
Một hàm lồng nhau có thể được định nghĩa theo cú pháp sau:
Trong ví dụ trên, chúng ta thầy rằng hàm y đang nằm trong nội dung của hàm x. Do đó, chúng được gọi là các hàm lồng nhau.
4. Hàm riêng tư
Đây là một hàm chính nhưng chỉ hiển thị cho một nhóm hàm giới hạn khác. Nếu bạn không muốn công khai việc triển khai hàm, bạn có thể tạo chúng dưới dạng các hàm riêng tư.
Hàm riêng tư sẽ nằm trong các thư mục con với tên đặc biệt là private. Chúng chỉ hiển thị với các hàm nằm trong thư mục mẹ.
Biến toàn cục và Function trong MATLAB
Điểm đặc biệt của biến toàn cục có thể được dùng chung bởi nhiều hơn một hàm. Để làm được điều này, bạn cần phải khai báo một biến là toàn cục trong tất cả các hàm của MATLAB.
Nếu bạn muốn truy cập biến đó từ vùng làm việc cơ sở, hãy khai báo biến ngay tại dòng lệnh.
Việc khai báo biến toàn cục phải được thực hiện trước khi sử dụng biến trong hàm. Thông thường, một cách hay là dùng chữ cái viết hoa cho tên biến toàn cục để phân biệt chúng với các biến thông thường khác.
Tóm lại, việc sử dụng hàm trong MATLAB cũng không quá phức tạp. Hy vọng qua bài viết này, bạn đã hiểu thêm về Function trong MATLAB và có cách để ứng dụng nó tốt hơn.
- Tìm hiểu thêm: Function trong JavaScript
Tham khảo: Tutorialspoint.com.