Cách viết hàm trong MATLAB

Cách viết hàm trong MATLAB

  • Admin
  • 06-11-2020
  • 203 view
Hàm trong MATLAB là một nhóm các lệnh cùng thực hiện 1 tác vụ. Trong MATLAB, các hàm được định nghĩa trong các file riêng biệt. Tên của các file và hàm phải giống nhau. Để tìm hiểu các hàm trong MATLAB, cách viết hàm trong MATLAB, bạn đọc tham khảo tiếp nội dung bài viết dưới đây của Taimienphi.vn.

Các hàm trong MATLAB hoạt động trên các biến trong không gian làm việc của chúng, còn được gọi là không gian làm việc cục bộ, tách biệt với không gian làm việc mà bạn truy cập tại dấu nhắc lệnh của MATLAB, được gọi là không gian làm việc cơ bản.

Cách viết hàm trong MATLAB 0

Khi bạn viết hàm trong MATLAB, các hàm có thể chấp nhận nhiều tham số đầu vào và có thể trả về nhiều tham số đầu ra.

Cú pháp của một hàm trong MATLAB có dạng như dưới đây:

function [out1,out2, ..., outN] = myfun(in1,in2,in3, ..., inN)

Ví dụ

Hàm dưới đây có tên mymax được viết trong file có tên là mymax.m. Hàm lấy 5 số là tham số và trả về giá trị lớn nhất của các số.

Tạo một file hàm, đặt tên là mymax.m và nhập đoạn mã dưới đây vào file:

Cách viết hàm trong MATLAB 1

Dòng đầu tiên của hàm bắt đầu bằng từ khóa function. Nó cung cấp tên của hàm và thứ tự các tham số. Trong ví dụ này, hàm mymax có 5 tham số đầu vào và 1 tham số đầu ra.

Các dòng chú thích đặt ngay sau lệnh function, hỗ trợ văn bản. Các dòng này sẽ được in khi bạn nhập:

help mymax

MATLAB sẽ thực thi các lệnh trên và trả về kết quả dưới đây:

This function calculates the maximum of the

five numbers given as input

Bạn có thể gọi hàm:

mymax(34, 78, 89, 23, 11)

MATLAB sẽ thực thi các lệnh trên và trả về kết quả dưới đây:

ans = 89

Hàm ẩn danh trong MATLAB

Hàm ẩn danh giống như hàm nội tuyến (inline function) trong các ngôn ngữ lập trình truyền thống, được định nghĩa trong một câu lệnh trong MATLAB. Hàm ẩn danh trong MATLAB bao gồm một biểu thức MATLAB và đối số đầu vào, đầu ra bất kỳ.

Bạn có thể xác định hàm ẩn danh ngay tại dòng lệnh trong MATLAB hoặc trong một hàm hoặc script.

Bằng cách này bạn có thể tạo các hàm đơn giản mà không cần phải tạo các file cho chúng.

Cú pháp để tạo hàm ẩn danh từ một biểu thức trong MATLAB:

f = @(arglist)expression

Ví dụ

Trong ví dụ này tạo một hàm ẩn danh có tên là power, hàm này lấy 2 số làm đầu vào và trả về kết quả là số đầu tiên lấy số mũ là số thứ 2.

Tạo file script và nhập đoạn mã dưới đây vào:

Cách viết hàm trong MATLAB 2

Khi chạy file trên nó sẽ trả về kết quả:

Cách viết hàm trong MATLAB 3

Hàm chính và hàm phụ trong MATLAB

Khác với hàm ẩn danh, các hàm khác trong MATLAB phải được định nghĩa trong một file. Mỗi hàm chứa các hàm chính, xuất hiện ở đầu và các hàm phụ tùy chọn đi kèm sau hàm chính và được hàm chính sử dụng.

Các hàm chính có thể được gọi từ bên ngoài file định nghĩa chúng, hoặc từ dòng lệnh hoặc các hàm khác. Các hàm phụ không được gọi từ dòng lệnh hoặc các hàm khác hay bên ngoài file hàm.

Các hàm phụ chỉ có thể nhìn thấy hàm chính và các hàm phụ khác trong file hàm định nghĩa chúng.

Ví dụ

Viết hàm trong MATLAB đặt tên là quadratic để tính toán kết quả ban đầu của phương trình căn bậc 2. Hàm này lấy 3 số đầu vào, hệ số căn bậc 2, hệ số tuyến tính và hằng số, và trả về kết quả ban đầu. File hàm quadratic.m sẽ chứa hàm quadratic chính và các hàm phụ disc.

Tạo một file hàm quadratic.m và nhập đoạn mã dưới đây vào:

