Tìm hiểu về Function trong MATLAB

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.

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)
Minh họa về Function trong MATLAB (Nguồn: Mathworks.com)

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:

Minh họa về hàm lồng nhau trong MATLAB

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.


Tham khảo: Tutorialspoint.com.

Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

Son Phuoc
Son Phuoc
February 06, 2021
0
Share this post to:
0 Comments
Inline Feedbacks
View all comments
Các bài viết liên quan
Scrum là gì? Tổng quát về mô hình Scrum

Scrum là gì? Tổng quát về mô hình Scrum

Scrum là một thuật ngữ thường thấy khi tìm hiểu về ngành lập trình phần mềm. Nếu đang thắc mắc không biết Scrum là gì, Got It sẽ giải thích giúp bạn qua bài viết này. Nếu không thì bạn có thể xem bài viết này như những kiến thức mới dành cho bản thân […]
Tính đa hình trong OOP và những loại đa hình bạn cần biết

Tính đa hình trong OOP và những loại đa hình bạn cần biết

Tính đa hình trong OOP là một nội dung không mới, nhưng ít ai thực sự hiểu rõ về khái niệm này. Bài viết sẽ giải thích về Tính đa hình cũng như giới thiệu về các loại đa hình mà bạn cần biết. Mục lụcTổng quan về Tính đa hình trong OOPKhái niệmMục đích […]
Tính đóng gói trong OOP và những điều bạn cần biết

Tính đóng gói trong OOP và những điều bạn cần biết

Tính đóng gói trong OOP là một khái niệm cơ bản, quan trọng, nhưng nhiều lập trình viên lại bỏ qua. Bài viết này sẽ trình bày một số thông tin mà bạn cần biết về Tính đóng gói trong OOP. Mục lụcTính đóng gói trong OOP là gì?Mục đích của Tính đóng gói trong […]
Tìm hiểu về Function trong MATLAB

Tìm hiểu về Function trong MATLAB

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. Mục lụcFunction trong MATLAB là gì?Các loại Function trong MATLAB1. Hàm ẩn danh2. Hàm cục bộ3. Hàm lồng nhau4. […]
Arrow Function trong ES6 – khi nào nên và không nên dùng?

Arrow Function trong ES6 – khi nào nên và không nên dùng?

Arrow Function là một trong những tính năng đặc biệt của ES6, nhưng vẫn chưa phổ biến với nhiều người. Bài viết này sẽ trình bày một số đặc điểm của Arrow Function và khi nào bạn nên hoặc không nên sử dụng nó. Mục lụcArrow Function trong ES6 có gì hay?Đặc điểm của Arrow […]
Những điều bạn chưa biết về Git Clone

Những điều bạn chưa biết về Git Clone

Ở những bài đăng trước, Got It Vietnam đã có những bài đăng về hệ thống Git cùng những ưu điểm của nó. Git Clone là một câu lệnh phổ biến trong hệ thống Git mà mọi lập trình viên phải biết. Vậy sử dụng Git Clone như thế nào? Những ví dụ về cách […]