我应该通过在Matlab中使用递归在链接中使用下面的连分式来近似π。我对递归是个新手,不确定如何让这个片段不断重复。
http://www.geom.uiuc.edu/~huberty/math5337/groupe/expresspi.html
这就是我到目前为止已经尝试过的方法,但我没有得到任何正确的答案。
function approximation = recyclePi(limit)
approximation = rpHelper(limit, -1);
approximation = round(approximation, 10);
end
function out = rpHelper(limit, base)
if limit < 1
out = base - 1;
else
base = base + 2;
sq = base.^2;
out = 2 + sq / rphelper(limit - 1, base)
% out = rpHelper(limit - 1, base);
end
end请帮帮我!
发布于 2019-07-14 02:54:42
你的代码看起来没问题。假设“正确答案”是pi的输出,您必须执行以下操作:
p=recyclePi(100)
pi=(p-1).^(-1)*4因为分数以-1 \f25 1+... ^-1,*4开始,因为连分数是4/pi而不是pi
如果这不是你的问题,请澄清你的问题。
https://stackoverflow.com/questions/57021546
复制相似问题