Formelsammlung

Diskussionen auf Deutsch

Formelsammlung

Postby klaus » Thu Jun 28, 2012 1:06 am

Hallo,

Ist es Möglich Formeln auf Programmierbare Tasten zu legen die einem die Eingabe der benötigten Variablen abfragen, wie x:=..., z:=... usw.?
Gruß Klaus
klaus
 
Posts: 41
Joined: Sat Jun 23, 2012 1:42 pm
Location: Germany

Re: Formelsammlung

Postby oliver » Thu Jun 28, 2012 10:58 am

Hallo Klaus,

Du kannst die INPUT Funktion zur interaktiven Parametereingabe verwenden.

Z.B.:
Code: Select all
≪ "Meine Formel" "x" INPUT fromString → x 'x^2' ≫


Wenn Du mehrere Parameter hast, kannst Du so vorgehen:
Code: Select all
≪ "Meine Formel" "x, y" INPUT
   fromString → x y
   'x^2+y^2'


Die Benutzereingabe kann so aussehen: 3.3 5.4 oder so 3.3, 5.4 oder so 3.3,5.4

INPUT gibt den String zurück, den der Benutzer eingibt. fromString convertiert diesen in eine Zahl (im Falle eines einzelnen Parameters) oder eine Anzahl von Zahlen. Der → operator kreiert lokale Variablen und weist diesen Werte vom Stack zu. Gleichzeitig erlaubt er einen algebraischen Ausdruck (Deine Formel), der automatisch ausgeführt wird.
Du könntest auch, expliziter aber vielleicht klarer, schreiben:
≪ "Meine Formel" "x, y" INPUT
fromString =x =y
'x^2+y^2' EVAL


Hoffe das hilft.
oliver
Site Admin
 
Posts: 433
Joined: Sat May 01, 2010 2:11 pm

Parametereingabe in der Zukunft

Postby oliver » Thu Jun 28, 2012 11:03 am

Das nächste oder übernächste Update wird es erlauben, UIs zu bauen. (Ganz ähnlich wie sich jetzt schon der Rechner verändern lässt.) Aber mit Elementen wie Sliders usw. Auch programmatisch. Es wird dann auch möglich sein, mit einem Kommando die Rechnerbenutzeroberfläche in eine Parameterform für Formeln zu verändern. Das ist, glaube ich, genau das, was Du eigentlich willst. Bitte um etwas Geduld noch.
oliver
Site Admin
 
Posts: 433
Joined: Sat May 01, 2010 2:11 pm

Re: Formelsammlung

Postby klaus » Fri Jun 29, 2012 2:07 am

Hallo Oliver,

Die INPUT Funktion lässt sich sehr gut verwenden.

Auf eine Programmtaste habe ich eine Wiederstandsberchnung gelegt und auf eine andere eine Spannungsberchnung.
Die Wiederstands Programmtaste mach Ihre Arbeit wie gewünscht nur die Spannung's Programmtaste gibt mir unten stehendes Ergebnis aus.

Die Taste wurde folgendermaßen belegt:

<< "Spannung [V]:
[Ohm], [A]" "" INPUT from String =R =I 'R * I' EVAL
>>

Nach Eingabe von z.B: 1000,0.115 ist das Ergebnis:

'(<< "Wiederstand [Ohm]: [V], [A]" ""
INPUT fromString =U =I 'U / I' EVAL
>>)*(1000)'

Was mache ich hier falsch?
Gruß Klaus
klaus
 
Posts: 41
Joined: Sat Jun 23, 2012 1:42 pm
Location: Germany

Re: Formelsammlung

Postby oliver » Fri Jun 29, 2012 11:15 am

Hallo Klaus,

Prima. Glückwunsch zu Deinen ersten Funktionen!

Du machst hier gar nichts falsch. Version 1.4.1 hat ein Problem mit Kommas in Strings! Bitte lasse entweder das Komma ganz aus, oder benutze stattdessen ein Semikolon.

Statt 'R * I' EVAL kannst Du auch einfacher R*I schreiben. Das ist eine spezielle Syntax in RPL+. Beachte das der gesamte Ausdruck ohne Leerzeichen eingegeben werden muss, um ihn von normaler RPN Syntax unterscheidbar zu machen. (R * I ist gültiges RPN, macht aber ganz was anderes.)
Code: Select all
<< "Spannung [V]: [Ohm] [A]" "" INPUT fromString =R =I
   R*I
>>
oliver
Site Admin
 
Posts: 433
Joined: Sat May 01, 2010 2:11 pm

Re: Formelsammlung

Postby klaus » Fri Jun 29, 2012 2:37 pm

Hallo Oliver,

vielen Dank für deine schnelle Hilfe.
Allerdings ist das Komma im String nicht das Problem gewesen.
Ich habe eine Taste mit dem Buchstaben R belegt und in der Formel die Variable R wieder aufgerufen. Damit hatte ich im Stack die Formel die auf die Taste R hinterlegt ist.
Nachdem ich dieser Taste einen anderen Namen gegeben hatte. Funktioniert alles wie erwartet.
Allerdings ist es Schade dass meine die Parameter nicht als Zehnerpotenzen eingeben kann.
Gruß Klaus
klaus
 
Posts: 41
Joined: Sat Jun 23, 2012 1:42 pm
Location: Germany

Re: Formelsammlung

Postby oliver » Fri Jun 29, 2012 3:58 pm

Ok, ich verstehe. Das Komma sollte jedoch auch ein Problem gewesen sein.

Allerdings ist es Schade dass meine die Parameter nicht als Zehnerpotenzen eingeben kann.


Wie gibt Du diese ein? 2e5 oder 2E5 sind schon erlaubt.

Wenn Du's wirklich ernst meinst, kannst Du beliebige Eingabeformate unterstützen, da INPUT einfach nur einen String zurück gibt. Um z.B. eine Eingabe wie "3,4GW" akzeptabel zu machen, würdest Du den String auseinandernehmen, die Einheit parsen und einen Multiplikator umwandeln, und dann mit der Zahl multilplizieren. (Faktoren wie die SI Vorsätze sind per existierender Funktion abrufbar.) Das ganze könnte einmal geschrieben werden, in einen Ordner gesteckt werden, und dann beliebig benutzt werden (als Helfer.fromUnitString (Phantasiename) anstatt fromString).
oliver
Site Admin
 
Posts: 433
Joined: Sat May 01, 2010 2:11 pm

Re: Formelsammlung

Postby klaus » Sat Jun 30, 2012 10:33 am

Hallo Oliver,

vielen Dank. Das mit der Eingabe 2E5 hatte ich ganz übersehen.
Eine Eingabe im Zehnerpotenzenformat reicht mir aus.
Gruß Klaus
klaus
 
Posts: 41
Joined: Sat Jun 23, 2012 1:42 pm
Location: Germany


Return to Auf Deutsch

Who is online

Users browsing this forum: No registered users and 1 guest

cron