I have a ton of data that needs to be processed from lab work. I have a ton of .mat files that contain a signal matrix of dimensions 7 x w. I need to resize the matrix to 7 x N and w is larger and smaller than N to make the rest of the analysis easier (don’t care about data past N). I have the psuedocode of how I want this to work but don’t know how to implement it. Any help would be great thanks!
Folder structure of all my data:
Main folder
Alpha 1
1111.mat
1321.mat
Alpha 2
1010.mat
1234.mat
1109.mat
933.mat
Alpha 3
1223.mat
etc.
Psudeocode:
Master_matrix = []
For all n *.mat
Load n'th *.mat from alpha 1
If w > N
Resize matrix down to N
Else
Zero pad to N
End if
Master_matrix = master_matrix .+ new resized matrix
End for
rest of my code...
First you need to generate the file list. I have my own function for that, but there is, for example, GETFILELIST or the excellent interactive UIPICKFILES to generate the list of files.
Once you have the file list (I’ll assume it’s a cell array containing the filenames), you can do the following:
Note: In case you don’t actually want to add up the data, but simply store it in the master array, you can make
Master_matrixinto a 7-by-N-by-nFiles array, where the nth plane ofMaster_matrixis the content of the nth file. In this case, you’d initializeMaster_matrixasand you’d write the if-clause as
Also note that you might want to initialize
Master_matrixasNaNinstead ofzeros, so that the zeros don’t affect subsequent statistics (if that’s what you want to do with the data).