MATLAB 中 ndgrid 中可变数量的参数
variable number of arguments in ndgrid in MATLAB
我想生成一个参考矩阵。此代码有效,但我想使用可变大小的集合。我做不到...感谢您的帮助!
cpt = 1;
for ll = 1: 3
nb_rules = 5;
sets{cpt} = [1 : nb_rules];
cpt = cpt +1;
end
[x y z] = ndgrid(sets{:});% Here begins the trouble :
mat_ref = [x(:) y(:) z(:)];% what if size is not 3 ?
在接收端使用 cell
数组 GRID
,以获得程序化 comma-separated list:
N = numel(sets);
[GRID{1:N}] = ndgrid(sets{:});
mat_ref = reshape(cat(N+1,GRID{:}),[],N)
(无需先声明GRID = cell(..)
。)
我想生成一个参考矩阵。此代码有效,但我想使用可变大小的集合。我做不到...感谢您的帮助!
cpt = 1;
for ll = 1: 3
nb_rules = 5;
sets{cpt} = [1 : nb_rules];
cpt = cpt +1;
end
[x y z] = ndgrid(sets{:});% Here begins the trouble :
mat_ref = [x(:) y(:) z(:)];% what if size is not 3 ?
在接收端使用 cell
数组 GRID
,以获得程序化 comma-separated list:
N = numel(sets);
[GRID{1:N}] = ndgrid(sets{:});
mat_ref = reshape(cat(N+1,GRID{:}),[],N)
(无需先声明GRID = cell(..)
。)