Accesing vector data in for loop

I want to access the vector data from several variables in a for loop. I have managed to build the string to load the filename and variables, but the actual data is not accessed.
this is the code:
vars={var1,var2,var3,var4};
for ii=1:length(vars)
file=dir(fullfile(maindirectory,'mydata.mat'));
filename=file.name
fullfilename=strcat(maindirectory,'\',filename);%builds the string
Data=load(fullfilename,vars{ii});
end
it all falls apart at Data.
The code just loads the struct with fields (var1: [99x1 double]), but not the actual data.

1 件のコメント

Stephen23
Stephen23 2018 年 9 月 27 日
編集済み: Stephen23 2018 年 9 月 27 日
This is very confusing: it is not clear why you call dir when you already know the exact filename:
file=dir(fullfile(maindirectory,'mydata.mat'));
filename=file.name
fullfilename=strcat(maindirectory,'\',filename);%builds the string
Perhaps you just meant to do this:
fullfilename = fullfile(maindirectory,'mydata.mat');

サインインしてコメントする。

回答 (1 件)

Walter Roberson
Walter Roberson 2018 年 9 月 27 日

0 投票

This is expected. Read the documentation on the output of load() applied to a mat file.

カテゴリ

ヘルプ センター および File ExchangeMATLAB Mobile についてさらに検索

質問済み:

2018 年 9 月 27 日

編集済み:

2018 年 9 月 27 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by