Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中的递归逼近pi_Matlab_Recursion_Continued Fractions - Fatal编程技术网

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

我应该通过在Matlab中使用递归使用下面链接中的连分数来近似pi。我是递归新手,不知道如何让分数不断重复

这是我到目前为止尝试过的,但是我没有找到正确的答案

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

如果这不是你的问题,请澄清你的问题