2017-11-07 11 views
2

Matlab의 튜플에 대해 Mathematica와 동일한 기능이 있습니까?Mathematica 용 튜플을위한 Matlab의 등가 함수?

http://reference.wolfram.com/language/ref/Tuples.html

난 그냥 출력과 반드시 ​​괄호를 의미 :

첫 번째 예를 참조하십시오.

감사합니다.

+0

[this] (https://stackoverflow.com/q/21895335/2586922)이 무엇입니까? 각 행이 튜플 인 행렬을 제공합니다. 첫 번째 Mathematica 예제에서'clear vectors; 벡터 (1 : 3) = {[0 1]} –

+0

[1 2 5]와 같은 입력 집합을 지정하고 관심있는 "버킷"의 수를 지정하려면 2를 말하십시오. 이 예제는 [1 1], [1 2], [1 5], [2 1], [2 2], [2 5], [5 1], [5 2] 그것은 본질적으로 모든 요소의 반복과 모든 결합입니다. – dsmalenb

+0

여기에서 답변을 찾을 수 있습니다. https://www.mathworks.com/matlabcentral/fileexchange/7147-permn-v--n--k- – dsmalenb

답변

0

의견에 언급했듯이 this answer 만 적용하면됩니다. 다음과 같이 할 수 있습니다 :

function y = tuples(x, n) 
y = cell(1,n); 
[y{end:-1:1}] = ndgrid(x); 
y = cat(n+1, y{:}); 
y = reshape(y, [], n); 

이렇게하면 각 행이 터플 인 행렬을 얻을 수 있습니다. 예 :

>> tuples([1 2 5], 2) 
ans = 
    1  1 
    1  2 
    1  5 
    2  1 
    2  2 
    2  5 
    5  1 
    5  2 
    5  5