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 comentario

Stephen23
Stephen23 el 27 de Sept. de 2018
Editada: Stephen23 el 27 de Sept. de 2018
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');

Iniciar sesión para comentar.

Respuestas (1)

Walter Roberson
Walter Roberson el 27 de Sept. de 2018

0 votos

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

Categorías

Más información sobre MATLAB Mobile en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 27 de Sept. de 2018

Editada:

el 27 de Sept. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by