If Command

If( <Condition>, <Then> )

Yields a copy of the object Then if the condition evaluates to true, and an undefined object if it evaluates to false.

  • Let n = 3. If(n==3, x + y = 4) yields line x + y = 4, because the condition on number n is met.

  • Let n = 4. If(n==3, x + y = 4) creates an undefined object, because the condition on number n is not met .

If( <Condition>, <Then>, <Else> )

Yields a copy of object Then if the condition evaluates to true, and a copy of object Else if it evaluates to false. Both objects must be of the same type.

Let n be a number. If(n==3, x + y = 4, x - y = 4) yields line x + y = 4 when n = 3, and line x - y = 4 for all n not equal to 3.

If( <Condition 1>, <Then 1>, <Condition 2>, <Then 2>, …​ , <Else (optional)> )

Yields a copy of "Then 1" when first condition is satisfied, "Then 2" if second condition is satisfied etc. If none of the conditions are satisfied and Else is given, this command yields a copy of Else. Otherwise undefined is returned.

If(a ≟ 1, "Matthew", a ≟ 2,"Larry", a ≟ 3, "Vivian", "Alex") When a=1 this returns the text "Matthew", for a=2' it returns "Larry", for a=3 "Vivian" and for all other values of a it yields "Alex".

Conditional Functions

The If command can be used to create conditional functions. Such conditional functions may be used as arguments in any command that takes a function argument, such as Derivative, Integral, and Intersect.

  • f(x) = If(x < 3, sin(x), x^2) yields a piecewise function that equals sin(x) for x < 3 and x2 for x ≥ 3.

  • f(x) = If(0 <= x <= 3, sin(x)) yields a function that equals sin(x) for x between 0 and 3 (and undefined otherwise).

A shorter syntax for this is f(x) = sin(x), 0 <= x <= 3

  • f(x) =If(x<-1,x²,-1<=x<=1,1,-x²+2) yields the piecewise function \(f(x) = \begin{cases} \begin{array}{rcl}x^{2} & :& x < -1 \\ 1 & : &-1 \leq x \leq 1 \\-x^{2} + 2 & :& \text{otherwise}\end{array}\end{cases} \).

Multivariate Conditional Functions

The If command can also be used to create multivariate conditional functions. In this case, the definition of the pieces of the given function must contain all the variables of the given function.

Let sliderVal = 1 be a slider in the interval [1,3]. The command f(x,y,a,b,c) = If(sliderVal==1, x + 0y +a + 0b + c, sliderVal==2, 0x+ y^2 + 0a +2b +0c, x + y + 0a + b +0c) yields a multivariate function that equals x+a+c when the slider value is 1, y2 + 2b when the slider value is 2, and x
y + b
when the slider value is 3.

  • Derivative of If(condition, f(x), g(x)) gives If(condition, f'(x), g'(x)). It does not do any evaluation of limits at the critical points.

  • See section: Boolean values for the symbols used in conditional statements.

If Command in Scripting

If command can be used in scripts to perform different actions under certain conditions.

Let n be a number, and A a point. The command If(Mod(n, 7) == 0, SetCoords(A, n, 0), SetCoords(A, n, 1)) modifies the coordinates of point A according to the given condition. In this case it would be easier to use SetCoords(A, n, If(Mod(n, 7) == 0,0,1)).

Arguments of If must be Objects or Scripting Commands, not assignments. Syntax b = If(a > 1, 2, 3) is correct, but b = 2 or b = 3 would not be accepted as parameters of If.