If コマンド

If( <条件>, <成立時> )

この条件が true と評価される場合は,オブジェクト 成立時 の コピーを返す.条件が false と評価される場合は,未定義のオブジェクトを返す.

  • n = 3 とするとき, If(n==3, x + y = 4) は,直線 x + y = 4, を返す. ( n の条件が true であるから.)

  • n = 4 とするとき, If(n==3, x + y = 4) は, 未定義 オブジェクトを返す.( n の条件が false であるから.)

If( <条件>, <成立時>, <不成立時> )

条件が true と評価された場合はオブジェクト 成立時 のコピーを,false と評価された場合はオブジェクト 不成立時 のコピーを返す.両方のオブジェクトは同じ型でなければならない.

If( <条件 1>, <成立時 1>, <条件 2>, <成立時 2>, …​ , <不成立時 (オプション)> )

最初の条件が満たされると 成立時 1 のコピーを,2番目の条件が満たされると 成立時 2 のコピーを返す.どの条件も満たされないとき,不成立時 が指定されている場合は,このコマンドは 不成立時 のコピーを返す.それ以外の場合は未定義を返す.

If(a ≟ 1, "Matthew", a ≟ 2,"Larry", a ≟ 3, "Vivian", "Alex") a=1 ならテキスト "Matthew" を返す. a=2 ならテキスト "Larry" を返す.a=3 ならテキスト "Vivian",それ以外の a の値なら "Alex" を返す.

n を数値としたとき, If(n==3, x + y = 4, x - y = 4) のコマンドは,n=3 のとき,直線 x + y = 4 を返し,そうでないときは,直線 x - y = 4 を返す.

この書式は CAS ビューではサポートされていない.

条件付き関数

If コマンドは条件付き関数を作成するために使用できる.そのような条件付き関数は,Derivative, Integral, Intersect などの関数引数を取る任意のコマンドで引数として使用可能である.

  • f(x) = If(x < 3, sin(x), x^2) は,x < 3 では sin(x)x ≥ 3 では x2 の区分関数を返す.

  • f(x) = If(0 <= x <= 3, sin(x)) は, 0 と 3 の間で sin(x),それ以外は未定義の関数を返す.

これを短くした書式は以下の通り: f(x) = sin(x), 0 <= x <= 3

  • f(x) =If(x<-1,x²,-1<=x<=1,1,-x²+2) は,区分関数 \(f(x) = \left\\{\begin\{matrix}\{} x^\{2}& : &x < -1\\ 1& :& -1 ≤ x ≤ 1\\ -x^\{2} + 2& : &\text\{otherwise} \end\{matrix}\right \) を返す.

Notes:

  • If(条件, f(x), g(x)) の導関数は,If(条件, f'(x), g'(x)) を与える.これは特異点での極限の評価を行なわない.

  • 条件文で使用される記号については,セクション真偽値を参照のこと.

スクリプトのIf コマンド

If コマンドは,スクリプトの中で特定の条件下で異なる処理を実行するために使用することができる.

n を数値, A を点とする.コマンド If(Mod(n, 7) == 0, SetCoords(A, n, 0), SetCoords(A, n, 1))A の座標を与えられた条件で変える.これは SetCoords(A, n, If(Mod(n, 7) == 0,0,1)) の方が簡単な書式である.

Ifの引数は,オブジェクトまたはスクリプティング_コマンドでなければならず,代入は適切でない.書式 b = If(a > 1, 2, 3) は正しいが,b = 2b = 3Ifのパラメータとしては適切でない.