MATLAB Answers

0

how to store multpile files which has been loaded first in the same script ,in the new variable , through loop

Asked by Daniyal Arif on 6 Aug 2019
Latest activity Answered by David K.
on 6 Aug 2019
i want to write second part through loop
please guide about it
my matlab is release is 2016a

  0 Comments

Sign in to comment.

1 Answer

Answer by David K.
on 6 Aug 2019

So, I believe this answer could be done using the eval function but since that function is highly discouraged here is my attempt at doing this without using it.
First, make sure all of your .mat files are in the folder you are using alone
Files = dir('*.mat'); % dir('SH*.mat') may work as well if you dont want to change folders
jan = zeros();
feb = zeros(); % Preallocate to whatever size you need
for n = 1:length(Files)
data = load(Files(n).name); % Load in a new set of data
dataCell = struct2cell(data); % Switch to cell so we can get the data without knowing the data
jan(:,n) = dataCell{1};
feb(:,n) = dataCell{2};
% Instead of assigning each month we could do this instead:
for month = 1:12 % Assuming you have all months
totalData(:,n,month) = dataCell{month}; % Should preallocate this as well if you choose to do it
end
end
Hope this works for you, I dont have the data so hard to test to be sure.
And if any more experienced people see this I would be interested to know how proper this method would be considered.

  0 Comments

Sign in to comment.