2015-06-24 4 views
0

У меня есть следующие m=7 векторы в MatlabMeshgrid с более чем 3 векторами в Matlab?

beta1grid=(1:1:3); 
beta2grid=(0:0.5:1); 
deltagrid=(-4:1:-2); 
gamma1grid=(-2:1:0); 
gamma2grid=(-2:0.5:-1); 
alpha1grid=(1:1:3); 
alpha2grid=(-2:1:0); 

Каждый вектор имеет n=3 элементы. Я хочу построить матрицу A размера (n^m)x(m), то есть 2187x7, перечисляя в каждой строке возможную комбинацию элементов из вышеперечисленных векторов.

+0

Сообщение, что связано, как дублирующие специально попросили 4D, но я сделал это так, что она обобщается на N-измерений. – rayryeng

ответ

0

Вот один из способов использования ndgrid:

[b1, b2, d, g1, g2, a1, a2] = ndgrid(beta1grid, beta2grid, deltagrid, gamma1grid, gamma2grid, alpha1grid, alpha2grid); 
A = horzcat(b1(:), b2(:), d(:), g1(:), g2(:), a1(:), a2(:));