matfileに格納されている構造体の一部の変数のみをワークスペースに読み込む方法はありますでしょうか
19 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
matfileに
S.a
S.b
S.c
という構造体Sがある場合にS.bのみをワークスペースに読み込むことは可能でしょうか。
0 Kommentare
Akzeptierte Antwort
交感神経優位なあかべぇ
am 30 Jun. 2023
構造体Sが保存されたmatファイルのS.bのみを抽出するサンプルを作成してみました。
用途は分かりませんが、下記の例は、MATLABの内部的に一度構造体Sの全てのデータの読み込みをしていますので、読み込み時間が短縮されるといったことはありません。また、matファイルのS変数内のbのメンバーのみ読み込みして、読み込み時間を短縮させるといった方法はおそらくないのではと思います。
S = struct('a',1,'b',2,'c',3);
save('test.mat', 'S'); %サンプル用matファイル作成
mat = matfile('test.mat');
b = getfield(mat.S, 'b')% bのメンバーを抽出
0 Kommentare
Weitere Antworten (1)
Takao
am 2 Jul. 2023
2 Kommentare
交感神経優位なあかべぇ
am 3 Jul. 2023
Bearbeitet: 交感神経優位なあかべぇ
am 3 Jul. 2023
一応、保存する際に構造体にせずに、それぞれの変数a,b,cとしてmatファイルに保存すれば、読み込みの際に、変数bだけを読み込ませるといったことは可能です。
a = 1;
b = 2;
c = 3;
save('test.mat', 'a', 'b', 'c');%サンプル用matファイル作成
m = matfile('test.mat');
m.b % bの変数を読み込み(この時、変数a,bの読み込みは行われないので、読み込み時間は速くなる。)
Siehe auch
Kategorien
Mehr zu ワークスペース変数と MAT ファイル finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!