EQL+

Gleichungs-Bibliothek für den HP 49G/49g+

EQLplus (EQL+) für den HP 49G und HP 49g+ entstand aus der berühmten Gleichungs-Bibliothek der HP 48G-Serie. EQL+ ist vom Benutzer erweiterbar (s.u.). Die Bibliothek enthält zwei Befehle, SBox (die Standard-Box oder auch der klassische Gleichungs-Browser) und UBox (User Box), der nach einer optionalen globalen Variablen 'UsrBox' sucht. Der umfangreiche Befehl SBox verwaltet verschiedene Themenbereiche, von denen jeder verschiedene Titel mit Gleichungen, Erklärungen und Bildern aus verschiedenen Gebieten aus Wissenschaft und Technik, mit insgesamt hunderten von Gleichungen enthält. Die Dokumentation "HP48 AUR" (Part 4, Equation references) enthält eine nähere Beschreibung der meisten Gleichungen. EQLplus bietet dem Anwender ein Werkzeug, das neben dem Sammeln und Verwalten eigener Gleichungen, natürlich auch das Lösen der selbsterstellten (UBox) und der klassischen Gleichungen (SBox) unterstützt. Nach dem Laden der Bibliothek EQLplus (vorzugsweise mit Conn4x) und Speichern auf Port 1 oder 2 wird die Bibliothek durch einen Warmstart angebunden (s. ATTACH). Dadurch wird EQL+ SOLV zum NUM.SLV-Menu (RS [7]) als siebter Menüpunkt hinzugefügt, welcher unabhängig vom Gleichungs-Browser verwendet werden kann. Versuchen Sie es, indem Sie EQL+ SOLV nach Drücken von RS [7] auswählen. EQL+ wurde für ROM 1.23 auf dem HP 49g+ und für ROM 1.19-6 auf dem HP 49G getestet.

Achtung. Die Syntax der UsrBox wurde geändert/vereinfacht (s. Abschnitt Anpassung). Ihre vielleicht "ältere" UsrBox ist ggf. dementsprechend zu überarbeiten. EQLplus.zip Version 2.2005 enthält ein aktuelles Beispiel für "UsrBox".


Was ist neu?

Version 2.2005. Zum Thema Fluids, Titel "Flow in Full Pipes", Gleichung 2 korrigiert

Version 1.2005. Solver-Verhalten verbessert durch die Korrektur des "Header-Bugs" von ROM 1.23, s. Anhang.

Version 10.2004. UsrBox Syntax radikal vereinfacht. Die Beschriftung mit "::" das sogn. "tag" entfällt.

Version 9.2004. Schrittweiser multipler Gleichungslöser der Tastenkombination RS _hold [7] zugeteilt. Option quit zum Menü hinzugefügt.

Version 8.2004. Reorganisiertes Gleichungs-Auswahl-Menü. Solver-Funktionalität verbessert. Menüpunkt 7, EQL+ SOLV  ist nun dem Menu NUM.SLV anhängt, womit Gleichungen unabhängig von der Navigation im Gleichungs-Browser gelöst werden können.

Version 7.2004. Programmfehler im "current divider" und in "GASES" beseitigt. Gleichungs-Auswahl-Menü leicht modifiziert. Die Animation des Feder-Masse-Systems wieder belebt. Benutzerdefinierte Animationen in UsrBox möglich.

Version 6.2004. Format der Beschreibungen in UsrBox vereinfacht. Keine leere Anzeige mehr für kleine Beschreibungen. Option VIEW, für lange Gleichungen zum Gleichungs-Auswahl-Menu hinzugefügt.

Erste Freigabe: Mai 2004, Version 5.2004. Bibliothek Nummer 310. Größe der letzten Version 36.7 kByte.

Abkürzungen: RS = RightShift, LS = LeftShift; , ... stellen die Pfeiltasten dar.


