Load .mat from file and assign new name
67 ビュー (過去 30 日間)
古いコメントを表示
I have a image.mat file and inside it is positive_sample variable of 4D matrix. I want to load this variable into a new variable. But if I type
new = load('image.mat');
Then new becomes a 1x1 struct and if i want to take positive_sample i must type
new.positive_sample
What I want is to not have to type .positive_sample. Means new = positive_sample after I load image.mat. How can i do this ?
4 件のコメント
Guillaume
2018 年 12 月 16 日
Hoi, "It would be cool to have a possibility to automatically determin the variable name or just to asign it to another given variable"
This is very easy to do. Please start your own question rather than reviving a two year old one.
回答 (2 件)
Gabriele Pisetta
2022 年 3 月 16 日
Try using importdata instead of load
new = importdata('image.mat');
You will be able to call your data by typing only new instead of new.positive_sample.
0 件のコメント
KSSV
2016 年 6 月 24 日
編集済み: KSSV
2016 年 6 月 24 日
load('image.mat');
new = positive_sample ;
Or if you don't want to type the line new = positive_sample. Do the above step, and save the variable new into mat file. Next time, when you load you will get new directly.
1 件のコメント
Steven Lord
2016 年 6 月 24 日
Try doing that with a MAT-file that contains a variable named 'alpha'.
load('image.mat');
new = alpha;
This is commonly referred to as "poofing" variables into the workspace and can cause unexpected issues.
Inside a function I recommend ALWAYS calling load with an output argument. If you need to refer to one of the variables from the MAT-file repeatedly, define a new variable by performing dot subscripting on that output.
mydata = load('image.mat');
new = mydata.positive_sample;
If you don't know the name of the variable, use dynamic field names.
参考
カテゴリ
Help Center および File Exchange で Workspace Variables and MAT Files についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!