こんにちは皆さん、以下に示すように、アルゴリズムのプログラミング コードを作成する際に問題が発生しました。
このプログラムは、(現在の近似値 - 前回の近似値)/現在の近似値として定義される近似誤差が 0.01 未満になると終了します。(f(xr)i+1 - f(xr)i)/f(xr)i+1 と簡略化できます。以下は私が書いたコードです。上記の状況が満たされたときに停止する反復をプログラムする方法を知りたいです。
xl = input('Enter lower limit : ');
xu = input('Enter upper limit : ');
xr = (xl+xu)/2;
R = 3; V = 30;
fl = (pi*R*xl^2)-(pi*(xl^3)/3)-V; % between is there anyway can call these functions
fu = (pi*R*xu^2)-(pi*(xu^3)/3)-V; other than typing 3 times
fh = (pi*R*xr^2)-(pi*(xr^3)/3)-V;
while relative error is less than 0.01 then display value of xr
if fl*fu<0
xu = xr;
elseif fl*fu>0
xl = xr;
end
end