4
$\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
  • $\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$
    – rm -rf
    Sep 23 '12 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$ Sep 23 '12 at 7:19
7
$\begingroup$

Perhaps you just need a replace operation?

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

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

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.