ためにネストする代わりに、現在の私の.mファイルは、私が50 すなわち{1、...、1,2,3から4つの要素のセットを生成しようとしています。このMatlabの、ループ
for a = 1 : 47
for b = a+1 : 48
for c = b+1 : 49
for d = c+1 : 50
fprintf('%d %d %d %d \n',a,b,c,d);
end
end
end
のように見えます2,3,4}、{1,2,3,5}、... {1,2,3,50}、{1,2,4,5}、.. {47,48,49,50 }。したがって、合計でC(50,4)セットが存在する。これら4つのネストされたループよりも速い選択肢があるかどうかを知りたいですか? 1つのセット内の順序は必ずしも増加する順序ではない。すなわち、コードが{1,2,3,4}ではなく{4,1,2,3}を生成していればOKである。
MATLABは、並列ループを有しています。 – Griffin
私はN = 4:50の置換をparfor N = 4:50に置き換えようとしましたが、それはより遅くなることが判明しました。 – endeavour90
'parfor'は' matlabpool'が設定されている場合にのみ並列化され、並列計算ツールボックスが必要です。実際の 'parfor'コマンドは、開発者がそのツールボックスなしで作業し、後で追加のツールボックスを使ってセッションに折り畳むことができるように、Matlabの一部です。 – Pursuit