assign loaded structs directly
2 ビュー (過去 30 日間)
古いコメントを表示
I wonder, if there is no nicer way for doing this:
mdlPara = load([datasetPath,datasetName]);
rename = fieldnames(mdlPara);
mdlPara = mdlPara.(rename{1});
I want to load different named structs in my script. For acessing the data in the script I want them to have the same name (mdlPara). But with just loading them the struct is named
mdlPara.OLDSTRUCTNAME.Data. ...
is there a nicer way to get the form
mdlPara.Data. ...
directly
0 件のコメント
回答 (2 件)
Matt J
2014 年 10 月 29 日
編集済み: Matt J
2014 年 10 月 29 日
No, I don't think there is a shorter way, but to avoid typing this repeatedly, you can just wrap it in a function,
function mldPara = loadfirstvar(varargin)
mdlPara = load(varargin{:});
rename = fieldnames(mdlPara);
mdlPara = mdlPara.(rename{1});
0 件のコメント
Titus Edelhofer
2014 年 10 月 29 日
Hi,
not really. But what you can do is to save the data as individual variables originally. So when you save your structure OLDSTRUCTNAME, do
save('thefile.mat', '-struct', 'OLDSTRUCTNAME');
When you load them afterwards, you don't have the structure name in mdlPara.
Titus
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!