Die zwei Befehle Sbox und UBox können Tasten (am besten entbehrlichen Tastenkombinationen mit gehaltener Umschalt-Taste, sogn. Shiftholds) zugeteilt oder in die APPS-Box integriert werden, vorausgesetzt die empfehlenswerte Bibliothek Appsman ist installiert. Der Standardgleichungs-Browser in Wissenschaft und Technik Fügen Sie ggf. einfach den Befehl SBox zur reservierten Variablen APAR als Element einer Liste hinzu. Wird SBox als erstes Element gesetzt, dann erscheint es als erster Eintrag in der APPS-Box. Sie können auch die Liste {EQLplus 310 MENÜ} zu APAR hinzufügen, um auf beide Befehle von EQL+ Zugriff zu haben. Angenommen, SBox wurde ausgewählt, dann erscheint die Standard-Box. Im Bild links wird die Anzeige mit einem Teil des Menus gezeigt, in dem gerade der Menupunkt "Oscillations" ausgewählt wurde. Mit den Pfeiltasten und wird durch die Menüpunkte geblättert, während man mit RS und RS zum Beginn oder zum Ende des Menus springt. Die Menüauswahl erfolgt mit der Funktionstaste F6 (Soft-Menu oder optional mit ENTER), während mit F5 ( oder optional CANCEL) zurückgesprungen wird bzw. das Menu verlassen wird, wenn es keinen vorangehenden Menü-Punkt gibt. Mit der Option quit (F1) wird der Browser in jedem Falle verlassen. In einem Menü mit seinen zahlreichen Einträgen kann nach Aktivierung des ALPHA-Modus' auch durch Drücken des entsprechenden Anfangsbuchstabens zum gewünschten Menüpunkt gesprungen werden. Um z.B. Toroid-Induktance im Menüpunkt Elektricity zu finden, reicht die Tastenfolge ALPHA und T. Ein Hinweis für Benutzer, die Flag -60 gesetzt haben: Nach abgeschlossener Suche sollte der ALPHA-Modus wieder verlassen werden, da sonst weitere Tastatureingaben als "fortgesetzte Suche" interpretiert werden.

Nach der Auswahl von "Oscillations" durch Drücken von wollen wir auf die gleiche Weise das "Mass-Spring system" auswählen, welches keine Unter-Menüs aufweist. Im Bild links unten wird die erste von drei Gleichungen des Masse-Feder-Systems (in der Gleichungsauswahl) beispielhaft angezeigt. Mit den Tasten und blättern Sie durch die Gleichungen. Gleichungen können Elemente wie z.B. UBASE(T) (s. "Ideal Gas Law") enthalten. Zur besseren Lesbarkeit wird für das genannte Beispiel lediglich T angezeigt; mit SOLV jedoch wird die originale Gleichung angezeigt, vorausgesetzt die Option UNITS aus der CONST-Bibliothek wurde aktiviert. Mit CANCEL wird der Editor verlassen. Mit dem interessanten Menü-Punkt INFO wird in unserem Beispiel eine Animation gestartet, die ein Basis-Experiment der Schwingungslehre darstellt. Die Animation wird mit EXIT angehalten und die INFO Anzeige für das Masse-Feder-System wird angezeigt. Darin können Sie mit RS fortfahren, um eine Beschreibung der Gleichungsvariablen zu erhalten. Die Grafik kann mit dem Menü-Punkt PCT in PICTURE gespeichert werden, während EXIT oder CANCEL zur Gleichungs-Auswahl zurück führt. Mit dem linken Daumen für F1 und dem rechten Daumen für F6 wechselt die Anzeige einer Gleichung mit dem dazugehörigen Bild. In der Gleichungs-Auswahl sind auch einige Standard-Tasten (Nicht-Funktions-Tasten) aktiv. Die Arbeitsweise der aktiven Tasten wird in der Tabelle unter den Bildern erklärt. Jede der oben genannten Bedienungs-Umgebungen kann temporär verlassen werden.

Equation selector on Oscillation/Mass-Spring system. INFO sets the right-hand screen.     Drücken Sie RS DownArrow in diesem Schirm, um zu den Anmerkungen zu springen

Aktive Funktions- und Standard-Tasten in der Gleichungs-Auswahl

INFO

Anzeigen eines erläuternden Bildes zur Gleichung zusammen mit einer Beschreibung zu den vorkommenden Variablen (sofern vorhanden). Die Navigation erfolgt mit und . Mit RS wird weiter geblättert, mit RS kehrt man zum Bild zurück.

VIEW

Zum Betrachten langer Gleichungen, die nicht in die Anzeige passen. Gleichung 1 in "Columns & Beams/Excentric" ist ein Beispiel. Nach der Aktivierung von VIEW wird mit und  navigiert. Mit RS / RS wird zur ersten oder zur letzten Gleichung gesprungen. VIEW ist wirkungslos, wenn die Gleichung in die Anzeige passt.

RCL

Stellt die gegenwärtige Gleichung in den Stack und verlässt SBox oder UBox.

CONS

Führt zur Konstantenbibliothek, um zwischen den Einheitensystemen SI und ENGL zu wählen (F1 oder F2). Zum Lösen von Gleichungen mit oder ohne Einheiten wechseln Sie mit F3.  F1, F2 u. F3 beeinflussen die Form der Gleichungen. Einige Gleichungen zeigen z.B. UBASE (T), wenn UNIT aktiviert ist (ein kleines Quadrat wird hinter UNIT angezeigt) oder anderenfalls nur T. Zur Berechnung ohne Einheiten (UNIT inaktiv) muss Systemflag -3 gelöscht sein (03 Function -> symb). Beachten Sie, dass der numerische Wert einer Konstanten von dem gewählten Einheitensystems abhängt. Die Konstantenbibliothek wird mit QUIT verlassen.

