矩陣我有兩個向量A,B創建使用其他載體的元素在MATLAB
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]
矩陣我有兩個向量A,B創建使用其他載體的元素在MATLAB
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]
我有一種感覺有一個更好的方法,還是......
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)];
克里斯·泰勒提出了更緊湊的方式:
[A B]=meshgrid(a,b); [B(:) A(:)];
更好:'[AB] = meshgrid(a,b); [B(:) A(:)]' –
我總是使用'ndgrid' - 輸出順序更有意義。 – Jonas
的可能重複的[Matlab的 - 生成一些向量的元素的所有可能組合(http://stackoverflow.com/questions/4165859/matlab-generate-all-possible-combinations-of-the-元素的一些向量) – Amro