php 算法2 TIEA211计算pi蒙特卡罗方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 算法2 TIEA211计算pi蒙特卡罗方法相关的知识,希望对你有一定的参考价值。
<?php
$points = [];
for ($i = 0; $i < 1000; $i++) {
$x = rand(0, 500);
$y = rand(0, 500);
$points[] = $x . ',' . $y;
}
$hits = 0;
$center_x = 250;
$center_y = 250;
foreach ($points as $point) {
$pieces = explode(',', $point);
$x = (int)$pieces[0];
$y = (int)$pieces[0];
$distance = sqrt(($x - $center_x) ** 2 + ($y - $center_y) ** 2);
if ($distance <= 250) $hits++;
}
$_pi = 4 * $hits / count($points);
$pi = pi();
$error = round($pi - $_pi, 3);
echo 'osumia: ' . $hits . '/1000, pii: ' . $_pi . ', virhe: ' . $error . "\n";
以上是关于php 算法2 TIEA211计算pi蒙特卡罗方法的主要内容,如果未能解决你的问题,请参考以下文章
算法之美--1.蒙特卡洛方法计算pi
使用蒙特卡罗模拟多线程计算 Pi
初识蒙特卡罗算法
数学模型:4. 蒙特卡罗模拟
蒙特卡洛方法计算pi
Python蒙特卡罗计算圆周率PI——Numpy性能优化