# rcalc dokumentasie

Copyright (C) 2000 Free Software Foundation, Inc.

Die prograam en dokumentasie is vry; jy kan dit versprei en/of veraander onder die voorwaardes van die GNU General Public License as uitgedruk by die Free Software Foundation; of vertaling 2 van die License, of enige later vertalings. Die prograam is verdeel in die hoop dat dit sal help, maar SOONDER ENIGE WAARBOG. Sien die GNU General Public License vir verder inligting.

Jy moes a copie van die GNU General Public License gekry saam met die prograam; of skryf vir die Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

Vir verder inligting, sien die papier COPYING.

## Inhoudsopgawe

### 1. Introduksie

- 1.1. Terugkoppeling

### 2. Gebruik

- 2.1 Basies
- 2.2 Konfigurasie
  - 2.2.1 Optrede
  - 2.2.2 Verskyning

### 3. Raadpleging

- 3.1 Beveele
  - 3.1.1 Exit, Quit
  - 3.1.2 Help, Man, Helpwin, ?
  - 3.1.3 Ls, Who
  - 3.1.4 Rm, Clear
  - 3.1.5 Mode, Deg, Rad
- 3.2 Funksies
  - 3.2.1 Int
  - 3.2.2 Abs
  - 3.2.3 Log, Ln
  - 3.2.4 Sqrt
  - 3.2.5 Sin, Cos, Tan, ASin, ACos, ATan
  - 3.2.6 Sinh, Cosh, Tanh, ASinh, ACosh, ATanh
  - 3.2.7 Fac
- 3.3 Konstants
  - 3.3.1 Pi
  - 3.3.2 E

### 4. User-defined functions

- 4.1 Introduction
- 4.2 Usage

- 4.2.1 Define a new function
- 4.2.2 Use a function
- 4.2.3 List functions
- 4.2.4 Remove a function

- 4.3 Error messages

## 1. Introduksie

rcalc is 'n vinnige, simbolies rekenaar vir GNOME, met:

- infix notation: ekspressies is ingesit soos dit neer geskryf is eg: `1+3*sin(5)`
- variables: dit is waar die 'simbolies' in kom; as jy 'n ekspressie soos `a=1*2+3*4` insit, die antwoord is gestoor in a variant met die naam van `a`. Dit kan dan in verder ekspressies gebruik woord, soos `b=sqrt(a*5)`. Variante bly voorbestaan geduurend rcalc sessies totdat jy hulle uitwis.

