how to remove NaN from anon function?

16 ビュー (過去 30 日間)
Nabeel
Nabeel 2014 年 4 月 25 日
コメント済み: Sara 2014 年 4 月 26 日
I am using this simpsons rule, for computing (x)/sin(x), but i receive NaN, and i dont know how to change NaN to zero for anonfunctions. it works fine for functions where I don't run into terms like 0/0, so im guessing I essentially need to remove the very first term/replace it with 0.
if true
% code
function return_value = simpsons(f,a,b,n)
if numel(f)>1
n=numel(f)-1; h=(b-a)/n;
Area= abs(h/3*(f(1)+2*sum(f(3:2:end-2))+4*sum(f(2:2:end))+f(end)));
else
h=(b-a)/n; xi=a:h:b;
return_value=abs(h/3*(f(xi(1))+2*sum(f(xi(3:2:end-2)))+4*sum(f(xi(2:2:end)))+f(xi(end))));
end

回答 (1 件)

Sara
Sara 2014 年 4 月 25 日
If x is the array in which you want to remove the NaN:
x(isnan(x)) = 0;
  2 件のコメント
Nabeel
Nabeel 2014 年 4 月 25 日
thank you for the reply but this doesn't seem to work, the command only changes the final answer of the entire area/return_value to zero after it has been calculated as NaN
Sara
Sara 2014 年 4 月 26 日
You mean your f is nan sometimes? Can you post your code? Makes it easier to help.

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

カテゴリ

Help Center および File ExchangeElementary Math についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by