我们在此讨论 GNUPLOT 中数字、常数、运算子及函数。
GNUPLOT 表示数字可分成整数、实数及复数三类:
正数 : 约 4.19e-307 至 1.67e+307
零 : 0
负数 : 约 -1.67e+308 至 -4.19e-307
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 的结果。这些例子
是受到实数的有效位数和所能表现最大数字的限制。这是我们要注意的。
GNUPLOT 所提供如 C 语言般的运算子 (operator)。 所有的运算子均可做用在整数、实数或复数上。运算子可分作 Binary Operator 和 Unary Operator,就是分别作用在两个或一个数学式子上,数学式子可为数字 或方程式。
Unary Operators
Symbol Example Explanation
- -a unary minus
~ ~a * one's complement
! !a * logical negation
! a! * factorial
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
在 GNUPLOT 中函数的参数可以是整数,实数或是复数。表3 是 GNUPLOT 所提供的函数。GNUPLOT 画条件函数的方法可由图9 中观察, 其采用类似 C 语言的语法,画出函数