rCalc Dokumentation

Copyright (C) 2000 Free Software Foundation, Inc.

Dieses Programm und die Dokumentation ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE JEDE GEWÄHRLEISTUNG - sogar ohne die implizite Gewährleistung der MARKTREIFE oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.

Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, schreiben Sie an die Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Mehr Details finden Sie in der Datei COPYING.

Inhaltsverzeichnis

1. Einleitung

2. Gebrauch

3. Referenz

4. Benutzerdefinierte Funktionen

1. Einleitung

rcalc ist ein schneller und einfacher symbolischer Rechner für GNOME mit folgenden Eigenschaften:

Somit ist rcalc nicht wie andere Rechenprogramme, etwa xcalc, kcalc oder gcalc. Es unterstützt zur Zeit einfache Operationen wie /, *, +, - und ^ (`x hoch y'), aber auch kompliziertere, wie die trigonometrischen Funktionen (sin, cos, tan, asin, acos und atan), die hyperbolischen Funktionen (sinh, cosh, tanh, asinh, acosh und atanh), sqrt, log, ln, abs und int. Es gibt auch zwei eingebaute Konstanten pi und e.

rcalc ist ein Teil des GNOME Desktop Environments und versucht mit dem `look and feel' anderer GNOME Programmen übereinzustimmen. Der Befehlsinterpreter von rcalc ist der bash Shell nachempfunden und erweitert so jenen von Matlab. Hoffentlich macht all das zusammen rcalc zu einem einfach benutzbaren Programm: Lassen Sie mich wissen, was Sie davon halten!

rcalc soll kein komplettes mathematische Packet sein; nur ein schnell zu ladender, einfacher und bequemer wissenschaftlicher Rechner. Wenn Sie ein mächtiges Mathematikprogramm suchen, schauen Sie sich bc oder Dr Genius (beides frei), oder Matlab (kommerziell) an.

1.1 Feedback

Besuchen Sie die Homepage von rcalc, http://rcalc.sourceforge.net/ für Updates. Dort gibt es auch Foren für Grundsätzliche Diskussionen, Anfragen für Hilfe und Vorschläge: Sie können diese gerne benützen.

Wenn Sie einen Bug finden, dann tragen Sie ihn bitte auf der rcalc Bugs Seite ein, falls er dort noch nicht registriert ist.

Wenn vom Obigen nichts passt, dann schreiben Sie mir eine EMail an <rcalc@inauspicious.org>.

2. Gebrauch

2.1 Grundlagen

Beim Start von rcalc wird Ihnen ein einfaches Fenster mit einem Prompt präsentiert (`rcalc> '); Ausdrücke werden an diesem Prompt eingegeben, und zwar so, wie Sie sie auf Papier schreiben würden. Eine wichtige Ausnahme ist, dass rcalc keine impliziten Multiplikationen unterstützt: Sie können also nicht 3sin(2pi) eingeben, da der Parser nicht erkennen wird, dass Sie `drei multipliziert mit dem Sinus von zwei mal pi' meinen. Die obige Formel wird richtig als 3*sin(2*pi) eingegeben.

Wenn sie diese Formel eingeben, erhalten Sie folgende Ausgabe:

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

Das Ergebnis der Berechnung wurde einer Variable namens 'Ans' zugewiesen; Alle Ergebnisse werden in Ans gespeichert, außer Sie geben es anders an. Dieses Ergebnis kann dann in weiteren Berechnungen benutzt werden, z.B.:

rcalc> Ans+1
        Ans = 1.328327820718959

Das Ergebnis kann auch in eine andere Variable als 'Ans' gespeichert werden, zum Beispeil:

rcalc> MyVariable = Ans*5
        MyVariable = 6.641639103594797

Das Ergebnis der Berechnung wurde hier in 'MyVariable' gespeichert; 'Ans' behält seinen alten Wert.

Variablennamen, und auch Funktionen, Befehle und Konstantennamen sind case-insensitive, also es kommt nicht auf die Groß- Klein-Schreibung an: MyVariable, myvariable, MYVARIABLE and MyVaRiAbLe bezeichnen alle den gleichen Wert. Alle Abstände in Formeln werden ignoriert, innerhalb von Befehlen allerdings nicht.

Variablen werden mit den Befehlen `ls' und `rm' verwaltet, ähnlich der Dateien in einer Shell, zum Beispiel:

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

Setzen wir gleich die Ähnlichkeiten zur Shell fort: Es gibt einen `man' Befehl; probieren Sie `man man' einzugeben. Eine andere shellähnliche Eigenschaft ist die Möglichkeit mehrere Befehle bzw. Formeln in einer Zeile einzugeben: Strichpunkte (;) werden zum Trennen der Teile verwendet, zum Beispiel:

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

Für jene von ihnen, die Matlab benutzen, gibt es zu den meisten shellähnlichen Befehlen auch Matlab-ähnliche Ersatznamen, zum Beispiel help, helpwin, who und clear. Bitte lesen Sie die Dokumentation, denn manche Befehle verhalten sich unterschiedlich, wenn deren Matlab-Ersatzname verwendet wird.

2.2 Konfiguration

Zur Konfiguration von rcalc benützen Sie den Menüpunkt Einstellunen... aus dem Datei Menü. Das erscheinende Fenster besteht aus drei Themen, die mit den Schildern am oberen Rand ausgewählt werden.

2.2.1 Eigenschaften

In diesem Fenster können Sie das Verhalten des Terminal-Fensters, mit dem rcalc bedient wird, konfigurieren. Bestimmen Sie, wo der Scrollbalken angeordnet sein soll, die Anzahl der Zeilen die zum Scrollen gespeichert werden, ob das Terminal zum Cursor scrollen soll, wenn eine Taste gedrückt wird oder wenn Text ausgegeben wird, ob der Cursor blinken soll und ob ein Ton bei verschiedenen Angelegenheiten ausgegeben werden soll.

2.2.2 Aussehen

Dieses Fenster erlaubt Ihnen die verwendeten Schriften und Farben einzustellen. Beachten Sie, dass die Ausgabe eigenartig aussehen kann, wenn proportionale Schriften verwendet werden; rcalc wurde so entwickelt, dass es am Besten mit Schriften arbeitet, bei denen alle Zeichen die gleiche Breite haben (monospace), wie Courier oder Lucidatypewriter.

3. Referenz

3.1 Befehle

3.1.1 Exit, Quit

exit
quit

Beendet das Programm.

3.1.2 Help, Man, Helpwin, ?

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

Zeigt die Hilfe zum Thema topic an, wobei topic normalerweise der Name eines Befehls oder einer Funktion ist. Eine Liste der verfügbaren Themen kann mit `ls commands' oder `ls functions' angezeigt werden. Help, helpwin oder ? ohne ein Thema zeigen die Einleitung der Hilfedatei.

3.1.3 Ls, Who

ls [variables|functions|constants|commands]
who

Listet die gewählten Einträge auf; Falls kein Argument angegeben wird, zeigt ls eine Liste der Variablen. Who ist einfach ein Ersatz für ls variables.

3.1.4 Rm, Clear

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

Löscht die angegebene(n) Variable(n) aus dem Speicher. Clear ohne Argument löscht alle Variablen.

3.1.5 Mode, Deg, Rad

mode [deg|rad]
deg
rad

Zeigt oder setzt die Einstellungen des Rechners; Dies ist äquivalent zum Berechnungen-Bereich im Einstellungen Dialog. Zur Zeit ist die einzige Einstellung die Winkeleinheit für trigonometrische Funktionen.

Mode ohne Argumente zeigt die momentane Einstellung; mit einem Argument setzt es die Winkeleinheit, die ab dann benutzt wird. Deg ist einfach ein Ersatz für mode deg, und rad gleichermaßen für mode rad.

3.2 Funktionen

3.2.1 Int

int(x)

Liefert die nächstgelegene ganze Zahl von x, indem gerundet wird.

3.2.2 Abs

abs(x)

Ergibt den absoluten Wert von x.

3.2.3 Log, Ln

log(x)
ln(x)

Liefert den 10er-Logarithmus (log) oder den natürlichen Logarithmus (ln) von x.

3.2.4 Sqrt

sqrt(x)

Ergibt die Quadratwurzel von x.

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

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

Liefert den Sinus, Cosinus, Tangens, Arcussinus, Arcuscosinus oder Arcustangens von x. Die Funktion nimmt dabei auf die gewählte Winkeleinheit Rücksicht (siehe mode).

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

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

Ergibt den Sinus hyperbolicus, Cosinus hyperbolicus, Tangens hyperbolicus, Areasinus, Areacosinus oder Areatangens von x.

3.2.7 Fac

fac(n)

Berechnet die Fakultät von n = n! = n(n-1)(n-2)...(1)

3.3 Konstante

3.3.1 Pi

Das Verhältnis vom Umfang eines Kreises zu seinem Durchmesser: rcalc verwendet die Definition der `math library' (libm.so), die auf meinem Computer 3.14159265358979323846 ist.

3.3.2 E

Die Basis des natürlichen Logarithmus: rcalc verwendet die Definition der `math library' (libm.so), die auf meinem Computer 2.7182818284590452354 ist.

4. Benutzerdefinierte Funktionen

4.1 Einleitung

Ab der Version 0.4.0 von rcalc können eigene Funktionen definiert werden.

Diese Funktionen werden standardmäßig geparsed. Wenn rcalc mit der Option --enable-compiled-functions für

configure
compiliert wurde, werden diese bei der Definition compiliert und dynamisch zum Programm gelinkt. (Diese Funktion wird momentan nicht unterstützt und daher nicht per default compiliert. Sie benötigt einen funktionierenden GCC.)

Ihre selbstdefinierten Funktionen werden beim Start von rcalc automatisch wieder geladen (wie Variablen).

4.2 Gebrauch

4.2.1 Eine neue Funktion definieren

Wenn eine Funktion definiert wird, ist die Variable x. Zur Zeit köönnen nur Funktionen mit einer Variable (x) definiert werden. Das bedeutet, Sie können nichtx definieren wie zB. f(x,y)=cos(x) + sin(y).

Um eine neue Funktion anzulegen benützen Sie den func Befehl:
func [function_name](x)=[function_expression]
Beispiele:

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

Wenn rcalc mit der Option --enable-compiled-functions compiliert wurde, können Sie erweiterte Dinge anlegen. Wichtig ist, dass es sich um C Code handelt, der nach ein return gesetzt werden kann.
rcalc> func fact(x)=(!(int)x) ? 1 : (abs( (int) x ) * fact (abs( (int)x )-1))

4.2.2 Eine Funktion benutzen

function_name( [mathematical_expression] )

Zum Beispiel, wenn sowohl g als auch myfunction existieren:

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

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

4.2.3 Funktionen auflisten

ls functions (oder einfach ls func)

Es werden eingebaute (siehe Abschnitt 3.2) und benutzerdefinierte Funktionen aufgelistet.

4.2.4 Eine Funktion löschen

rm [function_name]

4.3 Fehlermeldungen

Diese Fehlermeldung bedeutet, dass Ihre Funktionsausdruck fehlerhaft ist. (das könnte mit der Option --enable-compiled-functions anders sein):

rcalc> func t(x)=foo
error : malformed expression.