リストのさまざまな部分にアクセスするには、Partまたは(必要な部分に応じて)、、、、(必要な部分)などのより特殊なコマンドを使用Firstします。コメントに記載されているように、または正常に動作します。RestMostLastHistogram[Last/@F]Histogram[F[[All,-1]]]
それはあなたの質問の一部ではありませんでしたが、私はあなたがそれを非常にスピードアップするあなたの特定の問題のためにあなたがすることができるいくつかのことを指摘したいと思います。Muコマンド内にあるため、Sigmaなどを10,000回定義していTableます。Mu - Sigma^2/2)*t + Sigma*Sqrt[t]また、は一定ですが、内部にあるため、120,000回再計算してFoldListいますTable。
私のマシンでは:
F = Table[(Xi = RandomVariate[NormalDistribution[], 12];
Mu = -0.00644131;
Sigma = 0.0562005;
t = 1/12; s = 0.6416;
FoldList[(#1*Exp[(Mu - Sigma^2/2)*t + Sigma*Sqrt[t]*#2]) &, s,
Xi]), {SeedRandom[2]; 10000}]; // Timing
{4.19049, Null}
この代替手段は10倍高速です:
F = Module[{Xi, beta}, With[{Mu = -0.00644131, Sigma = 0.0562005,
t = 1/12, s = 0.6416},
beta = (Mu - Sigma^2/2)*t + Sigma*Sqrt[t];
Table[(Xi = RandomVariate[NormalDistribution[], 12];
FoldList[(#1*Exp[beta*#2]) &, s, Xi]), {SeedRandom[2];
10000}] ]]; // Timing
{0.403365, Null}
私Withはローカル定数と、 ( )Module内で他に再定義されているもの、またはローカル定数()に基づく計算に使用します。Mathematica StackExchangeに関するこの質問は、いつ対対を使用するかを説明するのに役立ちます。(Mathematicaの専門家のほとんどが今ぶらぶらしている場所なので、Mathematica StackExchangeをさらに探索することをお勧めします。)TableXibetaModuleBlockWith
特定のコードでは、の使用は実際にPartは必要ありません。を使用する代わりに、をFoldList使用してFoldください。フォールディングの最後の数値のみを保持します。これは、の出力の最後の数値と同じですFoldList。だからあなたは試すことができます:
FF = Module[{Xi, beta}, With[{Mu = -0.00644131, Sigma = 0.0562005,
t = 1/12, s = 0.6416},
beta = (Mu - Sigma^2/2)*t + Sigma*Sqrt[t];
Table[(Xi = RandomVariate[NormalDistribution[], 12];
Fold[(#1*Exp[beta*#2]) &, s, Xi]), {SeedRandom[2];
10000}] ]];
Histogram[FF]
この方法での計算FFは、以前のバージョンよりも少し速くなります。私のシステムでTimingは0.377秒と報告されていますが、0.4秒とのこのような違いについて心配する価値はほとんどありません。

シードを設定しているのでSeedRandom、3つのコード例すべてがまったく同じ結果を生成することを簡単に確認できます。