rcalc is daarvoor nie soos ander rekenaar programme, soos xcalc, kcalc or gcalc. Dit tans steun simple funksies soos `/`, `*`, `+`, `-` en `^` (`verhoog na die stengte van'), en ook meer komplise funksies soos die trigonometries funksies (`sin`, `cos`, `tan`, `asin`, `acos` en `atan`), en die funksies (`sinh`, `cosh`, `tanh`, `asinh`, `acosh` en `atanh`), `sqrt`, `log`, `ln`, `abs` en `int`. Dit het ook 2 ingeboude konstante, `pi` en `e`.

rcalc is nie gemeent om 'n vollidige matematies pack te wees nie; net 'n vinnige, simple en gemaklik wetenskaplike rekenaar. As jy 'n voledige matematiese prograam soek, kyk na bc of Dr Genius (altwee gratis), of Matlab..

### 1.1 Terugkoppeling

Kyk na die rcalc website, http://rcalc.sourceforge.net/ vir die laatste bewerking. Daar is ook forums vir generaal diskussie, help versoekke en voorstelle: veel vry om hul te gebruik.

As jy 'n 'bug' vind, gaan na the rcalc bugs page.

Jy kan ook vir my skryf op rcalc@inauspicious.org.

## 2. Gebruik

### 2.1 Basies

Waneer jy rcalc begin, jy sal 'n venster sien met (``rcalc>` '); ekspressies is gevoenlik ingetik heir soos jy did afskryf op papier. Die eksepsie vir dit is dat rcalc ondersteun nie 'implied multiplication' nie: Jy kan nie `3sin(2pi)` indruk nie. Die korrecte ekspressie is `3*sin(2*pi)`.

As jy dit indruk sal jy dit sien:

    rcalc> 3*sin(2*pi)
            Ans = 0.3283278207189595

Die antwoord is genoemd met die naam '`Ans`'; alle antwoorde is gestoor in `Ans` tensy jy anders stel. Die antwoord can dan in ander rekeninge gebruik woord:

    rcalc> Ans+1
            Ans = 1.328327820718959

Die antwoord kan gestoor word in 'n ander variant as '`Ans`':

    rcalc> MyVariable = Ans*5
            MyVariable = 6.641639103594797

Die antwoord van die rekening is nou gestoor in '`MyVariable`';' `Ans`' is allen gelos.

Variant naame, en bislis funksie, bevel en konstant naame, is letterkas-onsiensitief: `MyVariable`, `myvariable`, `MYVARIABLE` en `MyVaRiAbLe` almal het die selfde waarde.

Variante is gebeheer met die ``ls`' en``rm`' bevelle in 'n gelyksoortig manier soos files wat in 'n shell beheer is:

    rcalc> ls
            Ans      = 1.328327820718959
            MyVariable = 6.641639103594797
    rcalc> rm Ans
    rcalc> ls
            MyVariable = 6.641639103594797

Daar is 'n ``man`' bevel; tik in ``man man`'. Nog 'n shell-lyke kenmerk is dat jy kan meer as een bevel/ekspressie op die selfde lyn insit met (`;`):

    rcalc> a=0.223; Tb=0.044; 1/Tb*(1-Ta/Tb)
            Ta = 0.223
            Tb = 0.044
            Ans = -92.45867768595043

Vir dai wat Matlab gebruik het, meeste van die shell-lyke bevelle het Matlab aangenome naame, vir voorbeeld `help`, `helpwin`, `who` en `clear`.

### 2.2 Konfigurasie

Om rcalc te konfigar, kies Preferences... van die File spyslys. Die venster wat opkom het drie keuse, wat kan deur gebly woord met die strokies bo.

#### 2.2.1 Optrede

Jy kan die manier met hoe rcalc loop verander deur heirdie venster. Jy kan stel waar die scrollbar sal wees, hoeveel lyne moet geonthou wees vir scrolling, of stel dat die cursor moet flits en of daar 'n 'beep' sal wees op seker okkasies.

#### 2.2.2 Verskyning

Met die venster kan jy die tikskrif en kleur verander. Die beste te gebruik vir rcalc, is tikskrif soos Courier en Lucidatypewriter.

## 3. Raadpleging

### 3.1 Bevelle

#### 3.1.1 Exit, Quit

`exit
quit`

Gaan uit die prograam uit.

#### 3.1.2 Help, Man, Helpwin, ?

`help [topic]
man <topic>
helpwin [topic]
? [topic]`

wys help op `topic`, waar `topic` gevoenlik die naam van 'n bevel of 'n funksie is. Vir 'n lys van onderwerpe tik in ``ls` commands' of ``ls` functions'. `Help`, `helpwin` of `?` sonder 'n onderwerp wys net die introduksie vir die help toskrifte.

#### 3.1.3 Ls, Who

`ls [variables|functions|constants|commands]
who`

Lys die items gespesifeerd; As daar niks na `ls`, `ls` sal all die variante lys. `Who` is net a ander naam vir `ls variables`.

#### 3.1.4 Rm, Clear

`rm variable1 [variable2 ...]
clear [variable1 [variable2 ...]]`

Verweider die variante van die rekenaar se RAM. `Clear` net by itself sal all die variante verweider.

#### 3.1.5 Mode, Deg, Rad

`mode [deg|rad]
deg
rad`

wys of stel die berekende reelings; dis die selfde as die berekende seksie van die preferensie venster. Die eenigste reelings wat met die eenheid van graade te doen het is gebruik by die trigonometeries funksies.

`Mode` by itself wys die lopende metode; met een argument dit sal die eenheid van graade stel. `Deg` is net 'n ander naam vir `mode deg`, en `rad` is 'n ander naam vir `mode rad`.

### 3.2 Funksies

#### 3.2.1 Int

`int(x)`

Wys die naaste getal na `x`, met gebruik van numeriese afrondingusing rounding arithmetic.

#### 3.2.2 Abs

`abs(x)`

Wys die absolute waarde van `x`.

#### 3.2.3 Log, Ln

`log(x)
ln(x)`

Wys die baas-10 logaritme (`log`) of die naturlike logaritme (`ln`) van `x`.

#### 3.2.4 Sqrt

`sqrt(x)`

Wys die vier kant wortle van `x`.

#### 3.2.5 Sin, Cos, Tan, ASin, ACos, ATan

`sin(x)
cos(x)
tan(x)
asin(x)
acos(x)
atan(x)`

Wys die sine, cosine, tangent, arc sine, arc cosine of arc tangent van `x`, met verwysing van die gespesifieke eenheid van graade (sien `mode`).

#### 3.2.6 Sinh, Cosh, Tanh, ASinh, ACosh, ATanh

`sinh(x)
cosh(x)
tanh(x)
asinh(x)
acosh(x)
atanh(x)`

Wys die hiperbolies sine, hiperbolies cosine, hiperbolies tangent, omgekekeerde hiperbolies sine, omgekekeerde hiperbolies cosine of omgekekeerde hiperbolies tangent van `x`.

#### 3.2.7 Fac

`fac(x)`

Returns x!, i.e. n(n-1)(n-2)...(1)

### 3.3 Konstante

#### 3.3.1 Pi

Die verhouding van die sirkel se omtrek met sy deursny.

#### 3.3.2 E

Die baase van natierlike logaritmes: rcalc maak gebruik van matematies se boekery se bepaling wat op my rekenaar, 2.7182818284590452354 is.

## 4. User-defined functions

### 4.1 Introduction

Starting with rcalc 0.4.0, you can define your own functions.

These functions are parsed by default, but if you compiled rcalc using the --enable-compiled-functions configure flag (this particular method is currently unsupported, not enabled by default, and needs a working gcc installed), they are compiled and dynamically linked to the executable when you define them.

Your functions are automatically reloaded at startup (like variables).

### 4.2 Usage

#### 4.2.1 Define a new function

When defining a function, the variable is `x`. Currently, you can only define a function that uses only 1 variable (`x`), that is, you cannot define something like `f(x,y)=cos(x) + sin(y)`.

To create a new function, use the func command:
`func [function_name](x)=[function_expression]`
Examples:

    rcalc> func g(x)=2*x

    rcalc> func myfunction(x) = 2*x*x + 7*cos((sin(x))) - abs(x)

If you compiled with --enable-compiled-functions, you can do some advanced stuff like this, provided you write C code that can be put after a return.

    rcalc> func fact(x)=(!(int)x) ? 1 : (abs( (int) x ) * fact (abs( (int)x )-1))

#### 4.2.2 Use a function

`function_name( [mathematical_expression] )`

Example, if both `g` and `myfunction` exist:

    rcalc> 3*sin(2*pi)
            Ans = 0.3283278207189595

    rcalc> g( 5 * cos ( myfunction( 2-Ans ) ) )
            Ans = 9.892698159952772

#### 4.2.3 List functions

`ls functions` (or just `ls func`)

This will list both built-in functions (see section 3.2) and user-defined functions.

#### 4.2.4 Remove a function

`rm [function_name]`

### 4.3 Error messages

This error messages means your function expression is incorrect (this may differ if you compiled with --enable-compiled-functions) :

    rcalc> func t(x)=foo

    error : malformed expression.