Cách sử dụng các hàm lồng nhau trong MATLAB

Cach Su Dung Cac Ham Long Nhau Trong Matlab



Các hàm lồng nhau trong MATLAB có thể định nghĩa các hàm bên trong các hàm khác. Điều này có thể hữu ích cho việc tổ chức mã, làm cho mã có thể tái sử dụng nhiều hơn và cải thiện hiệu suất.

Hàm lồng nhau là một hàm được tạo bên trong một hàm khác trong MATLAB. Điều đặc biệt về các hàm lồng nhau là chúng có thể sử dụng và thay đổi các biến được xác định trong hàm cha.

cú pháp







Các hàm lồng nhau này trong MATLAB có thể dễ dàng truy cập các biến hàm cha. Đây là cú pháp để xác định các hàm lồng nhau trong MATLAB:



chức năng cha mẹ

phân tán ( 'Hàm mẹ' )

lồng nhau

chức năng lồng nhau

phân tán ( 'Hàm lồng nhau' )

kết thúc

kết thúc

Mã ví dụ

Dưới đây chúng tôi đã đưa ra mã MATLAB của một hàm lồng nhau:



chức năng chức năng cha mẹ

x = 10 ;



hàm lồng nhau1 ( )



% Hàm lồng nhau 1

chức năng hàm lồng nhau1

phân tán ( 'Chức năng lồng nhau bên trong1' ) ;

phân tán ( x ) ; % Truy cập biến x từ hàm cha

và = hai mươi ;



hàm lồng nhau2 ( )



% Hàm lồng nhau 2

chức năng hàm lồng nhau2

phân tán ( 'Chức năng lồng nhau bên trong2' ) ;

phân tán ( x ) ; % Truy cập biến x từ hàm cha và hàm lồng nhau 1

phân tán ( ) ; % Truy cập biến y từ hàm lồng nhau 1

kết thúc

kết thúc

kết thúc

Ở trên, MATLAB định nghĩa tên hàm chính là chức năng cha mẹ và nó định nghĩa hai hàm lồng nhau: hàm lồng nhau1 hàm lồng nhau2 .





NestedFunction1 hiển thị giá trị của biến x từ hàm cha và xác định một biến y khác. Sau đó, nó sẽ gọi tên hàm là nestedFunction2.

NestedFunction2 hiển thị giá trị của x từ cả hàm mẹ và NestedFunction1, cũng như giá trị của y từ NestedFunction1. Sau khi thực thi mã, đầu ra sẽ hiển thị các thông báo từ cả hai hàm lồng nhau, cùng với các giá trị của x và y.



  Ảnh chụp màn hình máy tính Mô tả được tạo tự động với độ tin cậy trung bình

Chia sẻ các biến từ các hàm lồng nhau đến hàm chính

Trong MATLAB, chúng ta cũng có thể định nghĩa các biến và chia sẻ chúng từ hàm lồng nhau sang hàm chính.

chức năng cha mẹ

lồng nhau

chức năng lồng nhau

x = 10 ;

kết thúc

x = x+ 1 ;

phân tán ( x ) ;

kết thúc

Mã MATLAB này định nghĩa một hàm được gọi là cha chứa một hàm lồng nhau được gọi là lồng nhau . Mã này gán giá trị 10 cho biến x trong hàm lồng nhau, sau đó tăng giá trị đó lên 1 trong hàm cha và hiển thị kết quả.

Lồng ghép nhiều hàm trong cùng một hàm cha

Trong MATLAB, chúng ta cũng có thể bao gồm nhiều hàm trong một hàm chính duy nhất.

% nhiều hàm trong cùng một hàm cha

chức năng cha mẹ

lồng nhau1

Nestedfunc2

chức năng lồng nhau1

fprintf ( 'linuxhint.com\n' ) ;

kết thúc

chức năng Nestedfunc2

fprintf ( 'Chào mừng đến với Linuxhint' ) ;

kết thúc

kết thúc

Đoạn mã MATLAB này định nghĩa một hàm có tên là parent chứa hai hàm lồng nhau: Nestedfunc1 và Nestedfunc2. Khi hàm cha được gọi, nó sẽ thực thi cả hai hàm lồng nhau. Nestedfunc1 in thông báo Linuxhint.com và Nestedfunc2 in thông báo “Chào mừng bạn đến với Linuxhint”.

  Ảnh có chứa văn bản, phông chữ, ảnh chụp màn hình Mô tả được tạo tự động

Chia sẻ các biến giữa các hàm lồng nhau

Trong MATLAB, chúng ta cũng có thể định nghĩa và chia sẻ các biến của hàm cha đơn với hai hàm lồng nhau.

% hai hàm lồng nhau trong cùng một hàm cha

chức năng cha mẹ

x = 5

lồng nhau1

lồng nhau2

chức năng lồng nhau1

x = x* 2 ;

kết thúc

chức năng lồng nhau2

x = x+ 5 ;

kết thúc

phân tán ( x )

kết thúc

Đoạn mã MATLAB này định nghĩa một hàm gọi là parent khai báo một biến x có giá trị là 5. Sau đó, hàm này chứa hai hàm lồng nhau: Nested1 và Nested2.

Trong Nested1, giá trị của x được nhân với 2, nhưng vì x không được truyền rõ ràng dưới dạng đối số nên nó tạo một biến cục bộ mới x bên trong Nested1 thay vì sửa đổi biến x bên ngoài.

Trong Nested2, giá trị của x được tăng thêm 5, đồng thời tạo ra một biến cục bộ mới x trong Nested2.

Sau khi thực thi các hàm lồng nhau, mã hiển thị giá trị của biến x bên ngoài, giá trị này không thay đổi ở mức 5 vì các sửa đổi được thực hiện trong các hàm lồng nhau chỉ ảnh hưởng đến các biến cục bộ bên trong các hàm đó chứ không ảnh hưởng đến biến bên ngoài.

  Ảnh có chứa văn bản, ảnh chụp màn hình, phần mềm, dòng Mô tả được tạo tự động

Phần kết luận

Các hàm lồng nhau trong MATLAB có thể tổ chức mã, nâng cao khả năng sử dụng lại và cải thiện hiệu suất. Chúng cho phép các hàm truy cập và sửa đổi các biến được xác định trong các hàm cha của chúng, cho phép đóng gói mã tốt hơn. Các hàm lồng nhau đã giảm nhu cầu về các biến toàn cục hoặc truyền nhiều đối số giữa các hàm. Bài viết này trình bày các ví dụ khác nhau về các hàm lồng nhau trong MATLAB.