MATLAB Answers


Apply code on matlab files in different directories ?

Asked by geoabidali on 18 Aug 2015
Latest activity Commented on by geoabidali on 19 Aug 2015
I want to apply the code on the .m files present in sub directories. The names of sub-directories started from 001 up to 365 in sequence. Could someone help me to write some code ? I have a very basic knowledge of Matlab scripts.
Thanks in advance!


The attached code i want to apply on all the files present in the sub-directories.

Sign in to comment.


2 Answers

Answer by David Sanchez
on 18 Aug 2015

From Documentation:
path(path,'newpath') adds the newpath folder to the end of the search path. If newpath is already on the search path, then path(path,'newpath') moves newpath to the end of the search path.
In your case, you should do something like this:
your_path = path where you have your sub-directories;
for k=1:365 % sub-directories started from 001 up to 365 in sequence
str = strcat(your_path,'\000); % add the temporary 000 ending
file_number = num2str(k); % convert index to string
L = length(str); % length of your path
LK = length(file_number); % length of index as string
new_path = strcat(str(1:L-LK),file_number); % full new path od kth folder
path(path,new_path) % add the kth folder to matlab path


Mr. Walter Roberson i want to save these variables from the code :f, res, AmpTab, FreTab, Amplitudes, Frequencies,psdest, and energy for each file. I want to save one file for input. Thanks a lot for your consideration !
You seem to be working with 365 different subdirectories, but I cannot tell which file or files you want to use out of each subdirectory. Is there a data_hr.mat file in each subdirectory that has a single variable in it? Is there a data_hr.csv file in each subdirectory? Is data_hr the name of a column in a .xls file that has a consistent name in each subdirectory? Is there a data_hr.m file in each subdirectory that is a function that returns data? Are there multiple files in each sub-directory that each need to be processed?
I have the files like A00100ADO_E.mat, A00100ADO_N.mat in all the sub-directories and all of them have single variable which is 'data_hr' in each file.

Sign in to comment.