関連情報
ホーム > 製品 > NAG数値計算ライブラリ > C#向けNAGライブラリ > サンプルソースコード集 > 二項分布から整数疑似乱数ベクトルを生成

C#による 二項分布から整数疑似乱数ベクトルを生成

C#によるサンプルソースコード
使用関数名:g05ta

Keyword: 二項分布, 整数疑似乱数ベクトル

概要

本サンプルは二項分布から整数疑似乱数ベクトルの生成を行うC#によるサンプルプログラムです。 本サンプルは確率が以下で表される、m=6000、p=0.8の二項分布から20個の疑似乱数を生成し出力します。

二項分布のデータ 

※本サンプルはNAG Library for .NETに含まれる関数 g05ta() のExampleコードです。本サンプル及び関数の詳細情報は g05ta のマニュアルページをご参照ください。
ご相談やお問い合わせはこちらまで

出力結果

(本関数の詳細はg05ta のマニュアルページを参照)

この出力例をダウンロード
g05ta Example Program Results

 4811
 4761
 4821
 4826
 4761
 4800
 4791
 4825
 4800
 4814
 4749
 4780
 4810
 4750
 4807
 4782
 4778
 4877
 4840
 4802


  • 3〜22行目に生成された整数疑似乱数が出力されています。

ソースコード

(本関数の詳細はg05ta のマニュアルページを参照)

※本サンプルソースコードは .NET環境用の科学技術・統計計算ライブラリである「NAG Library for .NET」の関数を呼び出します。
サンプルのコンパイル及び実行方法


このソースコードをダウンロード
//      g05ta Example Program Text
//      C# version, NAG Copyright 2008
using System;
using NagLibrary;
using System.IO;
namespace NagDotNetExamples
{
  public class G05TAE
  {
    static void Main(String[] args)
    {
      StartExample();
    }
    public static void StartExample()
    {
      try
      {
        const int mseed=1;
        const int n=20;
        double p=0.0;
        int genid,   i,   m,   subid;
        double[] r = new double[6007];
        int[] seed = new int[mseed];
        int[] x = new int[n];
        int ifail;
        Console.WriteLine("g05ta Example Program Results");
        Console.WriteLine("");
        //      Set the distribution parameters P and M
        p = 0.80e0;
        m = 6000;
        //      Initialise the seed
        seed[0] = 1762543;
        //      genid and subid identify the base generator
        genid = 1;
        subid = 1;
        //      Initialise the generator to a repeatable sequence
        G05.G05State g05State = new G05.G05State(genid, subid, seed, out ifail);
        if (ifail != 0)
        {
          Console.WriteLine("** Generator initialisation failed with ifail = {0,5}", ifail);
          goto L20;
        }
        //      Generate the variates
        //      Choose mode = 2
        G05.g05ta(2, n, m, p,r,  g05State, x, out ifail);
        if (ifail != 0)
        {
          Console.WriteLine("** g05ta failed with ifail = {0,5}", ifail);
          goto L20;
        }
        //      Display the variates
        for (i = 1 ; i <= n ; i++)
        {
          Console.WriteLine(" {0}", x[i - 1]);
        }
        Console.WriteLine("");
        // 
        L20: ;
        // 
      }
      catch (Exception e)
      {
        Console.WriteLine(e.Message);
        Console.WriteLine( "Exception Raised");
      }
    }
  }
}


Results matter. Trust NAG.

Privacy Policy | Trademarks