Matlab中的递归逼近pi
我应该通过在Matlab中使用递归使用下面链接中的连分数来近似pi。我是递归新手,不知道如何让分数不断重复 这是我到目前为止尝试过的,但是我没有找到正确的答案Matlab中的递归逼近pi,matlab,recursion,continued-fractions,Matlab,Recursion,Continued Fractions,我应该通过在Matlab中使用递归使用下面链接中的连分数来近似pi。我是递归新手,不知道如何让分数不断重复 这是我到目前为止尝试过的,但是我没有找到正确的答案 function approximation = recyclePi(limit) approximation = rpHelper(limit, -1); approximation = round(approximation, 10); end function out = rpHelper(limit, base) if
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
函数近似值=recyclePi(极限)
近似值=rpHelper(极限值,-1);
近似值=圆形(近似值,10);
终止
功能输出=Rhelper(极限,基准)
如果限值<1
out=基-1;
其他的
基数=基数+2;
sq=基准。^2;
out=2+sq/rphelper(限值-1,基准)
%out=rpHelper(限值-1,基准);
终止
终止
请帮忙 您的代码看起来正常。假设“正确答案”是pi的输出,则必须执行以下操作:
p=recyclePi(100)
pi=(p-1).^(-1)*4
-因为分数以1+开始。。。
^-1,*4,因为连分数给出的是4/pi,而不是pi
如果这不是你的问题,请澄清你的问题