あなたは(あなたが必要なものを部品に応じて)などFirst
のような、より専門的なコマンドの一部、Rest
、Most
と(あなたが必要とする1)Last
をPart
を使用して、リストの別の部分にアクセスしたりすることができます。コメントに記載されているように、Histogram[Last/@F]
またはHistogram[F[[All,-1]]]
は正常に動作します。
あなたの質問の一部ではありませんでしたが、私はあなたの特定の問題のためにできることを非常にスピードアップすることに注意したいと思います。 Table
コマンドの内部にあるので、Mu
、Sigma
などを10,000回定義しています。 の中にFoldList
が入っているので、定数でもMu - Sigma^2/2)*t + Sigma*Sqrt[t]
は120,000回も再計算されます。私のマシン上で
:
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倍高速です:
私は地元の定数の
With
と
Table
内の他の再定義されているもののため
Module
を使用
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}
(Xi
)、またはローカル定数(beta
)に基づく計算です。 This question on the Mathematica StackExchangeは、Module
とBlock
との対比で、With
を使用するときの説明に役立ちます。 (Mathematicaのスタックエキスエクスチェンジをさらに探求することをお勧めします。これはMathematicaのエキスパートの大部分が今すぐ出かけているところです)
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つのコード例は、まったく同じ結果を出すことを確認することは容易です。
はこれが何をしたいですか? – mohit6up
Thxたくさん - 私はK = F [[All、13]]を見つけることができましたが、これはずっと優れています! – seniorita
'F [[All、-1]]'も同様に動作します。 – Heike