set variable to data that is loaded
10 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Daniel Shub
on 25 Oct 2011
x = load('matfile.mat');
temp = fieldnames(x);
x = x.(temp{1});
3 Comments
Daniel Shub
on 25 Oct 2011
The {} make/index CELL arrays. They are like [], but have some advantages (and disadvantages).
More Answers (1)
Grzegorz Knor
on 25 Oct 2011
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 Comments
See Also
Categories
Find more on Structures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!