Top: Table of contents
Next: Chapter 4. Plotting environment
Previous: Chapter 2. Getting Start

Chapter 3. Constants, Operators and Functions

我们在此讨论 GNUPLOT 中数字、常数、运算子及函数。

3.1 Number

GNUPLOT 表示数字可分成整数、实数及复数三类:

GNUPLOT 储存数字的原则为,若能以整数方式储存则以整数储存数字,不然以 实数方式储存,其次以复数方式储存。例如在 GNUPLOT 执行

    print 1/3*3
    print 1./3*3
分别得到 0 和 1.0 的结果。这是因前者使用整数计算,而后者采用实数计算的 结果。执行
    print 1234.567
    print 12345 + 0.56789
    print 1.23e300 * 2e6
    print 1.23e300 * 2e8
分别得到 1234.57、12345.6、2.46e+304 和 undefined value 的结果。这些例子 是受到实数的有效位数和所能表现最大数字的限制。这是我们要注意的。



3.2 Operators

GNUPLOT 所提供如 C 语言般的运算子 (operator)。 所有的运算子均可做用在整数、实数或复数上。运算子可分作 Binary Operator 和 Unary Operator,就是分别作用在两个或一个数学式子上,数学式子可为数字 或方程式。




         Unary Operators 
Symbol       Example     Explanation 
  -            -a        unary minus
  ~            ~a        * one's complement
  !            !a        * logical negation
  !            a!        * factorial

表1: Unary Operators




         Binary Operators
Symbol       Example      Explanation 
  **          a**b        exponentiation
  *           a*b         multiplication
  /           a/b         division
  %           a%b         * modulo
  +           a+b         addition
  -           a-b         subtraction
  ==          a==b        equality
  !=          a!=b        inequality
  &           a&b         * bitwise AND
  ^           a^b         * bitwise exclusive OR
  |           a|b         * bitwise inclusive OR
  &&          a&&b        * logical AND
  ||          a||b        * logical OR
  ?:          a?b:c       * ternary operation

表2: Binary Operators



3.3 Functions

在 GNUPLOT 中函数的参数可以是整数,实数或是复数。表3 是 GNUPLOT 所提供的函数。GNUPLOT 画条件函数的方法可由图9 中观察, 其采用类似 C 语言的语法,画出函数