【matlab 圓周率計算】matlab 求圓周率的兩種算法實現比較

%author:laidefa
%data:2014-09-19
%丘德諾夫斯基公式求圓周率
function mpi=qdnfsj(m)
i=m;
s=13591409;
for n=1:i
A=(factorial(6n)(13591409+54514013n))/(factorial(3n)factorial(n)3*(-640320)(3n));
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=2rand(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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章