0

私は、Mathworks のファイル交換サイトでいくつかのMatlab の貢献を見てきました。ここでは、作成者が mex でコンパイルするときにオプション "-DranSHR3" を使用しています。mex、GNU GCC、および Microsoft のclドキュメントを確認しましたが、何も見つかりませんでした。

このオプションの用途について何か考えはありますか? 詳細はどこで確認できますか?

ありがとう

4

2 に答える 2

2

このオプション-DranSHR3はプリプロセッサ SymbolranSHR3を定義し、デフォルトのランダム ジェネレータの代わりに SHR3 ランダム ジェネレータを選択します。

ここでは、Matlab の乱数発生器について読むことができます。

ここで、SHR3 に関するやや長いコメントを見つけました。

少なくとも Matlab R2010b では、ランダム ストリームのデフォルトのジェネレーターは Mersenne Twister であり、これは非常に良い選択です。Mersenne Twister と比較して SHR3 の方が速いかもしれませんが、わかりません。確かなことは、SHR3 が Mersenne Twister よりも悪いランダム特性を持っていることです。まず、MT の 2^19936-1 の代わりに 2^64 の短い周期があります。対応する Matlab のドキュメントは次のとおりです

おそらく、SHR3 の人気は、Mersenne Twister がデフォルトまたは互換性のためではなかった古いバージョンに由来するのでしょうか?

于 2011-01-21T17:41:42.270 に答える
1

-D通常、マクロを設定するために使用されます。

#define ranSHR3

任意のソース ファイルで。

于 2011-01-21T17:36:11.460 に答える