3

私は2つのベクトルa、bを持っています

a=[1; 2; 3; 4]
b=[1; 2; 3] 

そして、このようなマトリックスを作成したい

c=[1 1; 2 1; 3 1; 4 1; 1 2; 2 2; 3 2; 4 2; 1 3; 2 3; 3 3; 4 3]
4

2 に答える 2

4

ここにさらに別の方法があります!

c = [repmat(a,numel(b),1),sort(repmat(b,numel(a),1))]
于 2012-06-28T08:30:36.650 に答える
3

まだもっと良い方法があるような気がします...

p1 = repmat(a,[numel(b),1]);
p2 =  imresize(b,[numel(a)*numel(b) 1],'nearest');
answer =  [p1 p2];

より良い方法を見つけました:

 [A,B] = meshgrid(a,b);
 answer = [reshape(B,[],1) reshape(A,[],1)];

Chris Taylor は、よりコンパクトな方法を提案しています。

 [A B]=meshgrid(a,b); [B(:) A(:)];
于 2012-06-28T07:56:39.070 に答える