Surface Plotter - 文法参考


複雑さに関係なく、全ての関数の式はオペランドと演算子によって作られます。

オペランド

オペランドは二種類に別れます。 一つは数値オペランドともう一つは論理(ブール)オペランド。
論理オペランドは真と偽の二つの値しか持つことが出来ず、数値オペランドを論理演算子で処理した結果です。 (例: 2 < 3 は真で、論理型です)
数値オペランドは定数、変数、内部関数(式)です。

定数

  Surface Plotter は以下の二つの定数を定義しています:

e 自然数 2.7182818.. pi 半径1の円の面積(パイ) 3.14159265..

変数
有効な変数は x と y だけです。
これらの変数の最小値と最大値を変えるために、右側にある設定パネルを利用してください。
もっと詳しく、設定ページに参考してください。

内部関数

  abs(x)        xの絶対値を返します。
  acos(x)       xのアークコサイン(逆余弦)を計算します。
  acosh(x)      xの逆双曲線余弦を計算します。
  asin(x)       xのアークサイン(逆正弦)を計算します。
  asinh(x)      xの逆双曲線正弦を計算します。
  atan(x)       xのアークタンジェント(逆正接)を計算します。
  atanh(x)      xの逆双曲線正接を計算します。
  ceil(x)       xの小数点以下を切り上げます。
  cos(x)        xのコサイン(余弦)を計算します。
  cosh(x)       xのハイパボリックコサイン(双曲線余弦)を計算します。
  exp(x)        指数関数eのx乗を計算します。
  floor(x)      xの小数点以下を切り捨てます。
  frac(x)       xの小数点以下を返します。
  int(x)        xの整数値を返します。
  ln(x)         xの自然対数を計算します。
  log(x)        xの常用対数(基底10の対数)を計算します。
  round(x)      xに四捨五入を行います。
  sign(x)       x<0ならば -1、x>0ならば 1、x=0ならば0を返します。
  sin(x)        xのサイン(正弦)を計算します。
  sinh(x)       xのハイパボリックサイン(双曲線正弦)を計算します。
  sqr(x)        xの二乗を計算します。
  sqrt(x)       xのルート(平方根)を計算します。
  tan(x)        xのタンジェント(正接)を計算します。
  tanh(x)       xのハイパボリックタンジェント(双曲線正接)を計算します。

  Surface Plotter バーション 1.20 以降:
  
  min(a,b)      a と b の中で最小の値を返します。
  max(a,b)      a と b の中で最大の値を返します。
  atan2(a,b)    a と b で定義される角度のアークタンジェントを -pi から pi までの範囲で計算します。
  mod(a,b)      IEEE 754 によって定義される a を b で割った余りを計算します。

  
注釈:

演算子

Surface Plotter では算術演算子、関係演算子(等値演算子を含む)、論理演算子 の三種類の演算子があります。
関係演算子と論理演算子は 「 if 」 関数の中でしか使用できません。 又、算術演算子は数値を処理する演算値です。
この演算子は BASIC 言語で使用されているのと全く同じです。

演算子リストと優先順位

 
  -----------------------------------------------------------------------------
   演算子    優先順位       機能            種類          結合規則
  -----------------------------------------------------------------------------
      +      第一 (最高)    単項プラス      単項          右から左に実行される
      -                     単項マイナス
  -----------------------------------------------------------------------------
      ^      第二           べき乗          べき乗        右から左に実行される
  -----------------------------------------------------------------------------
      *      第三           乗算            乗除算        左から右に実行される
      /                     除算                       
  -----------------------------------------------------------------------------
      +      第四           加算            加減算        左から右に実行される
      -                     減算
  -----------------------------------------------------------------------------
  
注釈: 括弧 ( ) 内の式は計算されてから一つのオペランドとして扱われる。

関係演算子と論理演算子

バーション 1.10 になってから、Surface Plotter の関数パーサーは関係演算子と論理演算子が 理解できるようになりました。
定義されている関係演算子と論理演算子は:

  ----------------------------------------------------------
   演算子     処理                  種類         オペランド型
  ----------------------------------------------------------
      <       より小さい            関係演算子    数値式
      >       より大きい            関係演算子    数値式
      <=      等しいか、より小さい   関係演算子    数値式
      >=      等しいか、より大きい   関係演算子    数値式
      =       等しい                等値演算子    数値式
      <>      等しくない            否定演算子    数値式
      &       論理積                論理演算子    論理式
      |       論理和                論理演算子    論理式
      !       否定                  論理演算子    論理式
  ----------------------------------------------------------  
  
注釈: 以上記入された演算子の処理結果は論理型です。その結果は 「 if 」 関数の 条件式としてしか使うことができません。

「 if 」 関数

「 if 」 関数の書式は次の通りです:

if(条件式, 式 1, 式 2)

条件式が真なら、Surface Plotter は式 1を評価します。 そうでなければ、式 2を評価します。
例えば:

if(x < 0, -x, x)

と書けば、x が負の場合 -x、正の場合はそのまま x の値を返します。(x の絶対値)
次の式も有効です:

z = (fx,y) = sin(if(x < 0; 2*x, 3*x))
z = f(x,y) = if(x = 0,0,sin(x)/x) - 2

最後として、「 if 」 関数を複数の入れ子にすることもできます。例えば、sign(x) の代わりに、

z = f(x,y) = if(x <= 0, if(x = 0, 0, -1), 1)

と書いても結構です。


戻る
御意見やプログラムの欠陥のお知らせを スーヨノ ヤントへ寄せて下さい