Question: indexing of matrices and other rtable structures

I often have large matrices and have to grab only every nth column or row (for plotting

for example). So far I've been doing it this way:


nthColumns:=proc(v_m, v_n)  
v_m[..,[seq(i, i=1..rtable_size(v_m)[2], v_n)]]
end;
nthRows:=proc(v_m, v_n) 
 v_m[[seq(i, i=1..rtable_size(v_m)[1], v_n)],..]
end;

A := LinearAlgebra:-RandomMatrix(20, 20, outputoptions = [datatype = float[8]]);
#Ex: Every other column
nthColumns(A, 2);

#Ex: Every 10th row, but show only first 3 columns
nthRows(A, 10)[.., 1..3];

Is there a prettier way to do this? Maybe with some built-in syntax I don't know about? 

If not, it would be great if such as extension to the indexing syntax did get implemented 
(the way matlab does it is very useful). An easy way, that would not break any previous 
code, could be to extend the ".." operator. 
I'm thinking of something like:
[first..last..jump]

So The examples above would read:
#Ex: Every other column
A[.., 1..-1..2]

#Ex: Every 10th row, but show only first 3 columns:
A[1..-1..10, 1..3];

This way all previous code should work, as the behavior of ".." would be as before for cases where 
no "jumps" in the indexing are present.

I was wondering what others think about this? 
Please Wait...