How to get 2 variables form loading mat fille
Mostrar comentarios más antiguos
I want to load lots of mat file like (a1_2.mat......a50_40.mat) and take two variables(c,d) from each mat file and then put variables in a matrix like this.[c1 d1; c2 d2.....]
for n = 1 : 50
for k=1:40
y=load(['a',num2str(n),'_', num2str(k) '.mat']);
c = y.c;% load first variable
d=y.d; % load second variable and
all(:,1)=c;
all(:,2)=d;
end
end
but I can't get the final matrix correctly.
Thanks in advance for your help.
Respuesta aceptada
Más respuestas (1)
Star Strider
el 5 de Feb. de 2016
Assuming that you cannot pre-allocate your matrix, something like this could work:
all_vars = [];
for n = 1 : 50
for k=1:40
y=load(['a',num2str(n),'_', num2str(k) '.mat']);
c = y.c;% load first variable
d = y.d; % load second variable and
all_vars = [all_vars; [c d]];
end
end
I changed the name of your matrix, because all is a function name you could need later in your code. Naming variables the same as built-in MATLAB functions is called ‘overshadowing’. MATLAB will use the variable instead of the function afterwards, making the function useless until you change the variable name.
2 comentarios
Rita
el 5 de Feb. de 2016
Star Strider
el 5 de Feb. de 2016
My pleasure.
I am glad I was able to solve your problem!
Categorías
Más información sobre Optimization Toolbox en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!