Create subsets by a moving window.
3 views (last 30 days)
Show older comments
Anna Sidiropoulou
on 27 Feb 2020
Answered: Anna Sidiropoulou
on 27 Feb 2020
I have a 1087x12 seismic catalogue and I want to create multiple .txt subsets from it by a 50 events moving window. There will be 1038 .txt files in total.
2 Comments
Geoff Hayes
on 27 Feb 2020
Anna - to be clear, if Data is your 1087x12 matrix, then are you interested in copying the following to file?
Data(1:50,:)
Data(2:51,:)
Data(3:52,:)
...
Data(k:k+50-1,:)
...
Data(1038:1087,:)
Accepted Answer
Geoff Hayes
on 27 Feb 2020
Anna - assuming that the data from your seismic catalog is in the myData matrix, then you could do the following
fileCount = 1;
for k = 1:length(myData)-50+1
subsetOfData = myData(k:k+50-1,:);
% write subsetOfData to file
filename = sprintf('seismicSubset%03d.txt', fileCount);
writematrix(subsetOfData, filename);
fileCount = fileCount + 1;
end
You'll probably want to come up with a better naming convention for your files (and include where they should be saved to). I haven't tested the above but i think that you get the idea of what can be done.
0 Comments
More Answers (1)
See Also
Categories
Find more on Seismology in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!