2017-11-07 11 views
2

MatlabのタプルにMathematicaと同等の機能がありますか?MathematicaのためのタプルのためのMatlabの等価関数?

は、最初の例を参照してください。

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

私はちょうど出力と必ずしも括弧を意味します。

ありがとうございます。

+0

[これ](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]、[5 5]基本的には、あらゆる要素の繰り返しとのあらゆる組み合わせです。 – 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 
関連する問題