summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: a328aaf)
raw | patch | inline | side by side (parent: a328aaf)
author | oetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa> | |
Wed, 7 Jun 2006 21:01:35 +0000 (21:01 +0000) | ||
committer | oetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa> | |
Wed, 7 Jun 2006 21:01:35 +0000 (21:01 +0000) |
program/doc/cdeftutorial.pod | patch | blob | history |
index bfe94ad0d9d3584062827d2954cc27c301e90fb8..fc24a34e3f9196f08bc132efd4c8613bc2d70335 100644 (file)
=head2 Degrees Celsius vs. Degrees Fahrenheit
+To convert Celsius into Fahrenheit use the formula
+F=9/5*C+32
+
rrdtool graph demo.png --title="Demo Graph" \
DEF:cel=demo.rrd:exhaust:AVERAGE \
- CDEF:far=cel,32,-,0.55555,* \
+ CDEF:far=9,5,/,cel,*,32,+ \
LINE2:cel#00a000:"D. Celsius" \
LINE2:far#ff0000:"D. Fahrenheit\c"
and puts the values in variable "cel". The CDEF used is evaluated
as follows:
- CDEF:far=cel,32,-,0.5555,*
- 1. push variable "cel"
- 2. push 32
- 3. push function "minus" and process it
- The stack now contains values that are 32 less than "cel"
- 4. push 0.5555
- 5. push function "multiply" and process it
- 6. the resulting value is now "(cel-32)*0.55555"
-
-Note that if you take the Celsius to Fahrenheit function you should
-be doing "5/9*(cel-32)" so 0.55555 is not exactly correct. It is close
-enough for this purpose and it saves a calculation.
-
+ CDEF:far=9,5,/,cel,*,32,+
+ 1. push 9, push 5
+ 2. push function "divide" and process it
+ the stack now contains 9/5
+ 3. push variable "cel"
+ 4. push function "multiply" and process it
+ the stack now contains 9/5*cel
+ 5. push 32
+ 6. push function "plus" and process it
+ the stack contains now the temperature in Fahrenheit
+
=head2 Changing unknown into zero
rrdtool graph demo.png --title="Demo Graph" \