SOLV

Zum Speichern eines gewählten Gleichungssystems in der reservierten Variablen EQ. Mit CANCEL wird der Vorgang abgebrochen, d.h. man kehrt ohne Speicherung zur Gleichungsauswahl zurück. Vor dem Speichern mit ENTER können die Gleichungen editiert werden, bevor EQL+ SOLV von NUM.SLV gestartet wird, womit alle Variablen des Gleichungssystems in EQ als globale Variablen im gegenwärtigen Verzeichnis generiert und mit dem Wert 1 initialisiert werden. Bereits existierende Variablen werden nicht überschrieben. Außerdem generiert SOLV die reservierte Variable Mpar und erzeugt das MSOLVR-Menü mit der Option ALL, für den Fall, wenn in EQ mehr als eine Gleichung vorhanden sein sollte. Wenn EQ nur eine einzelne Gleichung enthält, wird ein anderes Menü (das SOLVR-Menü) mit der Option EXPR = erzeugt. Mehr Informationen zum Lösen von Gleichungen befinden sich im Anhang. Zum numerischen Lösen ist generell der Näherungsmodus erforderlich.

EXIT oder
CANCEL

Verlässt die Gleichungsauswahl und führt zurück zu der vorher gewählten Gleichungs-Kategorie. EXIT  (nicht CANCEL) beendet auch eine laufende Animation, während CANCEL nur die Verzögerungszeit streicht.

STO

Speichert die ursprünglichen Gleichungen des gegenwärtigen Themas in EQ und verlässt SBox oder Ubox, ohne den Solver zu starten.

  +/-

Das Umschalten von normal/minifont in der Gleichungsauswahl ist nützlich, wenn eine Gleichung nicht in die Anzeige paßt. Alternativ kann VIEW weiterhelfen.

Anpassung

SBox kann nicht alle technisch-wissenschaftlichen Themenbereiche abdecken. Der Befehl UBox - in seiner Funktion vergleichbar mit SBox - ermöglicht die Bearbeitung eines benutzerdefinierten Teils der Gleichungsbibliothek, z.B. die Ergänzung durch den Themenbereich "Astronomie". Der benutzerdefinierte Teil der Gleichungsbibliothek ist unter Beachtung der u.g. Syntax in einer Datei namens UsrBox anzulegen. UBox verwendet die Datei 'UsrBox', die im aktuellen Verzeichnispfad gesucht wird. Zur Strukturierung von eigenen Themenbereichen mit Problemtiteln können unterschiedliche UsrBox-Dateien in verschiedenen Verzeichnissen kontextabhängig angelegt werden. Unter diesem Aspekt ist EQL+ viel "mächtiger" als die klassische Gleichungsbibliothek der HP 49G-Serie. Das allgemeine Format von UsrBox wird in der linken Spalte der folgenden Tabelle gezeigt:

{ "Überschrift"

     { "Titel 1" DAT1 }
                  ?
                  ?
                  ?

    { " Titel n "  DATn}

  }

Der Text "Überschrift" erscheint im Kopf des Browsers. Die Entsprechung in SBox ist der Text: "Standard Box".

"Titel k" ist der Name eines Themenbereiches oder aber der Titel eines Gleichungssystems, abhängig von DATk.

Das Ganze ist eine Liste mit der Struktur {"String"  List1... Listn}. 

Natürlich möchte der engagierte Benutzer seine Problemtitel mit Bildern und Text beschreiben, so wie es in SBox vorbildlich umgesetzt wurde. Das wird erreicht, indem die Liste {" Titel-k "  DATk} durch eine so genannte Basis-Liste ersetzt wird:

{ " Titel des Gleichungssystems"  {GrOb "Beschreibung"}  ' Gl. 1'   'Gl. 2' ....... ' Gl. m'}

