2011-08-17 5 views
1

까지 거기에 아무런 문제가 없었다,하지만 지금은 X가 된 colomns의 다양한 납입을 가지고, 나는 있지만 된 colomns의 동적 번호 아날로그 코드를 작성하는 방법을 모른다 x?matlab에 동적 parametres 세대

min_x = min(x); 
max_x = max(x); 
step = (max_x - min_x)/50; 
[X, Y] = ndgrid(min_x(1):step(1):max_x(1), min_x(2):step(2):max_x(2)); 

답변

1
쉼표로 구분 된 목록 생성 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));