MATLAB có một hàm/toán tử chỉ ra loại biến (tương tự như toán tử typeof
trong JavaScript)?Cách lấy loại biến trong MATLAB?
Trả lời
Sử dụng chức năng class
>> b = 2
b =
2
>> a = 'Hi'
a =
Hi
>> class(b)
ans =
double
>> class(a)
ans =
char
class()
chức năng là tương đương với typeof()
Bạn cũng có thể sử dụng isa()
để kiểm tra xem một biến là một loại cụ thể. Nếu bạn muốn trở thành thậm chí cụ thể hơn, bạn có thể sử dụng ischar()
, isfloat()
, iscell()
vv
Hãy cẩn thận khi sử dụng isa
chức năng. Điều này sẽ đúng nếu đối tượng của bạn thuộc loại được chỉ định hoặc một trong các lớp con của nó. Bạn phải sử dụng strcmp
với hàm class
để kiểm tra xem đối tượng có phải là loại cụ thể và không phải là phân lớp hay không.
Một hàm liên quan khác là whos
. Nó sẽ liệt kê tất cả các loại thông tin (kích thước, kích thước byte, loại) cho các biến trong một không gian làm việc đã cho.
>> a = [0 0 7];
>> whos a
Name Size Bytes Class Attributes
a 1x3 24 double
>> b = 'James Bond';
>> whos b
Name Size Bytes Class Attributes
b 1x10 20 char
Vì không ai đề cập đến nó, MATLAB cũng có metaclass
chức năng, mà trả về một đối tượng với bit thông tin khác nhau về đơn vị thông qua phòng. Các đối tượng meta.class
này có thể hữu ích cho các thử nghiệm thừa kế (thông qua các toán tử so sánh chung).
Ví dụ:
>> metaclass(magic(1))
ans =
class with properties:
Name: 'double'
Description: ''
DetailedDescription: ''
Hidden: 0
Sealed: 0
Abstract: 0
Enumeration: 0
ConstructOnLoad: 0
HandleCompatible: 0
InferiorClasses: {0×1 cell}
ContainingPackage: [0×0 meta.package]
RestrictsSubclassing: 0
PropertyList: [0×1 meta.property]
MethodList: [272×1 meta.method]
EventList: [0×1 meta.event]
EnumerationMemberList: [0×1 meta.EnumeratedValue]
SuperclassList: [0×1 meta.class]
>> ?containers.Map <= ?handle
ans =
logical
1
Chúng ta có thể thấy rằng class(someObj)
tương đương với Name
lĩnh vực kết quả của metaclass(someObj)
.
- 1. Lấy loại biến trong mã C
- 2. Cách lấy loại biến kiểu trong Java Generics
- 3. Loại bỏ Gauss trong Matlab
- 4. Làm cách nào để loại bỏ NaN trong MATLAB?
- 5. cách lấy dữ liệu biểu đồ trong Matlab
- 6. matlab - biến trong tiêu đề cốt truyện
- 7. Cách lấy loại tham chiếu?
- 8. Cách xem loại biến trong PL/SQL?
- 9. loại Numeric lỗi khi nhân hai 2 vectơ trong MATLAB
- 10. Lấy tiêu đề của con số hiện tại trong MATLAB?
- 11. Cách lấy vị trí tên biến trong clang :: VarDecl
- 12. Lấy đạo hàm của hàm function_handle trong MATLAB
- 13. Sử dụng OpenGL trong Matlab để lấy bộ đệm sâu
- 14. Chuẩn hóa trong phạm vi biến [x, y] trong Matlab
- 15. Cách lấy biến từ tệp văn bản sang biến Bash
- 16. Cách lấy biến CMake từ dòng lệnh?
- 17. Xác định nhiều biến cùng một lúc trong MATLAB?
- 18. Matlab có được chuỗi chứa tên biến
- 19. Ví dụ về phân loại SVM 10 lần trong MATLAB
- 20. Làm cách nào để lấy các biến mẫu trong Python?
- 21. Cách lấy các biến môi trường từ bên trong gvim
- 22. Cách lấy đầu ra của lệnh bash trong biến
- 23. Cách lập trình để lấy tên biến trong C?
- 24. Cách lấy biến môi trường ProgramFiles (x86) trong Ant
- 25. Cách lấy chữ cái đầu tiên trong biến Bash?
- 26. Matlab SVM để phân loại hình ảnh
- 27. Biến không hiển thị trong không gian làm việc MATLAB
- 28. Cách lấy loại lớp theo tên lớp?
- 29. Cách lấy loại giá trị của bản đồ trong Java?
- 30. Cách lấy loại phần tử trong vùng chứa?
Hàm [WHO] (http://www.mathworks.de/de/help/matlab/ref/who.html) không liệt kê kích thước của các biến. Bởi vì nó nhanh hơn nhiều nếu không gian làm việc của bạn đông đúc. – JaBe