Die maximale Größe des GrOb (Graphical Object) soll 131 × 56 sein. Sollten Sie kein grafisches Objekt zur Hand haben, besetzen Sie den Platz durch 0 oder 0. (Null als Zint oder als Real). UBox interpretiert diese Eingabe als nicht vorhandenes Bild und es wird "No Picture" angezeigt, so wie es an verschiedenen Stellen in SBox umgesetzt wurde. Wenn anstatt eines statischen Bildes eine Animation gewünscht wird (s. "Mass-Spring system" in SBox), ist GrOb durch eine Liste zu ersetzen, welche mindestens zwei GrObs und eine real (die Verzögerungszeit zwischen aufeinander folgenden Bildern in Sekunden) als sein letztes Listenelement enthält. Wenn UBox solch eine Liste identifiziert, wird eine Animation gestartet. Als Beispiel möge die Animation zum Einfachen Pendel (s.u.) dienen. "Beschreibung" muss durch einen entsprechenden String von mehreren Zeilen ersetzt werden. Jede Zeile kann eine Variable beschreiben (vergl. mit dem unteren Teil der Info-Anzeige). Eine Zeile sollte nicht mehr als 22 Schriftzeichen enthalten, sonst würde die Zeile in FONT8 abgeschnitten werden.

Eine Basis-Liste entspricht einer Gleichungs-Auswahl. Die Elemente einer einfachen UsrBox sind, bis auf die Überschrift, alles Basis-Listen.  DATk (s. Tabelle oben), kann aber auch eine Folge von Basis-Listen sein. In solch einem Fall ist "Titel-k" der Titel eines Sub-Browsers. So kann UsrBox in gleicher Weise wie SBox organisiert werden. Erinnern Sie sich, dass UsrBox nicht notwendigerweise eine Liste sein muss. Jedes Objekt, das zu einer Liste mit der o.g. Syntax ausgewertet wird, ist zulässig. Das Programm «:3: UsrBox EVAL », gespeichert als UsrBox im HOME-Verzeichnis, kann z.B. das Objekt "UsrBox" von der SD-Karte eines HP 49g+ zu der geforderten Liste auswerten. Das Programm UBox überprüft lediglich, ob das ausgewertete Objekt von UsrBox oder UsrBox selbst eine Liste ist. Um die Rechenlaufzeit kurz zu halten, wird keine Syntax-Überprüfung durchgeführt.

EQLplus.zip enthält zum Testen ein Beispiel namens UsrBox (muss mit Version 10.2004 aktualisiert werden). Wenn UBox mit diesem Beispiel im aktuellen Verzeichnispfad gestartet wird, hat der Browser zwei Einträge (n = 2). Der 1. Eintrag führt zu "Projectile Motion" (Schiefer Wurf). Der zweite Eintrag führt zu einer Reproduktion von "Oscillations" mit mehreren Untertiteln. Jede dieser beiden Listen stellt eine Basis-Liste dar. Wir empfehlen ein detailliertes Studium der Syntax des Beispiels: Drücken Sie UsrBox und editieren Sie die Liste oder zerlegen Sie das Beispiel mit OBJ(Oder besser noch, verwenden Sie den Befehl 3tog aus OT49). Die Basis-Liste für "Simple Pendulum" sieht folgendermaßen aus:

{ " Einfaches Pendel "
   { { GrOb1 GrOb2 0.5 }
          " L: Länge
           T: Periode
           ω: Winkelgeschwindigkeit
           f: Frequenz
    } eq1 eq2 eq3
}

VIEW startet eine Animation aus zwei Bildern (GrObs) mit 0.5_s Bildwechsel, und die Gleichungs-Auswahl enthält 3 Gleichungen. Unser UsrBox-Beispiel ist tatsächlich ein Programm. Das Programm selbst ist dem Programm UBox unbekannt. Es führt einfach den Namen UsrBox aus und bearbeitet dann die große resultierende Liste. Das Programm UsrBox selbst ist klein, weil es die passenden versteckten Objekte aus EQL+ herauszieht.


Bemerkung 1. Auf dem HP 49g+ sollten Sie alle Tasten beherzt drücken, um eine leere Anzeige in der Gleichungs-Auswahl zu vermeiden. Wenn es trotzdem vorkommt, unterbrechen Sie sofort mit einem Warmstart, um einen Programmabsturz zu vermeiden. Auf der größeren Anzeige des HP 49g+ kann die Uhrzeit problemlos mit angezeigt werden, während für den HP 49G die Uhrzeit abgeschaltet werden sollte.

Bemerkung 2. Da UsrBox im allgemeinen viel Speicherplatz benötigt, wird Komprimierung empfohlen. Die komprimierte Datei sollte sich nach Aufruf selbst dekomprimieren und notfalls auswerten, falls es sich nicht nur um eine Liste, sondern ein Programm zur Erstellung einer solchen handelt. Entsprechende Programme enthält OT49(+).

