matlab中求 п

思路一:

在這裏插入圖片描述

a=pi%沒有;所以要打印a
y=0;
g=-1;
n=input('n=? ');
for i=1:n
    g=-g;
    y=y+g*1/(2*i-1);%遞歸法求得
end
pai=4*y
結果:
a =3.1416
n=? 1000	%輸入n的值,決定了pi的精確程度
pai =3.1406

思路二:

原理:
在這裏插入圖片描述

梯形法
a=0;
b=1;
%0~1的定積分
n=input('n=?');	%把積分區間分爲n等分
h=(b-a)/n		%計算每個區間的寬度
x=a:h:b;		%自變量的取值
f=sqrt(1-x.*x);	%f的函數表達式
s=[];			%定義空矩陣
for k=1:n
      s1=(f(k)+f(k+1))*h/2;	%梯形面積
      s=[s,s1];				%s1追加到矩陣s中去
end
%循環結束後s總存放着所有小梯形的面積
pai=4*sum(s)
結果:
pai =
    3.1416

思路三:

在這裏插入圖片描述

s=0;%用來統計落在圓內的點數
n=input('n=? ');%投點總數
for i=1:n
    x=rand(1);
    y=rand(1);
    if x*x+y*y<=1%所投的點落在院內
        s=s+1;
    end
end
pai=s/n*4
結果:
n=? 10000
pai =
    3.1356
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章