Вы можете использовать cellarrays для создания списка через запятую:
%# sample data
x = rand(10,3); %# you can change the column numbers here
%# calculate step sizes
mn = min(x);
mx = max(x);
step = (mx-mn)/50;
%# vec{i} = mn(i):s(i):mx(i)
vec = arrayfun(@(a,s,b)a:s:b, mn,step,mx, 'UniformOutput',false);
%# [X,Y,...] = ndgrid(vec{1},vec{2},...)
C = cell(1,numel(vec));
[C{:}] = ndgrid( vec{:} );
%# result = [X(:),Y(:),...]
result = cell2mat( cellfun(@(v)v(:), C, 'UniformOutput',false) );