Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 8b2b1fb157760a0d31e072e140388824 > files > 132

gri-2.8.0-1mdk.i586.rpm

<html>
<head>
<title>Gri: RPN examples</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="FF0000">
<!-- newfile RPNexamples.html "Gri: RPN examples" "Programming Gri" --> 

<!-- @node   rpn Examples, Text, Manipulation of Columns etc, rpn Mathematics -->
<a name="rpnExamples" ></a>

<img src="./resources/top_banner.gif" usemap="#navigate_top" border="0">
<table summary="top banner" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150" valign="top">
<font size=-1>
<br>
Chapters:
</br>
&nbsp;&nbsp;<a href="Introduction.html">1: Introduction</a><br>
&nbsp;&nbsp;<a href="SimpleExample.html">2: Simple example</a><br>
&nbsp;&nbsp;<a href="InvokingGri.html">3: Invocation</a><br>
&nbsp;&nbsp;<a href="GettingMoreControl.html">4: Finer Control</a><br>
&nbsp;&nbsp;<a href="X-Y.html">5: X-Y Plots</a><br>
&nbsp;&nbsp;<a href="ContourPlots.html">6: Contour Plots</a><br>
&nbsp;&nbsp;<a href="Images.html">7: Image Plots</a><br>
&nbsp;&nbsp;<a href="Examples.html">8: Examples</a><br>
&nbsp;&nbsp;<a href="Commands.html">9: Gri Commands</a><br>
&nbsp;&nbsp;<a href="Programming.html">10: Programming</a><br>
&nbsp;&nbsp;<a href="Environment.html">11: Environment</a><br>
&nbsp;&nbsp;<a href="Emacs.html">12: Emacs Mode</a><br>
&nbsp;&nbsp;<a href="History.html">13: History</a><br>
&nbsp;&nbsp;<a href="Installation.html">14: Installation</a><br>
&nbsp;&nbsp;<a href="Bugs.html">15: Gri Bugs</a><br>
&nbsp;&nbsp;<a href="TestSuite.html">16: Test Suite</a><br>
&nbsp;&nbsp;<a href="Acknowledgments.html">17: Acknowledgments</a><br>
&nbsp;&nbsp;<a href="License.html">18: License</a><br>
<br>
Indices:</br>
&nbsp;&nbsp;<a href="ConceptIndex.html"><i>Concepts</i></a><br>
&nbsp;&nbsp;<a href="CommandIndex.html"><i>Commands</i></a><br>
&nbsp;&nbsp;<a href="BuiltinIndex.html"><i>Variables</i></a><br>
</font>
<td width="500" valign="top">
<map name="navigate_top">
<area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top">
<area alt="ReversePolishMath.html#rpnMathematics" shape="rect" coords="516,2,532,24" href="ReversePolishMath.html#rpnMathematics">
<area alt="Gri: RPN column manipulation" shape="rect" coords="557,2,573,24" href="ManipulatingColumns.html">
<area alt="Gri: Text in Gri" shape="rect" coords="581,2,599,24" href="Text.html">
</map>
<map name="navigate_bottom">
<area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top">
<area alt="Gri: Text in Gri" shape="rect" coords="581,2,599,24" href="Text.html"></map>
<h3>10.9.8: rpn Examples</h3>


Here are some reverse-polish expressions and the corresponding algebraic
interpretations:
<p>
<ul>
<li> `<font color="#82140F"><code>{rpn 1 2 + 10 / }</code></font>'
= (1+2)/10       
<li> `<font color="#82140F"><code>{rpn .a. .b. + .c. + .d. / }</code></font>'
= (.a.+.b.+.c.)/.d.
<li> `<font color="#82140F"><code>{rpn e 2 / }</code></font>'
= e/2 (Gri knows values of ``e'' and ``pi'')
<li> `<font color="#82140F"><code>{rpn 23 sin 100 * 12 cos + }</code></font>'
= cos(12) + 100sin(23)
<li> `<font color="#82140F"><code>{rpn 5 2 power }</code></font>'
= 25
<li> `<font color="#82140F"><code>{rpn 2 log exp }</code></font>'
= exp(log 2)
<li> `<font color="#82140F"><code>{rpn 2 ln exp10 }</code></font>'
= 10^ln2
<li> `<font color="#82140F"><code>{rpn 1.7 floor }</code></font>'
= 1 (rounds down to nearest integer.  Note that the floor of -1.7 is -2)
<li> `<font color="#82140F"><code>{rpn 10.1 2 remainder }</code></font>'
= 0.1 (remainder of 10.1 after division by 2; see C function `<font color="#82140F"><code>remainder(x,y)</code></font>')
<li> `<font color="#82140F"><code>{rpn -10.1 2 remainder }</code></font>'
= -0.1
<li> `<font color="#82140F"><code>{rpn -10.1 -2 remainder }</code></font>'
= -0.1
<li> `<font color="#82140F"><code>{rpn .num. 10 &gt; }</code></font>'
= 1 if 10 exceeds .num., or 0 otherwise
</ul>
<p>

NOTES:
<ul>
<li>
The units of `<font color="#82140F"><code>sin</code></font>', `<font color="#82140F"><code>cos</code></font>', etc, are degrees, not radians.  
<li>
The scales of the plot are accessible to `<font color="#82140F"><code>rpn</code></font>'.  For example, with
the command
<p>
<TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%">
<TR>
<TD>
<PRE>
<font color="#82140F">
draw label "hi" at 10 20
</font></PRE>
</TD>
</TR>
</TABLE>
<p>

you draw the indicated string at the indicated location in
user coordinates.  To put it 0.15 centimetres to the right of this
location and 0.1 centimetres lower, you could do as follows:
<p>
<TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%">
<TR>
<TD>
<PRE>
<font color="#82140F">
draw label "\label" at \
    {rpn .x. xusertocm 0.15 + xcmtouser} \
    {rpn .y. yusertocm 0.10 - ycmtouser}
</font></PRE>
</TD>
</TR>
</TABLE>
<p>
(Note that the x and y scales have individual translations from "user"
to "cm" coordinates.)
<li>
Some conversion factors are built into `<font color="#82140F"><code>rpn</code></font>'; `<font color="#82140F"><code>cmtopt</code></font>'
converts from centimetres to points (by dividing by 28.45; the
conversion factor to inches is 72.27) while `<font color="#82140F"><code>pttocm</code></font>' converts from
points to centimetres.  For example, here is how to label a data curve
with a label placed near the last y-value of the data set:
<p>
<TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%">
<TR>
<TD>
<PRE>
<font color="#82140F">
draw curve
.y. = {rpn ..ylast.. yusertocm 0.5 - ycmtouser}
draw label "Smoothed" at ..xlast.. .y.
</font></PRE>
</TD>
</TR>
</TABLE>
<p>
</ul>
<p>

</table>
<img src="./resources/bottom_banner.gif" usemap="#navigate_bottom" border="0">

</body>
</html>