Bemerkung 3 für Experten.  Die äußerst lange Gleichung 8 in "Bipolar Transistors" von "Solid State Devices" wurde in zwei Gleichungen aufgeteilt, so dass es jetzt 9 Gleichungen gibt. Fast alle ROM-Pointer von EQL+ sind komprimierte Daten, die mit einem speziellen ungeschützten BZ-Entpacker (ROMPTR 136 2) dekomprimiert werden. Versuchen Sie nicht, die Daten-Strings mit dem BZ-Entpacker von OT49(+) zu dekomprimieren. Der spezielle BZ-Entpacker kann interessierten Programmierern auf Wunsch zugesandt werden.

Danksagungen. Modifizierte Kompression basiert wesentlich auf BZ von Mika-Heiskanen. Wir benutzten Teile der Gleichungs-Bibliothek von James D. Purdi . Dank an Heiko Arnemann, Carsten Dominik, Luis Morales, Otto Praxl, Stefano Priore und Hugo Rodrigues für Tips, Hilfe und Beta-Testing. Heiko Arneman hat EQLplus.htm überdies ins Deutsche übersetzt, dafür besonderen Dank.


Arnaud Amiel  amiel@chez.com Wolfgang Rautenberg raut@math.fu-berlin.de


Anhang - Lösen von Gleichungen

Gleichungen können mit oder ohne Einheiten gelöst werden. Numerische Werte von Einheiten und Konstanten hängen von der mit CONS (Soft-Menu in der Gleichungs-Auswahl) gewählten Einheiten-Basis ab. Diese Modi werden durch die Benutzer-Flags +60 und +61 kontrolliert, die das Betriebssystem als System-Flags missbraucht. (Sekundäre Zusatzinformation: Flag 60 Clr/set =  SI/ENGL und Flag 61 Clr/set = UNITS aktiv/inaktiv). Wenn UNITS inaktiv ist, werden alle Gleichungen vor-ausgewertet und vorkommende Konstanten werden durch ihre numerischen Werte ersetzt, bevor die Gleichungen in EQ gespeichert werden. Es ist oft einfacher, Gleichungen ohne Einheiten zu lösen und die richtigen Einheiten später einzufügen. Aber die reine numerische Vorgehensweise kann auch Nachteile haben (s.u).

Bevor Gleichungen gelöst werden können, müssen eine oder mehrere Gleichungen in der globalen Variablen EQ gespeichert werden. Der Einfachheit halber lassen Sie uns das an einem Beispiel verdeutlichen. Angenommen, wir wollen die Gleichung aus "Law of Gravitation" lösen. Dazu wählen wir "Law of Gravitation" aus dem Themenbereich "Energy and Forces" und drücken die Funktionstaste unterhalb von SOLV, Als der Gleichungslöser-SOLVR auf dem Law of Gravitationwomit die entsprechende Gleichung in EQ gespeichert wird und ein Menü mit den Variablen F, G, m1, m2, r in weißen Feldern erzeugt wird, das so genannte SOLVR-Menü (siehe auch im Benutzerhandbuch der HP48G-Serie Kapitel 18). Sie sehen das Menü im Bild links als unterste Zeile. Verlassen Sie das Menü vorläufig mit VAR, um zu sehen, ob das aktuelle Verzeichnis diese Variablen mit den Initialwerten 1 enthält. Die Rückkehr zum SOLVR-Menü erfolgt mit LS_hold NXT. Wir wollen die Gleichung mit Einheiten für 2 kleine Asteroide lösen. Die Asteroide treffen sich in einer Entfernung von R = 10_km. Gesucht ist die resultierende Gravitationskraft F zwischen den Asteroiden. Die internationale Einheit der Gravitationskraft ist N (Newton, 1_N ist gleich 1_kg · m/s^2). Nehmen wir an m1 = m2 = 1*10^6 Tonnen (1_t = 1000_kg; im Unterschied zur britischen Tonne, die in älterer angelsächsischer Literatur verwendet wurde). Stellen Sie 1E6_t in den Stack, duplizieren Sie den Wert mit ENTER und drücken Sie dann die Menüfelder m1 sowie m2. Anschließend geben Sie 10_km in die Befehlszeile und drücken die Funktionstaste unterhalb des weißen Feldes mit r (F5). Die drei Variablen m1, m2r sind die "Bekannten", d. h. jene Variablen in der Gleichung, die vom Benutzer definiert wurden. Die restlichen Größen, hier F und G, sind die Unbekannten. G ist der Name der Gravitationskonstanten und ist in diesem Zusammenhang nicht wirklich eine Variable, sondern konstant (worauf der Name schon hindeutet). Die Eingabe von G entfällt, da diese Konstante bereits im ROM des Rechners definiert ist. Anschließend geben wir noch einen Schätzwert für die Kraft ein: F = 1_N, also Zahlenwert mit einer Krafteinheit, wobei der Zahlenwert eine beliebige reelle Zahl sein kann. Diese physikalische Größe (Kraft) wird als Startwert zur numerischen Lösung der Gleichung verwendet. Stellen Sie also 1_N in den Stack und drücken Sie die Taste unter dem weißen Feld, welches mit F beschriftet ist (F1).

