用matlab利用格里高利公式求pi的近似值,要求精确到最后一项的绝对值小于10^-4(用while语句来实现))

网上查到的相关算法不能运行,希望大神可以帮忙指点一下!

同学你好,代码供参考,如有帮助还麻烦题主给个宝贵的采纳支持一下答题呢

s = 0;%初始s
i = 1;%初始i
ds = 1;%初始ds
flag = 1;%初始符号
while (abs(ds)>1e-4)
    s = s+ds;
    i = i + 2;
    flag = -flag; %符号每次换一下
    ds = flag/i;
end
fprintf('pi的近似值%f \n',4*s)

结果:
pi的近似值3.141393