Structable

버전 1.1.0.0 (11.3 KB) 작성자: Spencer Kellis
Easily convert simple or complex class hierarchies into structs
다운로드 수: 329
업데이트 날짜: 2015/1/9

라이선스 보기

The STRUCTABLE class can be used to convert instantiated MATLAB classes to structs. In practice, this means converting the object's properties into identically-named fields of a struct with "flattened" values. For example, if a property contains a function handle, it will be converted to a string. If a property contains an object and that object inherits STRUCTABLE, it will be converted to struct and saved; otherwise, it will be passed over with a warning message.
STRUCTABLEHIERARCHY uses method overloading to retrieve class-specific information from any inherited classes. In this way, a single call to TOSTRUCT on the instantiated object will ripple through the entire hierarchy to produce a single converted struct.

The primary reason to perform this conversion is to save a "safe" representation of an object into a MAT file. Whereas a struct is a basic MATLAB variable type and struct variables can be loaded without dependency into any MATLAB environment, loading objects in MATLAB requires the defining class to be available on the path. Furthermore, if the class is not identical to the saved object's class definition, MATLAB will generate warnings, or worse.

The reason for using these classes for struct conversion is to provide added functionality where needed. The MATLAB builtin STRUCT method can be used to convert simple objects to structs, but it does not provide enough functionality for complicated class hierarchies.

인용 양식

Spencer Kellis (2025). Structable (https://kr.mathworks.com/matlabcentral/fileexchange/48995-structable), MATLAB Central File Exchange. 검색 날짜: .

MATLAB 릴리스 호환 정보
개발 환경: R2013a
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 Data Type Conversion에 대해 자세히 알아보기
도움

도움 받은 파일: CATSTRUCT

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
버전 게시됨 릴리스 정보
1.1.0.0

Minor change in directory structure and files.

1.0.0.0