プロが教えるわが家の防犯対策術!

fortran77で乱数を発生させたい

こんばんわ。fortran77で乱数を発生させるにはどうすればいいのでしょうか?


調べてみるとfortran90ならば乱数の組み込み関数が用意されているようなのですが、fortran70にはないそうです。

  real function random(i)
   i=843314861*i+453816693
   random=real(i)/2**31
  end function
  do 10 k=1,n
   ransu(k)=random(i)
10 continue

これを用いることで乱数が発生できると書いてあったのですが、オーバーフローしてしまったせいか、値がマイナスのものが出てきてしまい、うまくできませんでした。

これ以外にも方法はないでしょうか?

私の環境はsalford FTN77です。
回答よろしくお願いします。

A 回答 (1件)

C言語での説明になっていますが、Fortranにも移植可能だと思われます


http://www001.upp.so-net.ne.jp/isaku/rand.html

あとは、整数の型を工夫して、bit数を多く取るとか
    • good
    • 0
この回答へのお礼

ありがとうございました。

サイト参考にさせていただきました。そのおかげもあり、どうにかできました。

お礼日時:2010/09/15 01:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!