set variable to data that is loaded
14 次查看(过去 30 天)
显示 更早的评论
Hello all,
Hopefully a very easy question. I am loading a file named matfile.mat that's value is double. I want to set my variable as the data that is loading, but when I put "x=load(matfile)" it returns "x=matfile: [1001x14 double]". I know I can type in x.matfile to access the data manually, but I run into issues when figuring out how to do this for my function. Any help is greatly appreciated!
0 个评论
采纳的回答
Daniel Shub
2011-10-25
x = load('matfile.mat');
temp = fieldnames(x);
x = x.(temp{1});
3 个评论
Daniel Shub
2011-10-25
The {} make/index CELL arrays. They are like [], but have some advantages (and disadvantages).
更多回答(1 个)
Grzegorz Knor
2011-10-25
If you are sure that you load only one matrix:
fName = fieldnames(x);
eval(['x = x.' fName{1} ';'])
Another possibility:
x = cell2mat(struct2cell(x))
2 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!