how to remove NaN from anon function?

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

Antworten (1)

Sara
Sara am 25 Apr. 2014

0 Stimmen

If x is the array in which you want to remove the NaN:
x(isnan(x)) = 0;

2 Kommentare

Nabeel
Nabeel am 25 Apr. 2014
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 am 26 Apr. 2014
You mean your f is nan sometimes? Can you post your code? Makes it easier to help.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Elementary Math finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 25 Apr. 2014

Kommentiert:

am 26 Apr. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by