ノイズ関数
以下の関数は、指定された形状とパラメーターを持つ擬似乱数分布から数値を返します。enoise と gnoise では乱数生成器を選択するオプションがありますが、その他のノイズ関数では初期の均一擬似乱数分布に Mersenne Twister アルゴリズムを使います。再現性のある結果が必要な場合は、いずれのノイズ関数を実行する前にも SetRandomSeed を使うべきであることに注意してください。
組み込みのノイズ関数と分布
| ノイズ関数 | 分布 |
| binomialNoise | 二項分布 |
| enoise | 一様分布 |
| expNoise | 指数分布 |
| gammaNoise | ガンマ分布 |
| gnoise | ガウス分布 |
| HyperGNoise | 超幾何分布 |
| logNormalNoise | 対数正規分布 |
| poissonNoise | ポアソン分布 |
| StatsPowerNoise | パワー分布 |
| StatsVonMisesNoise | フォン・ミーゼス分布 |
| WNoise | 2パラメーター・ワイブル分布 |
様々なノイズ関数が確かに目的の分布を生成することを簡単に確認できます。例えば、次のようにガンマ分布から 10000 個のデータポイントを生成したと仮定します:
Make/O/N=1e4 noiseWave=gammaNoise(10,2)

Make/O/N=100/O W_Hist Histogram/P/B={0,1,100} noiseWave,W_Hist

これをガンマ分布にフィッティングさせるため、以下のユーザー関数を記述します:
Function myFit(w,x) : FitFunc Wave w Variable x return x^(w[0]-1)*exp(-x/w[1])/((w[1]^w[0])*Gamma(w[0])) End
フィッティング係数の初期推定値を決定するため、noiseWave の平均値が 19.8681 であることを確認します。この平均値はガンマ分布の2つのパラメーターの積 a*b に等しいはずです。したがって推定値は a=b=sqrt(19.8) となります。
Make/O/D/N=2 W_coef={4.48,4.48} FuncFit/NTHR=0/TBOX=768 myFit W_coef W_Hist[1,50] /D
ガンマ分布へのフィッティング結果は、計算された分布(赤)の上にプロットされ、下のように青色で示されます。

Forum
Support
Gallery
Igor Pro 10
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More