フィルターのクリア

Bisection method, Numerical analysis

1 回表示 (過去 30 日間)
yonatan friedman
yonatan friedman 2020 年 11 月 6 日
編集済み: Matt J 2020 年 11 月 6 日
y=@(x) ((x+1)^2)*(exp(x^2-2)-1);
a=0; b=1;
m=(a+b)/2;
while abs(y(m))<0.01
disp(m)
if y(a)*y(m)<0
b=m;
elseif y(b)*y(m)<0
a=m;
end
end
~~~~~
i want to find m<0.01?
what am i doing wrong?

採用された回答

Matt J
Matt J 2020 年 11 月 6 日
編集済み: Matt J 2020 年 11 月 6 日
a=0; b=1;
m=(a+b)/2;
while abs(y(m))>0.01
if y(a)*y(m)<0
b=m;
elseif y(b)*y(m)<0
a=m;
end
m=(a+b)/2;
[m,abs(y(m))]
end
Aside from that, however, your function does not have a root in the interval [0,1], as can be seen from the following:
fplot( @(x) ((x+1)^2)*(exp(x^2-2)-1) ,[0,1]);
Warning: Function behaves unexpectedly on array inputs. To improve performance, properly vectorize your function to return an output with the same size and shape as the input arguments.
  1 件のコメント
yonatan friedman
yonatan friedman 2020 年 11 月 6 日
thank you very much

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeEmbedded Coder についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by