Sự khác biệt giữa tệp tập lệnh MATLAB và tệp chức năng MATLAB là gì?Sự khác biệt giữa tập lệnh và hàm trong MATLAB là gì?
Trả lời
This page nói,
Scripts so với hàm
Scripts là m-file chứa MATLAB báo cáo. MATLAB `` chức năng '' là một loại m-file khác. Sự khác biệt lớn nhất giữa các tập lệnh và các hàm là các hàm có các tham số và đầu ra. Tệp tập tin chỉ có thể hoạt động trên các biến số được mã hóa cứng vào tệp m của chúng. Như bạn có thể thấy, chức năng nhiều hơn nữa linh hoạt. Do đó, chúng càng có nhiều phù hợp cho các tác vụ mục đích chung sẽ được áp dụng cho các dữ liệu khác nhau .
Tập lệnh hữu ích cho các tác vụ không thay đổi. Họ cũng là một cách để ghi lại một chuỗi cụ thể của hành động, nói một lời gọi hàm với giá trị tham số đặc biệt, đó có thể là khó nhớ.
Có thêm sự khác biệt tinh tế giữa các tập lệnh và các chức năng . Tập lệnh có thể được coi là làm macro bàn phím: khi bạn nhập tên của tập lệnh, tất cả các lệnh có trong đó được thực hiện giống như khi bạn nhập các lệnh này vào cửa sổ lệnh. Do đó, tất cả các biến được tạo trong tập lệnh được thêm vào không gian làm việc cho phiên hiện tại. Hơn nữa, nếu bất kỳ biến nào trong tập lệnh tệp có cùng tên trong số không gian làm việc hiện tại của bạn, các giá trị của các biến đó trong không gian làm việc là thay đổi theo hành động trong tập lệnh. Điều này có thể được sử dụng để lợi thế của bạn. Nó cũng có thể gây ra các tác dụng phụ không mong muốn.
Ngược lại, biến chức năng là địa phương để các chức năng. (Ngoại lệ là có thể khai báo và sử dụng các biến toàn cầu, nhưng yêu cầu và hành động rõ ràng bởi người dùng .) Phạm vi địa phương của hàm biến mang lại cho bạn bảo mật lớn hơn và linh hoạt. Cách duy nhất (ngoài khai báo rõ ràng các biến toàn cục) để có được thông tin vào và ra khỏi một hàm là thông qua thông qua biến trong danh sách tham số.
Ví dụ
Một trong những khác biệt chính giữa một kịch bản và một chức năng là truy cập vào các biến trong không gian làm việc. Ví dụ, giả sử trong không gian làm việc, bạn đã xác định hai biến a = 10
và b = 20
. Các biến này được định nghĩa tại dòng lệnh của dấu nhắc chính.
Script tập tin - display_mult.m
disp(a*b)
;
Nhập display_mult
sẽ hiển thị sản phẩm a
và b
trong không gian làm việc, tức là 10*20
hoặc 200
.
Nhưng nếu bạn đã định nghĩa một hàm, được gọi là display_mult định nghĩa trong một tập tin có cùng tên:
Chức năng tập tin - display_mult.m
function display_mult(a,b)
disp(a*b);
end
Bạn sẽ phải bao gồm hai các biến làm đối số cho cuộc gọi hàm. Vì vậy, display_mult
sẽ không hoạt động lần này kể từ a
và b
không tồn tại trong không gian làm việc của hàm. Bạn sẽ phải bao gồm chúng bằng cách chạy display_mult(a,b)
sẽ hiển thị kết quả mong muốn.
Giải thích đơn giản
Mỗi câu lệnh trong một kịch bản tương đương với cách gõ chúng ra ở cửa sổ lệnh của MATLAB. Bạn chỉ lưu trữ chúng trước khi trong một tập tin!
Một hàm, mặt khác, lấy các đối số và là không gian làm việc "mới", tách biệt với không gian làm việc chính.
Lưu ý:end
ở cuối cuộc gọi chức năng là tùy chọn nhưng tôi muốn thêm nó vào để sắp xếp mọi thứ. Tất nhiên, nếu bạn có nhiều định nghĩa hàm trong một tệp, tất cả chúng sẽ phải kết thúc bằng end
. Ngoài ra, bạn không thể có một tập lệnh và định nghĩa hàm trong cùng một tệp.
- 1. Sự khác biệt giữa tập lệnh MATLAB và COMSOL?
- 2. Sự khác biệt giữa & và && trong MATLAB là gì?
- 3. sự khác biệt giữa lệnh linux và unix là gì?
- 4. Sự khác nhau giữa * và. * Trong MATLAB là gì?
- 5. Sự khác biệt giữa ngôn ngữ lập trình hàm và mệnh lệnh là gì?
- 6. Sự khác biệt giữa tập lệnh và chương trình?
- 7. Sự khác biệt giữa "hàm" và "hàm" là gì! trong VIM?
- 8. Sự khác biệt giữa hai câu lệnh này là gì
- 9. Sự khác biệt giữa fn và fn * là gì?
- 10. Unix: Sự khác biệt giữa nguồn và xuất là gì?
- 11. Sự khác biệt giữa decodeURIComponent và decodeURI là gì?
- 12. Trong Ember.js, sự khác biệt giữa [] và Ember.A ([]) là gì?
- 13. Sự khác biệt giữa '&' và ',' trong Generics Java là gì?
- 14. Sự khác biệt giữa while (true) và loop là gì?
- 15. Sự khác biệt giữa Caching và Memoization là gì?
- 16. Sự khác biệt giữa (string [] args) và System.Environment.CommandLine là gì?
- 17. Sự khác nhau giữa $ @ và $ * trong các tập lệnh shell là gì?
- 18. Sự khác biệt giữa INTERSECT và WHERE IN là gì?
- 19. Sự khác biệt giữa nghỉ và thoát là gì?
- 20. SQLAlchemy: Sự khác biệt giữa flush() và commit() là gì?
- 21. Sự khác biệt giữa hàm và thủ tục trong PL/SQL là gì?
- 22. Sự khác biệt giữa hàm gọi là “mail()” và “@mail()” là gì?
- 23. Sự khác biệt giữa ascx và .cshtml là gì?
- 24. Sự khác biệt giữa setDisplayHomeAsUpEnabled và setHomeButtonEnabled là gì?
- 25. Sự khác biệt giữa localname và qname là gì?
- 26. là gì sự khác biệt giữa SQL_Latin1_General_CP1_CI_AS và SQL_Latin1_General_CP1_CI_AI
- 27. Sự khác biệt giữa JavaBean và POJO là gì?
- 28. Sự khác biệt giữa dealloc và viewdidunload là gì?
- 29. Sự khác biệt giữa betweeen% INC và @INC là gì?
- 30. Sự khác biệt giữa tệp .so và .lo là gì?
ví dụ? bạn có thể cho tôi một số ví dụ không? – izzat
Đã thêm ví dụ và mở rộng giải pháp – Jacob