有關clock()函式
1,clock()函式在標頭檔案#include中
2,clock()函式的返回值型別為clock_t。clock_t其實是long,即長整形。
clock_t是用來儲存時間的資料型別,typedef long clock_t。
3,clock()函式的功能:從程式被呼叫,建立程式程序到clock()函式呼叫之間的cpu時間計時單位
4,常量clocks_per_sec,他表示一秒鐘有多少個時鐘計時單位。
#define clock_per_sec ((clock_t)1000)5. 注意: (1) clock()函式範圍的時間單位是ms(毫秒)。
(2) 現在的機器運算速度很快,當用clock()函式記錄演算法的效率時,不一定有效,可能得到的結果為0。可以嘗試多次呼叫,這個「多」就自己去嘗試吧//利用蒙特卡羅演算法計算半徑為 1 單元的球體體積:
//(1)序列執行程式為:
#include#include#includeusing namespace std;
int main()
{ long int max=10000000;
long int i,count=0;
double x,y,z,bulk,start_time,end_time;
start_time=clock();
time_t t;
srand((unsigned) time(&t));//函式產生乙個以當前時間開始的隨機種子
for(i=0;i#include#include int main(){
long long max=10000000;
long long i,count=0;
double x,y,z,bulk,start_time,end_time;
start_time=clock();
time_t t;
srand((unsigned) time(&t));//函式產生乙個以當前時間開始的隨機種子
#pragma omp parallel for private(x,y,z) reduction(+:count)
for(i=0;i
蒙特卡洛理解
蒙特卡羅演算法並不是一種演算法的名稱,而是是一類隨機方法的統稱。這類方法的特點是,可以在隨機取樣上計算得到近似結果,隨著取樣的增多,得到的結果是正確結果的概率逐漸加大,但在 放棄隨機取樣,而採用類似全取樣這樣的確定性方法 獲得真正的結果之前,無法知道目前得到的結果是不是真正的結果。從特性特性來說,我...
蒙特卡洛演算法
從今天開始要研究sampling methods,主要是mcmc演算法 contents 1.蒙特卡洛介紹 2.蒙特卡洛的應用 3.蒙特卡洛積分 1.蒙特卡洛介紹 蒙特卡羅方法 monte carlo method 也稱統計模擬方法,是二十世紀四十年代中期由於科學技術的 發展和電子計算機的發明,而被...
蒙特卡洛取樣
1.馬爾可夫鏈及其平穩分布 馬爾可夫鏈的定義很簡單,即後乙個狀態只與前面乙個狀態相關 p x t x cdots,x p x t x 2.馬氏鏈定理 如果乙個非週期馬爾可夫鏈具有狀態轉移矩陣 p 且它的任意兩個狀態都是連通的,那麼 mathop limits p n 存在且與 i 無關,記 math...