【matlab 圆周率计算】matlab 求圆周率的两种算法实现比较

来源:互联网 发布:光伏模拟软件 编辑:程序博客网 时间:2024/06/09 02:36

%author:laidefa
%data:2014-09-19
%丘德诺夫斯基公式求圆周率
function mpi=qdnfsj(m)
i=m;
s=13591409;
for n=1:i
A=(factorial(6*n)(13591409+54514013*n))/(factorial(3*n)*factorial(n)^3(-640320)^(3*n));
s=s+A;
end
mpi=(426880*sqrt(10005))/s;
end

% % %调用例子
% clc,clear
% mpi=qdnfsj(20);
% vpa(mpi,50)

ans =

3.1415926535897411575604110112180933356285095214844

%author:laidefa
%data:2014-09-19
%function:蒙特卡罗方法求圆周率
function [api]=montcpi(n)
format long;
m=0;
x=2*rand(n,2)-1;
for i=1:n
if x(i,1)^2+x(i,2)^2<=1
m=m+1;
end
end
api=4*m/n;

% %调用例子
% clc,clear
% [api]=montcpi(19999999);
%vpa(api,50)

ans =

3.1417683570884178401172448502620682120323181152344

原创粉丝点击