Cách viết hàm trong MATLAB 4

Bạn có thể gọi hàm trên từ dấu nhắc lệnh như sau:

quadratic(2,4,-4)

MATLAB sẽ thực thi lệnh trên và trả về kết quả:

ans = 0.7321

Hàm lồng trong MATLAB

Bạn có thể định nghĩa các hàm trong phần thân của một hàm khác. Hàm này được gọi là hàm lồng. Một hàm lồng trong MATLAB có chứa bất kỳ hoặc tất cả các thành phần của hàm khác.

Các hàm lồng trong MATLAB được định nghĩa trong phạm vi của một hàm khác và chúng chia sẻ quyền truy cập không gian làm việc của hàm được chứa.

Cú pháp hàm lồng trong MATLAB có dạng như dưới đây:

Cách viết hàm trong MATLAB 5

Ví dụ

Viết lại hàm quadratic ở trên, nhưng trong ví dụ này hàm disc sẽ là hàm lồng.

Tạo một file hàm quadratic2.m và nhập đoạn mã dưới đây vào:

Cách viết hàm trong MATLAB 6

Bạn có thể gọi hàm trên từ dấu nhắc lệnh như sau:

quadratic2(2,4,-4)

MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:

ans = 0.73205

Hàm Private trong MATLAB

Hàm private trong MATLAB là hàm chính, chỉ hiển thị cho một nhóm giới hạn các chức năng khác. Nếu không muốn để lộ việc triển khai một hàm, bạn có thể tạo các hàm đó như các hàm Private.

Hàm Private nằm trong các thư mục con với tên riêng. Các hàm này chỉ hiển thị với các hàm trong thư mục chính.

Ví dụ

Viết lại hàm quadratic ở trên, nhưng trong ví dụ này hàm disc sẽ là hàm private.

Tạo một thư mục con đặt tên là private trong thư mục đang làm việc. Lưu trữ file hàm disc.m dưới đây vào đó:

Cách viết hàm trong MATLAB 7

Tạo hàm quadratic3.m trong thư mục đang làm việc và nhập đoạn mã dưới đây vào:

Cách viết hàm trong MATLAB 8

Ngoài ra bạn có thể gọi hàm từ dấu nhắc lệnh như sau:

quadratic3(2,4,-4)

MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:

ans = 0.73205

Biến Global trong MATLAB

Các biến global trong MATLAB có thể được chia sẻ nhiều hơn biến hàm. Để làm được điều này, bạn cần phải khai báo biến là biến global trong tất cả các hàm.

Nếu muốn truy cập biến từ không gian làm việc cơ bản, bạn khai báo biến tại dòng lệnh.

Khai báo biến global phải được thực hiện trước khi biến được sử dụng trong hàm. Cách tốt nhất để phân biệt biến global với các biến khác là sử dụng chữ in hoa cho tên biến global.

Ví dụ

Tạo một file hàm đặt tên là average.m và nhập đoạn mã dưới đây vào:

Cách viết hàm trong MATLAB 9

Tạo file script và nhập đoạn mã dưới đây vào:

Cách viết hàm trong MATLAB 10

Khi chạy file trên, nó sẽ trả về kết quả dưới đây:

av = 35.500


Như vậy trong toàn bộ bài viết trên Taimienphi.vn vừa giới thiệu cho bạn về hàm trong MATLAB cũng như cách viết hàm trong MATLAB. Tham khảo một số bài viết khác trên trang Taimienphi.vn để tìm hiểu về các toán tử, kiểu dữ liệu, cũng như cách khai báo biến trong MATLAB nhé.

Trên đây là tất cả những gì có trong Cách viết hàm trong MATLAB mà chúng tôi muốn chia sẻ với các bạn. Bạn ấn tượng với điều gì nhất trong số đó? Liệu chúng tôi có bỏ sót điều gì nữa không? Nếu bạn có ý kiến về Cách viết hàm trong MATLAB, hãy cho chúng tôi biết ở phần bình luận bên dưới. Hoặc nếu thấy bài viết này hay và bổ ích, xin đừng quên chia sẻ nó đến những người khác.

Facebook

Post Comment

(*) Lưu ý:
+ 1: Bạn phải sử dụng email thật, một email xác thực sẽ được gửi đi sau khi bạn gửi comment để xác nhận bạn không phải là người máy. Nếu bạn không xác nhận email, comment của bạn CHẮC CHẮN sẽ không được duyệt.
+ 2: Bạn chỉ cần xác thực email cho lần đầu tiên, những lần sau sẽ không cần xác thực
+ 3: Chúng tôi sẽ không hiển thị công cộng email của bạn