MATLAB Answers

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

2 views (last 30 days)
Daniyal Arif
Daniyal Arif on 6 Aug 2019
Answered: 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.

Answers (1)

David K.
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.

Sign in to answer this question.