Effacer les filtres
Effacer les filtres

How to get 2 variables form loading mat fille

1 vue (au cours des 30 derniers jours)
Rita
Rita le 5 Fév 2016
Commenté : Star Strider le 5 Fév 2016
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.

Réponse acceptée

Walter Roberson
Walter Roberson le 5 Fév 2016
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_vals(n,k,1) = c;
all_vals(n,k,2) = d;
end
end
all_vals = reshape(all_vals, [], 2);

Plus de réponses (1)

Star Strider
Star Strider le 5 Fév 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 commentaires
Rita
Rita le 5 Fév 2016
Thanks Walter for your prompt response.unfortunetly my results had 30 rows of zero number. Thanks Star strider for your explanation.and the result is perfect.
Star Strider
Star Strider le 5 Fév 2016
My pleasure.
I am glad I was able to solve your problem!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by