Jetzt sind alle notwendigen Variablen, einschließlich der Einheiten, zur Berechnung der Kraft F deklariert. Zum Lösen der Gleichung drücken Sie LS F. Das startet den "Solver" und stellt die Lösung mit der Beschriftung "F:" in den Stack (s. Bild oben). Mit dem Befehl OBJ könnten Sie die Beschriftung "F:" entfernen. Die Gravitationskraft beträgt nur 0.667259_N, vielleicht weniger, als Sie erwartet haben. Da die Gravitationskraft umgekehrt proportional zum Quadrat der Entfernung ist, liefert die auf r = 1_km reduzierte Entfernung eine 100-fache Kraft, nämlich 66.7259_N.

Nicht nur F, sondern auch eine der anderen Variablen der Gleichung kann unbekannt sein. Nehmen wir an, dass sich die beiden Asteroiden mit einer Gravitationskraft von F = 1_N gegenseitig anziehen. Weiterhin sollen r = 10_km und m1 = 10^6_t gelten. Gesucht sei die Masse m2. Speichern Sie 1 (ohne Einheit) in F und drücken Sie LS m2 um das Berechnungsergebnis für m2 = 1498668.4331_t zu erhalten. Beachten Sie, dass es nicht notwendig ist, die Einheiten der Variablen nochmals anzugeben.

Wichtig. Sollten Sie das Solver-Menü verlassen haben und Sie kehren über EQL+ SOLV (z.B. über NUM.SLV) wieder zurück, so werden die existierenden Variablen, die in EQ vorkommen, nicht überschrieben. Das gilt auch für das Lösen von Gleichungssystemen (s.u.) und ist von Vorteil für ein wiederholtes Lösen. Andererseits kann das auch von Nachteil sein, wenn die alten Variablen nicht gelöscht wurden und in einem neuen Gleichungssystem, in dem die Variablen evtl. neue Bedeutungen haben, mühevoll mit neuen Einheiten definiert werden müssen.

Die Option EXPR= stellt nur die linke und rechte Seite der Gleichung in den Stack, welche vielleicht für weitere Berechnungen erforderlich sind.

Wir könnten unsere Vorgehensweise zum Lösen der Gleichung "Law of Gravitation" vereinfachen, indem wir ohne Einheiten oder Konstanten arbeiten. Dazu löschen Sie zunächst die globalen Variablen F, m1, m2 und r. Drücken Sie CONS in der Gleichungs-Auswahl schalten UNITS aus und wählen Sie SI bevor SOLV gestartet wird.

Mit dem Starten von SOLV wird die Gleichung

F = 6.67259E-11 · m1· m2 / r^2

in die Befehlszeile gestellt, d.h. die Gravitationskonstante wird durch ihren numerischen Wert ersetzt, bevor sie in EQ gespeichert wird, oder anders ausgedrückt, die Gleichung wird ohne Verwendung von Einheiten ausgewertet. Jetzt speichern wir mit den weißen Soft-Menutasten r, m1 und m2 die reellen Werte 10^3, 10^9 und 10^9, entsprechend den SI-Grundeinheiten m, kg und kg. In der Variablen F belassen wir 1 als Startwert. Die Eingabe erfolgt offensichtlich mit weniger Mühe. Dann ergibt LS F die Zahl 0.67259 als Ergebnis., d. h., eigentlich der gleiche Wert wie oben, aber ohne Einheit. Das einzige Problem besteht darin, dass wir uns erinnern müssen, dass 0.67259 die Gravitationskraft in Newton und nicht in Dyn oder Kips ist, also der Wert in SI-Einheiten und nicht in ENGL-Einheiten ist. Und schließlich, dass die Masse der Asteroide in kg und deren Entfernung in m (den SI-Grundeinheiten), und nicht in britischen Tonnen oder km gegeben wurde. Eine einzige falsche Taste, ENGL statt SI in CONS würde zum falschen Resultat F = .332208 führen. Sie sehen an diesem Beispiel, wie umständlich und fehleranfällig das Verwenden verschiedener Einheiten-Systeme sein kann.

