MATLAB: Reading Table at fixed interval

columnreading tablerow

For the following two commands
Table(1:10, :) %first
Table(1:2:10, :) %second
I know the first command will show the first 10 rows of data, and the second command will show the 1st, 3rd, 5th, 7th and 9th data.
I am wondering how useful the second command is? Can anyone explain?

Best Answer

Using the indices 1:2:10 is very useful, if you need the indices 1,3,5,7,9. In all other cases it is not useful in any way.
Perhaps you want to set every 2nd value of a vector to 0:
x = rand(1, 100);
x(1:2:end) = 0;
Or maybe it is enough to plot every 10th element:
t = linspace(0, 2*pi, 10000);
x = sin(t);
plot(t(1:10:end), x(1:10:end))
The step width need not be an integer:
x = 0:0.1:1
There is an infinite number of applications of using the colon operator with 2 inputs. If you need a vector with a constant step size, it is perfectly useful. So what exactly is your question?
Related Question