用matlab写程序求圆周率(精度e=10^-7),求大神帮助,万分感谢 5

 我来答
匿名用户
2015-12-12
展开全部
(1)不要显示的在语句后面加上分号
(2)不知道你有没有保存在正确的路径上
(3)在命令符下先clear一下
我修改了一点点,你看一下:

function calpi(n)
syms a;
for i=1:n
a=sqrt(2-sqrt(4-a^2));
end
a=subs(a,'a','1');
y=3*2^n*vpa(a,n+5);
Pi=y
保存在work文件夹下,calpi.m
>>clear
>>calpi(100)
>>Pi =

3.1415926535897932384626433832795
你自己再弄一下,应该可以的!
追问
亲,精度呢,这条百度上有哎,我要的是能控制精度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我行我素850915
2015-12-12 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1691万
展开全部
圆周率的计算方法很多,我提供一个:

n=1;
absol=0.1;
while absol>1e-7
syms a
for i=1:n
a=sqrt(2-sqrt(4-a^2));
end
a=subs(a,'a','1');
y=3*2^n*vpa(a,n+5);
absol=abs(double(pi-y));
disp('绝对误差大于1e-7,再计算')
n=n+1;
end
disp('绝对误差小于1e-7,不再计算')
s=sprintf('计算次数n=%d',n);
disp(s)
Pi=y
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式