Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

folgende formel programmieren

106 views
Skip to first unread message

Markus Karsch

unread,
Jan 23, 2001, 3:19:52 PM1/23/01
to
Mal eine Frage an alle Deutschen in der Runde,
da ich den folgenden Sachverhalt nicht auf Englisch
erklaeren kann. Ich will für die folgende Formel ein
kleines Programm für den 49G schreiben:

y= Summe (n=1 bis N) von a*(1-a)^(i-1)*x
mit i=N+1-n

a soll dabei eine vorher einzugebende Variable sein
und die x-Werte sollen aus der ersten Spalte einer
vorher eingegebenen Matrix ausgelesen werden.
Wer kann mir helfen? Wie kann ich die Inhalte einer
bestimmten Spalte einer vorher eingegebenen Matrix
in einem Programm verwenden?
Gibt es eigentlich eine ordentliche deutsche oder zur Not
auch englische Einfuehrung in die Programmierung des 49G?

Danke im Voraus!
Markus

Peter Karp

unread,
Jan 23, 2001, 5:21:54 PM1/23/01
to
On Tue, 23 Jan 2001 21:19:52 +0100, "Markus Karsch"
<Markus...@epost.de> wrote:

>y= Summe (n=1 bis N) von a*(1-a)^(i-1)*x
> mit i=N+1-n
>
>a soll dabei eine vorher einzugebende Variable sein
>und die x-Werte sollen aus der ersten Spalte einer
>vorher eingegebenen Matrix ausgelesen werden.

Das ist nicht sooo schwer. Du mußt "einfach" (gebe zu, daß das
"reinkommen" nicht ganz so leicht zum ersten mal ist) eine Schleife
programmieren, die alle x-Werte der ersten Spalte "durchnudelt".
Um auf den Zähler zugreifen zu können brauchst du das Konstrukt:
FOR xstart xfinish NEXT (bzw. wenn der Zähler 1 ist kann man auch
START NEXT nehmen.

Um die Spalte zu extrahieren tust du:
[[ ]] (soll die Matrix sein)
1
COL-

Um dann an die einzelnen Elemente zu kommen brauchst du SIZE (damit du
weißt wieviele Elemente der Vektor (den du ja beim extrahieren
bekommst) hat.
Dann kannst du mit
zaehler GET
die Elemente nacheinander aus dem Vektor "holen".

Eine ggf. elegantere (und schnellere vom Programmablauf her) Methode
kann auch sein den Vektor mit ->OBJ zu "zerlegen". Dann hast du die
Elementanzahl des Vektors direkt in einer Liste auf dem Stack stehen
(ach ja, ich denke als HP48'er natürlich in UserRPL im RPN-Modus ;-).
Mit EVAL kannst du dann am einfachsten den Inhalt der Liste - die
Größe des Vektors (sprich: deinen zukünftigen Zähler) - "pur" auf den
Stack bekommen.

Wenn dir die Programmierung auf dem Stack zu unübersichtlich wird ('n
Stück Papier neben dem Rechner hilft viel) kannst du ja auch lokale
Variablen verwenden.

Helfen dir die Tips etwas "reinzukommen"?

Auf deutsch gibt es ein oder zwei Bücher über die Programmierung mit
dem HP48. Damit hab' ich geübt. Schau' doch mal in eurer Bib (oder
über die Fernleihe). Den Titel hab' ich leider nicht parat.

An sonstigen Büchern/Literatur ist es empfehlenswert mal einen Blick
auf hpcalc.org zu werfen. Dort gibt es auch ein UserRPL tutorial von
Eduardo Kalinowski und ein paar weitere (leider alle auf Englisch).

*sehr* empfehlenswert ist das "Advanced Users Reference" manual (hier
oft kurz AUR genannt) für den HP48. Ich glaub' das ist mittlererweile
auch als große PDF-Datei auf hpcalc.org zu finden.

Ich hab' mir über die Fernleihe das "HP48 Handbook" von James Donelly
ausgeliehen. Das war auch sehr gut.

Greetings from Cologne
Peter
--
Great HP48/49 links:
http://www.engr.uvic.ca/~aschoorl/faq/
http://www.hpcalc.org
to find *old* postings search http://www.deja.com/home_ps.shtml

Luis Baptista

unread,
Jan 23, 2001, 6:12:12 PM1/23/01
to
Peter, where did you learn speaking German? ;-)

LB


Sent via Deja.com
http://www.deja.com/

0 new messages