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

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

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

Keyword: 超幾何分布, 整数疑似乱数ベクトル

概要

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

超幾何分布のデータ 

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

出力結果

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

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

   452
   444
   453
   454
   444
   450
   449
   454
   450
   452
   442
   447
   451
   442
   451
   447
   447
   462
   456
   450


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

ソースコード

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

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


このソースコードをダウンロード
//      g05te Example Program Text
//      C# version, NAG Copyright 2008
using System;
using NagLibrary;
using System.IO;
namespace NagDotNetExamples
{
  public class G05TEE
  {
    static void Main(String[] args)
    {
      StartExample();
    }
    public static void StartExample()
    {
      try
      {
        const int mseed=1;
        const int n=20;
        const int lr=200;
        int genid,   i,   m,   np,   ns,   subid;
        double[] r = new double[lr];
        int[] seed = new int[mseed];
        int[] x = new int[n];
        int ifail;
        Console.WriteLine("g05te Example Program Results");
        Console.WriteLine("");
        //      Set the distribution parameters ns, np, m
        ns = 500;
        m = 900;
        np = 1000;
        //      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.g05te(2, n, ns, np, m, r, g05State, x, out ifail);
        if (ifail != 0)
        {
          Console.WriteLine("** g05te failed with ifail = {0,5}", ifail);
          goto L20;
        }
        //      Display the variates
        for (i = 1 ; i <= n ; i++)
        {
          Console.WriteLine(" {0,5}", x[i - 1]);
        }
        Console.WriteLine("");
        // 
        L20: ;
        // 
      }
      catch (Exception e)
      {
        Console.WriteLine(e.Message);
        Console.WriteLine( "Exception Raised");
      }
    }
  }
}


Results matter. Trust NAG.

Privacy Policy | Trademarks