matfileに格納されている構造体の一部の変数のみをワークスペースに読み込む方法はありますでしょうか
25 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
matfileに
S.a
S.b
S.c
という構造体Sがある場合にS.bのみをワークスペースに読み込むことは可能でしょうか。
0 commentaires
Réponse acceptée
交感神経優位なあかべぇ
le 30 Juin 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 commentaires
Plus de réponses (1)
Takao
le 2 Juil 2023
2 commentaires
交感神経優位なあかべぇ
le 3 Juil 2023
Modifié(e) : 交感神経優位なあかべぇ
le 3 Juil 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の読み込みは行われないので、読み込み時間は速くなる。)
Voir également
Catégories
En savoir plus sur ワークスペース変数と MAT ファイル dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!