7
$\begingroup$

I'm running a sum, the elements of which are calculated by calling functions that I wrote. The only issue is, I've implemented this pretty stupid solution where I have 4 or 5 (nested!) if statements to handle cases where mathematica returns Indeterminate when it should be returning "0". What I'm essentially looking for is some kind of "If" statement that returns either 0 if Mathematica returns Indeterminate, and evaluates to something I have implemented already otherwise.

Any ideas? I've tried using combinations of the If/ Check functions, without too much luck.

Summary: I'm trying to write an If statement that checks for Indeterminate values, and returns one of two values. Any ideas?

$\endgroup$
2
  • 1
    $\begingroup$ Indeterminate is a special head. When you use If, you need to use === or SameQ instead of == or Equal to test if something is Indeterminate. All of this is in the documentation for Indeterminate. $\endgroup$ Commented Sep 23, 2012 at 4:43
  • 1
    $\begingroup$ Btw, welcome to Mathematica.SE! Could you try to invent a more memorable user name? All those userxxxxxs are no fun. $\endgroup$ Commented Sep 23, 2012 at 7:19

2 Answers 2

9
$\begingroup$

Perhaps you just need a replace operation?

0 / {3, 2, 1, 0} 
{0, 0, 0, Indeterminate} 
% /. Indeterminate -> 0 
{0, 0, 0, 0} 
$\endgroup$
7
$\begingroup$

If has a 4-argument version in which the fourth argument is returned in cases where the condition yield Indeterminate.

$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.