2013-10-22 100 views

回答

0
a = [ 4 2 5 9] 

    a = 

     4  2  5  9 

    s = combnk(a, 2) 

    s = 

     5  9 
     2  9 
     2  5 
     4  9 
     4  5 
     4  2 
+0

請添加一點說明文字。 – IvanH

+1

函數在這裏解釋:http://www.mathworks.de/de/help/stats/combnk.html – Daniel

+0

謝謝,丹尼爾。 –

4

你並不需要一個for循環:

result = tril(bsxfun(@minus,a(:).',a(:)),-1); 
ind = tril(reshape(1:numel(result),size(result)),-1); 
ind = ind(ind>0); 
result = result(ind).' 
+6

我喜歡這個,因爲它回答了這個問題,並在同一OP不能使用它(大概是爲了介紹MATLAB類)! –

+0

好的解決方案Luis。我打算髮布的解決方案是一個循環的雙。他要求它:) – MZimmerman6

+0

@DangKhoa呃...我沒有想到這一點! :-) –