[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/29 20:36 / Filesize : 380 KB / Number-of Response : 982
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★★ Java の宿題ここで答えます Part 64 ★★



803 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 03:58:39 ]
>>801
> y=sinx の (0,0)から(1,2/π)までの面積を求めよ
ってのはy=sin(x)とy=0に挟まれた面積を求めよってことだよね?
sin(1)≠2/πだけれど積分範囲は0から1でいいの?
もしかして、(1,2/π)は(π/2,1)のつもりで積分範囲は0からπ/2かもと思って、
コメントアウトしている部分にその場合のコードも入れておいた。
import java.util.Random;
public class MonteCarlo {
public static void main(String[] args) {
Random r = new Random();
int N = 1000000;
int n = 0;
// 積分範囲が[0,1]の時 解析解=1-cos(1)
for (int i = N; i > 0; i--) if (Math.sin(r.nextDouble()) > r.nextDouble()) n++;
System.out.println((double)n / N); // モンテカルロ法
System.out.println(1 - Math.cos(1)); // 解析解
// 積分範囲が[0,π/2]の時 解析解=1
/*double p2 = Math.PI / 2;
n = 0;
for (int i = N; i > 0; i--) if (Math.sin(r.nextDouble() * p2) > r.nextDouble()) n++;
System.out.println((double)n / N * p2);*/
}
}






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<380KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef