成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

包含java蒙特卡洛代碼的詞條

編寫程序:計(jì)算π的近似值,π的計(jì)算公式為

#includestdio.h

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供關(guān)嶺網(wǎng)站建設(shè)、關(guān)嶺做網(wǎng)站、關(guān)嶺網(wǎng)站設(shè)計(jì)、關(guān)嶺網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、關(guān)嶺企業(yè)網(wǎng)站模板建站服務(wù),十年關(guān)嶺做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

main()

{ int n,i; double t,

sum;/*1*/

printf("請(qǐng)輸入n的值\n");

scanf("%d",n);

sum=2; i=1; t=2;/*2*/

while(in) { t=t*(2*i)*(2*i)/(2*i-1)/(2*i+1);

/*3*/ // sum=sum*t; i=i+1; }

printf("π的值=%f\n",t);/*4*/ }

或。

寫一個(gè)Java程序來實(shí)現(xiàn)蒙特卡洛法求π的近似值:

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class MonteCarloPi {

public static void main(String[] args) throws Exception{

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

System.out.print("How many darts shoud I toss at the board?\n");

String s = br.readLine();

int numberOfDarts = Integer.parseInt(s.trim());

double radius = 1.0;

Dartboard d = new Dartboard(radius);

for(int i=1; i=numberOfDarts; i++){

Toss t = Toss.getRandom(radius);

d.strike(t);

}

double fractionIn = d.getFractionIn();

double pi = 4.0 * fractionIn;

System.out.println("Pi is approximately "+pi);

}

}

class Dartboard{

private double radius;

private int insideCircle, outsideCircle;

public Dartboard(double radius){

this.radius = radius;

insideCircle = 0;

outsideCircle = 0;

}

public void strike(Toss toss){

double x = toss.getX();

double y = toss.getY();

if(Math.sqrt(x*x + y*y) radius)

insideCircle++;

else

outsideCircle++;

}

public double getFractionIn() {

double total = (double) (insideCircle + outsideCircle);

return (double) insideCircle/total;

}

}

class Toss{

private double x,y;

public Toss(double x, double y){

this.x = x;

this.y = y;

}

public double getX(){return x;}

public double getY(){return y;}

public static Toss getRandom(double radius){

double x,y;

double size = Math.random();

double sign = Math.random();

size = size * radius;

if(sign 0.5)

x = size;

else

x = -size;

size = Math.random();

sign = Math.random();

size = size * radius;

if(sign 0.5)

y = size;

else

y = -size;

return new Toss(x,y);

}

}

擴(kuò)展資料:

C語言:用循環(huán)結(jié)構(gòu)分別編寫程序

#include

void main()

{

\x09int n=1;

\x09float temp;

\x09float sum=0;

\x09do

\x09{

\x09\x09temp=(float)1/(2*n-1);

\x09\x09if(n%2==1)

\x09\x09\x09sum+=temp;

\x09\x09else

\x09\x09\x09sum-=temp;

\x09\x09n++;

\x09}while(temp=0.000001);

\x09printf("Pi=%f\n",sum*4);

}

求蒙特卡洛計(jì)算 圓周率的 java程序

原理:

根據(jù)圓面積的公式: s=πR2 ,當(dāng)R=1時(shí),S=π。

由于圓的方程是:x^2+y^2=1(x^2為X的平方的意思),因此1/4圓面積為x軸、y軸和上述方程所包圍的部分。

如果在1*1的矩形中均勻地落入隨機(jī)點(diǎn),則落入1/4園中的點(diǎn)的概率就是1/4圓的面積。其4倍,就是圓面積。

由于半徑為1,該面積的值為π的值。

程序如下:

import java.util.Random;

public class pai {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

int N = 100000; /*定義隨機(jī)點(diǎn)數(shù)*/

int n = 0,i,resulttimes;

double r;

double x,y; /*坐標(biāo)*/

Random s = new Random();

for(resulttimes=0;resulttimes10;resulttimes++){ /*輸出十次結(jié)果*/

for (i=1;i=N;i++)

{

x=s.nextDouble(); /*在0~1之間產(chǎn)生一個(gè)隨機(jī)x坐標(biāo)*/

y=s.nextDouble(); /*在0~1之間產(chǎn)生一個(gè)隨機(jī)y坐標(biāo)*/

if(x*x+y*y=1.0) n++; /*統(tǒng)計(jì)落入單位圓中的點(diǎn)數(shù)*/

}

r=(double)n/N;

System.out.println("The result of pai is "+r*4); /*計(jì)算出π的值*/

n=0;

}

}

}

matlab如何實(shí)現(xiàn)蒙特卡洛算法?

1、首先我們啟動(dòng)matlab,新建一個(gè)函數(shù)文件。

2、在彈出的編輯窗口中輸入如下代碼。該代碼的目的是創(chuàng)建蒙特卡洛主函數(shù)。

3、然后我們保存該函數(shù)文件。

4、再建立一個(gè)函數(shù)文件,輸入代碼如下。該代碼的目的是構(gòu)造積分函數(shù),保存上面的積分函數(shù)文件。

5、在命令行窗口中直接調(diào)用該函數(shù),如圖所示為求得的結(jié)果。

6、繪制出積分區(qū)域即可。

當(dāng)前標(biāo)題:包含java蒙特卡洛代碼的詞條
鏈接地址:http://jinyejixie.com/article36/hojppg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)網(wǎng)站維護(hù)、搜索引擎優(yōu)化小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
韶山市| 霍邱县| 博湖县| 静海县| 临湘市| 高邑县| 曲周县| 晋城| 万载县| 清镇市| 岚皋县| 开远市| 金昌市| 定日县| 桑植县| 鹿邑县| 岢岚县| 海晏县| 荆门市| 唐海县| 驻马店市| 南昌县| 葫芦岛市| 雷山县| 黑龙江省| 司法| 施秉县| 虎林市| 丽江市| 土默特右旗| 宜阳县| 宕昌县| 文昌市| 达拉特旗| 密云县| 洮南市| 新邵县| 宜春市| 榆中县| 沂水县| 大悟县|