この式の反復バージョンを計算する必要があります。
f(i)=integral ( x^i/(4x+1) ) from 0 to 1
次の式を使用します。
f(0)=ln(5)/4;
f(i)=1/(i+1) - 4*f(i+1);
次のことを試してみました: 0 から 1 までの積分 ( x^100/(4x+1) ) を計算し、結果を保存します。次に、反復バージョンを使用して、この結果から f(i) を計算します。
しかし、誤差が大きすぎるため、間違った結果が得られます。
このエラーは、i<=25 の場合にのみ許容されます。
このアルゴリズムが安定していない理由と、i=100 以上から結果を計算する解決策があるかどうかを知りたいです。
これはコードです:
function y=Integral(i,max)
if i==0
y=1/4*log(5);
elseif i==max
y=0.0;
else
y=1/(i+1)-4*Integral(i+1,max);
end
end
この関数では、累積された誤差が大きすぎるため、正確な値を取得することはできません。この式のバージョン。