Find the file number when a condition meets

1 次查看(过去 30 天)
I have for example 300 files (data1.dat data2.dat data3.dat ...), and inside every file I have for example two columns X and Y.
I want to find the number (index) of the files where this condition meets:
50< X <100 and 60 <Y< 100
To get something like that:
Files = [ 10 46 230 299 ]

采纳的回答

John D'Errico
John D'Errico 2021-10-21
编辑:John D'Errico 2021-10-21
Beginners do this sort of thing. They are tentative, almost afraid to use MATLAB, even when they think they need to. So they leave their data in files. Break your problem, ANY problem too large for you to figure it out, break it into small subproblems.
Problem 1: READ IN YOUR DATA. Bring in each file into MATLAB. Until you do this, you will constantly need to be accessing each file, dealing with the names of the files, etc. If the varius files have the same number of rows, then put it all into one 3-dimensional array. If they have different numbers of rows, then put the data into a cell array. Since you will be doing something else afterwards with this data, surely you need to read it into MATLAB eventually. Do it immediately, the first thing you do.
Problem 2: Once your data is in MATLAB, now the test is simple. It will depend on how you store the data, but there are simple ways to perform the test that would take at most a few lines of code to do. You will use find in the end to determine the indices of the datasets that fit all of the necessary rules.
If the problems above are still too large, then break them down more deeply. Eat a programming elephant, even a small one, one byte at a time.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by