Wir diskutieren nun ein schwierigeres Beispiel für ein Gleichungssystem mit Einheiten, das "Mass-Spring"-System. Gegeben seien die Federkonstante k und und die Masse m. Ein Blick auf die Gleichungen zeigt, dass Lösungen für ω, T und f existieren sollten: ω wird durch die erste Gleichung berechnet, T und f werden durch die 2. und 3. Gleichung beschrieben. Das Lösungs-Verfahren erfolgt genau dieser Linie, aber viel schneller, als wir das manuell umsetzen könnten. Da wir das System mit Einheiten lösen wollen, soll UNIT im Const-Lib gesetzt sein. Beachten Sie, dass die Federkonstante k nicht eine absolute Konstante ist, sondern vom Federmaterial abhängt. Sie wird normalerweise in Newton/Meter gegeben. Die Konstante π ist im System bereits definiert. Wie oben, starten wir zuerst SOLV nach der Gleichungsauswahl, um alle vorkommenden Variablen mit dem Startwert 1 zu generieren. Nachdem ENTER mit der Gleichung in der Befehlszeile betätigt wurde, sollte die Anzeige wie links dargestellt aussehen (ab Version 1.2005 mit Titel-Thema). Ein zweiseitiges Menu wird bereitgestellt auf dessen erster Seite alle vorkommenden Variablen mit weißen Menüfeldern sowie die Option ALL dargestellt wird. Für den Lösungsprozess sind drei Schritte erforderlich:

1. Deklarieren der "Bekannten" und "Unbekannten". Da wir SOLV mit Einheiten (UNITS aktiv) gestartet haben, müssen sowohl die "Bekannten" als auch die "Unbekannten" mit Einheiten versehen sein. Nehmen Sie an, dass unsere Federkonstante k = 7_N/m ist. Stellen Sie die 7_N/m in den Stack und drücken Sie F1. Das speichert 7_N/m in k, und das Menüfeld k wird schwarz. Genauso speichern wir 0.5_kg in m durch Drücken der weißen Menütaste m. Diese zwei Variablen sind unsere "Bekannten". Der Solver muss aber unterscheiden können, welches die "Bekannten" und welches die "Unbekannten" sind. Dazu werden die "Bekannten" in Form einer Liste {k m} in den Stack gestellt und auf der zweiten Seite des Menus (NXT) die Soft-Menu-Taste MUSER gedrückt. Das deklariert k und m als die "Bekannten". Die "Unbekannten" sind nun noch mit weißen Feldern gekennzeichnet. Unser Ziel ist im Bild unten dargestellt, in dem die Unbekannten ω, T und f nach dem Lösen des Gleichungssystem mit den oben genannten Werten für k und m dargestellt sind. Dazu soll T eine Zeit-Einheit erhalten, indem der Startwert 1_s in den Stack gestellt und anschließend  T gedrückt wird, worauf der weiße Hintergrund von T in der Anzeige invertiert wird. Entsprechend Gleichung 3 muss f  notwendigerweise eine Frequenz als Einheit erhalten; was durch die Eingabe 1_Hz und Drücken von f geschieht. Ähnlich wird ω mit einem Startwert mit der Einheit 1_r/s initialisiert. Jetzt sind alle Variablen schwarz. Durch die Eingabe der Liste {T ω f} und Drücken von MCALC auf der zweiten Menüseite werden die "Unbekannten" definiert. MCALC würde eine Fehlmeldung generieren, sollten die Deklaration von Variablen und deren Einheiten fehlen.

2. Starten der Lösungsroutine. Drücken Sie einfach LS ALL, worauf einige Nachrichten angezeigt werden, die aber z.B. auf den HP 49g+ aufgrund der Bearbeitungsgeschwindigkeit kaum wahrgenommen werden können. Die Bearbeitung resultiert in einem modifizierten Menü, in dem alle Variablen, die am Lösungsprozess teilgenommen haben, mit einem kleinen Quadrat markiert sind. Es kann in anderen Themenbereichen vorkommen, dass Variablen, die nicht am Lösungsweg beteiligt sind, nicht mit eimem Quadrat gekennzeichnet sind.

