本文主要是介绍【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=4m/n;
% %调用例子
% clc,clear
% [api]=montcpi(19999999);
%vpa(api,50)
ans =
3.1417683570884178401172448502620682120323181152344
这篇关于【matlab 圆周率计算】matlab 求圆周率的两种算法实现比较的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!