MATLAB: For loop with an exclusion

for loop

I'd like to run a particular code through a loop where n_datafiles = [1,2,3,4,6,7,8] while skipping the number 5.
n_datafiles = [1, 2, 3, 4, 6, 7, 8]; for i_datafile = 1:n_datafiles %my code end
I've tried the above code, but it doesnt work. I get the error saying that the index exceeds matrix dimensions.
I've also tried to use n_datafile == 1:4 && n_datafiles = 6:8 but i get an error saying that there is an unexpected MATLAB operator.
For now, the only way I can get my code to work is to separate the code into 2 for loops- 1:4 and 6:9. I read that I should avoid using a for loop because it will mess with the indexing. However, I need to use a for loop in this case as it involves reading and saving the file in [name]_(1/2/3/4/6/7/8) respectively.

Best Answer

Why 1:n_datafiles ? it's just n_datafiles
n_datafiles = [1, 2, 3, 4, 6, 7, 8];
for i_datafile =n_datafiles
%my code
end