3. Lesen der vollständigen Lösung. Drücken Sie einfach RS ALL (s. Bild links). Die angezeigten Werte der Unbekannten entsprechen den tatsächlichen Werten im Verzeichnis.Der Resultat-Schirm nach Lösen von den Massenfrühlingsgleichungen mit EQL +.Statt RS ALL hätten Sie auch RS  drücken können, um alle Variablen anzuzeigen. So bequem kann das Lösen von Gleichungen sein. Sie können mit dem HP 49G die Lösungen mit F3 (PRINT) sofort auf einen seriellen Drucker ausgeben. Die im Bild links dargestellte Anzeige erscheint ab Version 1.2005. Der Gleichungslöser verhält sich genauso, wenn SOLV auf einen Gleichungssystem in UBox angewandt wird. Zur Erinnerung: Das Solver Menu wird zurückgesetzt, indem EQL+ SOLV im Menu NUM.SLV gestartet wird. Wenn keine Lösungen gefunden wurden und die Verarbeitung mit einer Fehlernachricht unterbrochen wird, sollten Sie versuchen, alle Werte als benutzerdefiniert zu deklarieren, indem sie ALL (aus dem Soft-Menu) ausführen. Dadurch werden alle Felder wieder weiß, während aber alle Einheiten-Deklarationen glücklicherweise erhalten bleiben. Die Schritte 1, 2 und 3 müssen dann wiederholt werden. Lassen Sie uns erwähnen, dass die Solver-Routine mit seiner Menü-Anzeige Teil der Bibliothek 228 ist. Diejenigen, die detailliert wissen wollen, wie die globale Variable Mpar aufgebaut ist, können dazu das Tool LDAT~ verwenden

EQL+ SOLV von NUM.SLV mit RS [7] kann auch verwendet werden, um ein benutzerdefiniertes Gleichungssystem oder eine einzelne Gleichung, vollkommen unabhängig von denen in SBox oder UBox zu lösen. In diesem Fall sollte eine ältere Variable Mpar im Verzeichnis gelöscht werden. EQL+ SOLV generiert eine neue mit der Option MINIT aus Menü 116 (116 MENU), aber mit dem voreingestellten Titel "EQ". Diese Voreinstellung kann in einen passenden Titel geändert werden. Stellen Sie den Titel in Stack-Ebene 2, eine Liste mit Variablen in Ebene 1 und führen den Befehl MITM von Menü 116 aus. Mit der Reihenfolge der Variablen in der Liste bestimmen Sie auch deren Reihenfolge im Gleichungssystemlöser.

Beispiel. Speichern Sie {'x=1/y'  'y=1/2'} in EQ und lassen Sie uns dieses einfache System lösen. Drücken Sie EQL+ SOLV und dann LS MCALC mit {x y} im Stack, um x und y als Unbekannte zu deklarieren. Dann drücken Sie LS ALL zum Lösen und schließlich RS ALL, um die erwarteten Resultate x: 2 und y: 0.5 zu zeigen. Beachten Sie, dass es in diesem Beispiel nicht notwendig war, irgendeine "Bekannte" zu deklarieren.

Beachten Sie, dass verschiedene Schwierigkeiten auf dem Weg zur Lösung auftreten können. Zur Berechnung der Unbekannten v0 und a (Anfangsgeschwindigkeit und Beschleunigung) mit den Gleichungen:

x1 = v0 + a·t1
x2 = v0 + a·t2

seien die Orte x1 und x2 und die Zeiten t1 und t2 gegeben. Obwohl Lösungen für unser System existieren, würde SOLV versagen, weil in keiner der Gleichungen eine der Unbekannten direkt isoliert werden kann. Wenn wir aber die zweite Gleichung von der ersten abziehen erhalten wir eine weitere Gleichung

x1 - x2 = a · (t1 - t2)

die die o.g. Bedingung erfüllt. Fügen wir diese Gleichung dem Gleichungssystem hinzu, so wird das System mit SOLV plötzlich lösbar. Der Gleichungslöser ist zwar schnell, aber nicht perfekt. Mehr über mögliche Fehlschläge kann in Kapitel 25 des Benutzerhandbuchs für die HP 48G-Serie gefunden werden.

Schrittweises Lösen von Gleichungssystemen. Der einfache Gleichungslöser kann auch verwendet werden, wenn EQ mehr als eine Gleichung enthält, um die Gleichungen schrittweise zu lösen. Das SOLVR-Menü bietet mit NXEQ (nächste Gleichung) eine erweiterte Funktionalität. Die Tastenkombination RS _hold [7] (USR-Modus voraussetzt), die durch SOLV "stillschweigend" aktiviert wurde, lässt nur die Variablen der gegenwärtigen Gleichung im Soft-Menu erscheinen. Auf dem HP 49g+ lässt NXEQ die nächste Gleichung nur kurz aufblitzen, anstatt sie anzuzeigen (ein weiterer hässlicher Programmierfehler in ROM 1.23). Der Fehler kann umgangen werden, indem RS _hold [7] noch einmal gedrückt wird.

Beachten Sie, dass es noch die Standard-Optionen Solve equation.. und MSLV in MUM.SLV zum Lösen von Gleichungen gibt, die in der Dokumentation zum HP 49G(+) an einigen Stellen Erwähnung findet.

Ende des Dokuments