Menghitung Pi dengan Metode Monte Carlo menggunakan C++

Admin
0
Monte-Carlo dapat digunakan untuk menghitung nilai pi (π). Prinsipnya adalah mengacak sebaran partikel pada sebuah kotak yang menutupi lingkaran, kemudian menghitung fraksi antara partikel yang berada dalam lingkaran terhadap total partikel yang disebar. Berikut ilustrasinya :


Gambar 1. Ilustrasi menghitung pi dengan metode Monte-Carlo.

Jika N adalah jumlah total partikel yang disebar, dan No adalah adalah jumlah partikel yang berada di area lingkaran, maka untuk N yang sangat besar berlaku hubungan :
Sehingga nilai π dapat diestimasi dengan


Berikut contoh pseudo-code yang dapat digunakan untuk menentukan nilai pi (π).
/*compile : g++ pi.cpp -o pi
  run         :./pi
  created :05-03-2016 by [KAMIRUL]
  */
 
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <cmath>

using namespace std;

int main()
{
    srand( time(0) );  //avoid same generated number
    int N = 100000;
    double m = 0; //counter partikel
    double R=1;
   
    for (int i = 0; i < N; ++i)
    {
        double x = ((double) rand() / (RAND_MAX))*R;
        double y = ((double) rand() / (RAND_MAX))*R;
        double r = sqrt(pow(x,2)+pow(y,2));
                            
        if (r<R) {
               m=m+1;  //ketika masih ada air
          }
     
      }
      double pi=(m/N)*4;
      cout << "N-partikel = "<<N<< "\n"<< "\n";
      cout << "pi = "<<pi<< "\n";
    return 0;

}

Post a Comment

0Comments
* Please Don't Spam Here. All the Comments are Reviewed by Admin.
Post a Comment (0)

Disclaimer : Content provided on this page is for general informational purposes only. We make no representation or warranty of any kind, express or implied, regarding the accuracy, adequacy, validity, reliability, availability or completeness of any information.

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !
To Top