Appendix 1 数式入力

Appendix 1 数式入力#

数式入力が指定されているときには,関数を数式で入力します。入力の最後の関数定義が,各入力使用の関数を定義している必要があります。入力形式は,Fortran/C 言語 に近い形です。その規則について示します。

  1. コメント行

    行の先頭を * とします。

  2. 式の区切り

    式の区切りは ; (セミコロン)で示します。1 行に複数の式が入ってもかまいません。また、一つの式が複数行にわたってもかまいません。

  3. 数式の終了

    数式の最後は ;; (セミコロン 2 個)で示します。

  4. 定数

    定数は正負の整数定数および浮動小数点定数です。文字間に空白を含めません。

    : 123, -123, 123., 0.123, 1.23e4, -1.23e-4, 1.23E04, -1.23E+004

    使用不可: 1.23+5, 1.23d5, 1.23D-5, 1.23 e-4

  5. 変数

    先頭がアルファベット(大文字、小文字)で始まる連結した文字列。大文字と小文字は区別されます。数字を含んでもかまいません。 _ (アンダースコア)以外の特殊文字は使用できません。19 文字以下とします。PI は円周率で予約されています。

    : ABC, abc, Abc, A123, a123, a_123

    使用不可: 1abc, a-123, abc#123

  6. 次の通常の式が使えます。演算順序は通常の規則に従います。オペランドは、定数、変数および関数とします。

    • +: 加算

    • -: 減算

    • *: 乗算

    • /: 割算(実数値で行われます)

    • **: べき乗

    • (): 括弧くくり

    : a+b-c*d/e, -a*(b + c)**d, 2**-5

    使用不可: (-2.)**5.

  7. ライブラリ関数

    以下のライブラリ関数が使用できます。定義は通常のものと同じです。定義域は通常と同じです。これらの関数を使用するときは、引数が定義域内に収まるように注意してください。

    使用可能な関数: sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, asinh, acosh, atanh, sqrt, exp, log, log10

  8. 代入文

    左辺を変数とし、右辺を定数あるいは式とします。入力で変数と規定された変数以外は、この代入文の前に値が決まっているものとします。

    #
    a=1.23;
    b=sin(a*PI/180);
    
  9. 関数定義

    入力で変数と規定された変数を入力とする関数を定義できます。

    #
    a=1.23; b=a+5;
    f(x)=a*x+sin(b*x**2);
    g(x,t) = f(x)**2+t;
    
    使用不可#
    a=sin(x); f(x)=a**3;;
    

    上記の例は a(x)=sin(x); f(x)=a(x)**3;; とすれば問題ありません。

  10. 関数定義範囲

    関数の変数の範囲を以下のように定義できます。範囲定義には < (less) と <= (less equal)が使用できます。>>= は使用できません。定義範囲外では値はゼロとします。区分的に定義された関数を加えあわせることができます。

    例 1#
     [x<-10] f1(x)=5*x;
     [-10<=x<=10] f2(x)=10*x**2;
     [10<x] f3(x)=x**3;
     f(x)=f1(x)+f2(x)+f3(x);;
    
    例 2#
     a=5; b=10;
     [a<=x][b<y] f(x,y)=x*y;;