0
二分法のコードを使用しましたが、残念ながらそれは問題ではありません。このコードには、ユーザー定義の精度と反復回数のカウンターも含まれています。私が得ているエラーは、コードの最後の行です:未定義の関数または変数 'c'。二分法のコードでエラーが発生しました
a=-5;
b=0;
tol = input('What precision would you like? ','s')
fa=a^3-20+exp(a);
fb=b^3-20+exp(b);
counter=1
while abs(b-a) > tol
c=(a+b)/2;
fx = c*c-2;
if fa*fc<0
b=c;
fb=fc;
elseif fb*fc<0
a=c;
fa=fc;
else
break
end
fprintf('Just finished iteration #%d\n', counter);
counter=counter+1;
end
x=c;
パラメータ 's'で 'input'が' char'の文字列を返すので、 'tol'は文字列で、' s 'を削除するか 'tol'をnum(' str2num') 。あなたのコードをデバッグしようとすると、おそらく 'while'ループは実行されないでしょう。したがって、' c'が正しく設定されていません。 –