作业帮 > 数学 > 作业

用matlab求π的近似值 π/4=1-1/3+1/5-1/7……直到某一项的绝对值小于10^-6

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/07/08 02:59:47
用matlab求π的近似值 π/4=1-1/3+1/5-1/7……直到某一项的绝对值小于10^-6
syms n
x=(-1)^(n-1)/(2*n-1);
n=1;
xx=eval(x);%%%可换为xx=subs(x)
y=0;
while abs(xx)>10^(-6)
y=y+xx;
n=n+1;
xx=eval(x);
end
disp(['π的近似值为' num2str(y*4)])
上面的方法由于涉及符号运算,所以特别特别慢,我试了一下15分钟都没算出来,但程序肯定没问题,因为当精度降低后还是有结果的,下面这种方法很快,因为这是matlab所擅长的数值计算.
y=0;
for n=1:1000000%%%这里要尽量的大
xx=(-1)^(n-1)/(2*n-1);
if abs(xx)>10^(-6)
y=y+xx;
else
break
end
end
fprintf('π的近似值为%.6f ,共需迭代%d步\n',y*4,n)
再问: 幸苦了 谢谢了 y=0; for n=1:1000001 s=(-1)^(n-1)/(2*n-1); if abs(s)>10^-6 y=y+s; else end end y=y*4; y 我大致改了一下 你的结果是 π的近似值为3.141591 ,共需迭代500001步 这个 迭代500001步是什么意思...小弟刚学MATLAB 能加q细聊不 502324343