用随机投点法计算pi值matlab,(原创精品)用随机投点法计算π值【Compute π with dartpoint randomly】.doc...
(原創精品)用隨機投點法計算π值【Compute π with dartpoint randomly】
題目:Compute π with dartpoint randomly 用隨機投點法計算π值
程序步驟:
①創建頭文件 randomnumber.h
#ifndef RANDOMNUMBER_H
#define RANDOMNUMBER_H
#if _MSC_VER 1000
#pragma once
#endif
#include
//隨機數類
const unsigned long maxshort 65536L;
const unsigned long multiplier 11座機電話號碼L;
const unsigned long adder 12345L;
class RandomNumber private:
//當前種子
unsigned long randSeed;
public:
//構造函數,默認值0表示由系統自動產生種子
RandomNumber unsigned long s 0 ;
//產生0:n-1之間的隨機整數
unsigned short Random unsigned long n ;
//產生[0,1 之間的隨機實數
double fRandom void ;
;
//產生種子
RandomNumber::RandomNumber unsigned long s if s 0 randSeed time 0 ; //用系統時間產生種子
else randSeed s; //由用戶提供種子 //產生0:n-1之間的隨機整數
unsigned short RandomNumber::Random unsigned long n randSeed multiplier * randSeed + adder;
return unsigned short randSeed 16 % n ; //產生[0,1 之間的隨機實數
double RandomNumber::fRandom void return Random maxshort / double maxshort ; #endif
②編寫源程序 random.cpp
// random.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "randomnumber.h"
#include
using namespace std;
// Compute π with dartpoint randomly
int main int argc, char* argv[] RandomNumber dart;
int i 0,k 0; //落入圓內的點數為k
int n 10000; //向正方形隨機地投擲10000個點
double x,y;
for i 1;i n;i++ x dart.fRandom ; y dart.fRandom ;
if x*x+y*y 1 k++; cout 4*k/double n ;
cin i; //防止exe一閃而過
return 0; 結果顯示:
總結
以上是生活随笔為你收集整理的用随机投点法计算pi值matlab,(原创精品)用随机投点法计算π值【Compute π with dartpoint randomly】.doc...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EM算法的数学原理
- 下一篇: matlab人脸追踪,求大神帮助我这个菜