Hàm có nhiều đầu ra trong MATLAB

Ham Co Nhieu Dau Ra Trong Matlab



Các hàm do người dùng định nghĩa trong MATLAB hoạt động theo cách tương tự như các hàm dựng sẵn. Các chức năng này được gọi theo nhiều cách, chẳng hạn như sử dụng cửa sổ lệnh, tệp tập lệnh hoặc tệp chức năng. Hàm do người dùng định nghĩa có thể tạo ra nhiều đầu ra. Mục đích của bài viết này là để minh họa cách sử dụng các hàm có nhiều đầu ra trong MATLAB.

Làm cách nào để sử dụng các hàm có nhiều đầu ra trong MATLAB?

Hàm do người dùng MATLAB định nghĩa có thể nhận một và nhiều đối số đầu vào cũng như đầu ra. Các đối số đầu vào có thể là một giá trị, một biểu thức toán học hoặc đơn giản là một biến. Người dùng nên biết chính xác số lượng và vị trí của các đối số đầu vào và đầu ra để sử dụng chúng trong một hàm.

Cú pháp của hàm do người dùng MATLAB định nghĩa được đưa ra dưới đây:







chức năng [ y1,...,yN ] = vui vẻ ( x1,...,xM )

Ở đây, chức năng [y1,…,yN] = vui(x1,…,xM) tuyên bố một chức năng có tên vui vẻ mà mất x1,…,xM làm đầu vào và trả về y1,…,yN như một đầu ra. Dòng mã thực thi đầu tiên của hàm phải chứa câu lệnh khai báo này. Tên hàm hợp lệ phải bắt đầu bằng ký tự chữ cái và có thể là chữ cái, số hoặc dấu gạch dưới.



Hãy xem xét một số ví dụ minh họa cách sử dụng một hàm có nhiều đầu ra trong MATLAB.



ví dụ 1

Đây là mã MATLAB cơ bản khai báo một hàm có tên thống kê để tính giá trị trung bình và độ lệch chuẩn của các phần tử vectơ. Hàm lấy một vectơ làm đối số đầu vào và trả về giá trị trung bình và độ lệch chuẩn của tất cả các giá trị có trong vectơ đó. Chúng tôi lưu chức năng này trong tệp script có tên thống kê .





chức năng [ có nghĩa là, tiêu chuẩn ] = thống kê ( quán ba )
len = chiều dài ( quán ba ) ;
có nghĩa là = Tổng ( quán ba ) / chỉ;
tiêu chuẩn = sqrt ( Tổng ( ( trung bình vector ) .^ 2 / chỉ một ) ) ;
kết thúc

Ghi chú : Nên lưu tên tập lệnh theo tên hàm.

Khi tệp tập lệnh được lưu, bạn có thể gọi hàm được xác định ở trên trong cửa sổ lệnh bằng cách chuyển vectơ làm đầu vào.



thanh = [ 5 : 0,25 : 10 ] ;
[ ave,stdev ] = thống kê ( quán ba )

Giá trị trung bình và độ lệch chuẩn được tính toán được hiển thị trên màn hình.

ví dụ 2

Đây là mã MATLAB cơ bản khai báo một hàm có tên thống kê để tính giá trị trung bình và độ lệch chuẩn của các phần tử vectơ. Hàm lấy một vectơ làm đối số đầu vào và trả về giá trị trung bình và độ lệch chuẩn của tất cả các giá trị có trong vectơ đó. Chúng tôi lưu chức năng này trong tệp script có tên là stat.

chức năng [ có nghĩa là, tiêu chuẩn ] = thống kê ( quán ba )
len = chiều dài ( quán ba ) ;
nghĩa là = ( Tổng ( quán ba ) ) / chỉ;
tiêu chuẩn = sqrt ( Tổng ( ( trung bình vector ) .^ 2 / chỉ một ) ) ;
kết thúc

Chúng tôi gọi hàm được xác định ở trên trong một tệp tập lệnh khác có tên func.m bằng cách chuyển vectơ làm đối số đầu vào.

thanh = [ 5 : 0,25 : 10 ] ;
[ ave,stdev ] = thống kê ( quán ba )

Khi chúng tôi chạy func.m file, Kết quả tính toán được hiển thị trên màn hình.

Ghi chú : Khi bạn gọi một hàm trong MATLAB, nó cần có khả năng định vị tệp hàm tương ứng. Bằng cách đặt cả tệp chức năng và tệp kịch bản trong cùng một thư mục, bạn đảm bảo rằng MATLAB có thể tìm và thực hiện chức năng một cách chính xác.

ví dụ 3

Ví dụ MATLAB này sẽ tính toán chiều cao và khoảng cách tối đa của một viên đạn và vẽ quỹ đạo. Đối với điều này, chúng tôi xác định một hàm có 2 đối số đầu vào v0 là vận tốc ban đầu và theta là một góc và 2 đối số đầu ra là hmax đại diện cho chiều cao tối đa và dmax đại diện cho khoảng cách tối đa. Chúng tôi lưu chức năng trong tệp tập lệnh có tên đạn.m tài liệu.

chức năng [ hmax,dmax ] =quỹ đạo ( v0, theta )
g = 9,81 ;
v0x =v0 * cos ( theta * số Pi / 180 ) ;
v0y =v0 * không có ( theta * số Pi / 180 ) ;
thmax =v0y / g;
hmax =v0y^ 2 / ( 2 * g ) ;
thốt nốt = 2 * thmax;
dmax =v0x * mọi thứ;
tplot =linspace ( 0 thốt nốt 200 ) ;
x =v0x * biểu đồ;
=v0y * tplot- 0,5 * g * tplot.^ 2 ;
kịch bản ( x,y )
xnhãn ( 'Khoảng cách (m)' )
ylabel ( 'CHIỀU CAO (m)' )
tiêu đề ( 'ĐẠI' 'QUI ĐƯỜNG' )

Sau khi lưu tệp chức năng này, chúng tôi sẽ gọi nó trên cửa sổ lệnh bằng cách chuyển các giá trị của vận tốc ban đầu theo m/s và theta theo độ. Chiều cao, khoảng cách và biểu đồ đã tạo được tính toán được hiển thị trong đầu ra đã cho.

Phần kết luận

Nhận nhiều kết quả đầu ra từ một chức năng có thể hữu ích vì một số lý do: chẳng hạn như cải thiện hiệu quả của mã, đơn giản hóa mã, nâng cao chức năng, v.v. Có một số cách để nhận nhiều kết quả đầu ra từ một chức năng, bao gồm thông qua cửa sổ lệnh, tệp tập lệnh hoặc tệp chức năng. Hướng dẫn này trình bày việc sử dụng các hàm của MATLAB với nhiều đầu ra bằng cách cung cấp một số ví dụ hữu ích.