Matlab バイナリ MATファイルの中の変数の一覧を得る.
[names, classes, types] = matfile_listvar(fd)
実数: (matfile_openにより返された)ファイル記述子.
文字列ベクトル: 変数名.
実数ベクトル: 変数のデータ型.
実数ベクトル: 変数のクラス.
| Type name | Matlab class | Matlab type | Scilab type/inttype |
|---|---|---|---|
| cell | 1 | 21 | 17 |
| struct | 2 | 22 | 17 |
| text | 4 | 10 | |
| sparse | 5 | 5 | |
| double real|complex | 6 | 9 | 1 |
| single real|complex | 7 | 7 | NA |
| int8 | 8 | 1 | 8/1 |
| uint8 | 9 | 2 | 8/11 |
| int16 | 10 | 3 | 8/2 |
| uint16 | 11 | 4 | 8/12 |
| int32 | 12 | 5 | 8/4 |
| uint32 | 13 | 6 | 8/14 |
| int64 | 14 | 12 | 8/8 |
| uint64 | 15 | 13 | 8/18 |
// Preparing some data: H = rand(2,4,2); N = complex(rand(2,3), rand(2,3)); I = int8(grand(4,10,"uin",-100,100)); T = ["foo" "bar"]'; S = struct("num",H, "imag",N, "text",T, "int",I); C = {"Scilab", rand(2,3); H, S}; // Saving them: File = TMPDIR+"/matfile_listvar_example.mat"; savematfile(File,'-v7.3', 'H','N','I','T','S','C'); // Listing stored variables: fd = matfile_open(File); [names, classes, types] = matfile_listvar(fd); matfile_close(fd); sleep(1000) deletefile(File); names', classes', types' mprintf("The variable ""%s"" has type %d and class %d\n", names, types, classes) | ![]() | ![]() |
--> names', classes', types'
ans =
!C H I N S T !
ans =
1. 6. 8. 6. 2. 4.
ans =
21. 9. 1. 9. 22. 2.
--> mprintf("The variable ""%s"" has type %d and class %d\n", names, types, classes)
The variable "C" has type 21 and class 1
The variable "H" has type 9 and class 6
The variable "I" has type 1 and class 8
The variable "N" has type 9 and class 6
The variable "S" has type 22 and class 2
The variable "T" has type 2 and class 4
この関数はMATIOライブラリ (
http://sourceforge.net/projects/matio/
)を使用しています.