よくあることですが、matlab で任意の離散分布を生成する必要があります。私はこれを書くことができます:
randDiscreteDistribution = rand(sizeOfDistribution, 1);
randDiscreteDistribution = randDiscreteDistribution / sum(randDiscreteDistribution);
この 2 行をどこにでも書くのは避けたいのですが、この機能をカプセル化すると、よりクリーンなソフトウェアになります。ソース管理の理由から本格的な関数を書くことは避けたいと思います。これを複数のリポジトリで使用する必要があります。それは確かに独自のサブモジュールに値しません!
理想的には、無名関数の行に沿ったソリューションが必要です (ローカル関数はスクリプトで許可されていないため、使用できません)。少し遅い実行: ( http://www.mathworks.com/matlabcentral/answers/50195-is-it-possible-to-write-several-statements-into-an-anonymous-function )。