Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Solvi - der ultimative Matheparser (https://www.delphipraxis.net/64495-solvi-der-ultimative-matheparser.html)

fLaSh11 4. Mär 2006 09:05


Solvi - der ultimative Matheparser
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo DPler,
ich habe schon vor einiger Zeit einen Matheparser programmiert :coder: , der auch Schaubilder zeichnet. Jetzt habe ich ihn gepostet.

Funktionen:
-Operatoren:+,-,*,/,(),sin-,cos-,tan-Funktionen,Logarithmus,...
-Schaubilddarstellung (2d/3d)
-bis zu fünf Funktionen gleichzeitig anzeigbar

Also ist wenn mans so will eigentlich mehr ein graph. Taschenrechner, der aber auch ganz normale Gleichungen löst. :zwinker:

Info:
Der ganze Parser besteht aus einer einzigen Datei (Solvi XP.exe), die ca. 450kb groß ist. (Zip-Archiv ist 250kb groß)

Schauts euch mal an.
Danke fürs Feedback im Vorraus. :thumb:

[edit]Screenshot hinzugefügt[/edit]

Nicolai1234 4. Mär 2006 10:48

Re: Solvi - der ultimative Matheparser
 
:thumb: Soweit ich sehe funktioniert doch alles :thumb: Super

Einen kleinen Vorschlag hätte ichaber noch. Wie wäre es, wenn man den gezeichneten Graphen als bmp oder so in die zwischenablage legen könnte. DAnn könnte man ihn woanders weiterverarbeiten! Das fände ich dann perfekt.

fLaSh11 12. Mär 2006 09:32

Re: Solvi - der ultimative Matheparser
 
hmmm...

Mit
Delphi-Quellcode:
TChart.SaveToMetafile('blah');
bekomme ich immer nur ein super kleines Bild...(50x50px)
Weiß jemand, was ich falsch mache???

Gruß Steffen

Dust Signs 12. Mär 2006 10:06

Re: Solvi - der ultimative Matheparser
 
1.) Wie lästig... Beim Berechnen des Ln erhalte ich massenweise Werte, die nicht berechnet werden können (-5 zB)
2.) Wie wäre es mit einer Funktion zum wieder Heraus-Zoomen?
3.) Wirklich interessant, dass dein Programm bei
Code:
ln(exp(x)
nichtmal einen Fehler meldet
4.) Muss das Fenster unbedingt den ganzen Bildschirm abdecken?
5.)
Code:
x^x
-> "Fehler beim Potenzieren" :gruebel:
6.) Die Berechnungen scheinen teilweise sehr ungenau zu sein - der (Co)sinus erinnert mich teilweise mehr an eine Art Sägezahnfunktion...

Dust Signs

fLaSh11 12. Mär 2006 14:57

Re: Solvi - der ultimative Matheparser
 
1) kannst du kein ln aus einer negativen Zahl ziehen (also den Bereich positiv machen!)

2) einfach nach dem zoomen den breich markieren, der die neue Mitte darstellen soll.

3) exp(x) ist immer größer als 0 => siehe 1)

4) kann ich mal danach schauen...

5) siehe 1)

6) Schrittgröße verkleinern!

... auf alles gibt es eine Antwort!

Dust Signs 12. Mär 2006 15:08

Re: Solvi - der ultimative Matheparser
 
Zitat:

Zitat von fLaSh11
1) kannst du kein ln aus einer negativen Zahl ziehen (also den Bereich positiv machen!)

Natürlich kann ich, das Ergebnis ist dann komplex. Du kannst es zwar nicht darstellen, 10 MessageBoxes müssen trotzdem nicht sein.

Zitat:

2) einfach nach dem zoomen den breich markieren, der die neue Mitte darstellen soll.
Dann kann ich reinzoomen, aber nicht raus - außer ich überseh irgendwas.

Zitat:

3) exp(x) ist immer größer als 0 => siehe 1)
Ich meinte eher den Syntaxfehler (fehlende Klammer)

Dust Signs

Thorben77 12. Mär 2006 15:14

Re: Solvi - der ultimative Matheparser
 
Das Programm erkennt keine Definitionslücken, es kommt nur 'ne Fehlermeldung, dass ein Fehler bei der Division aufgetreten ist :wink: .
Aber sonst super :thumb: .

Dust Signs 12. Mär 2006 15:22

Re: Solvi - der ultimative Matheparser
 
Liste der Anhänge anzeigen (Anzahl: 1)
Achja, wenn wir schon dabei sind:

-> 0^0 ist nicht (eigentlich) definiert (bei dir 0)
-> Wenn ich die Schrittweite kleiner mache, dauert die Berechnung ewig (Begin- bzw. EndUpdate im Memo verwenden)
-> pi und e als Konstanten wären nicht schlecht (wobei pi wichtiger wäre als e, weil man e ja über exp(1) erzeugen kann)
-> Warum verwendest du ein Memo, das nicht read-only ist? -> ListBox
-> Die Funktionen sinh, cosh und tanh fehlen - ebenso die inversen Funktionen zu den Winkelfunktionen (sin, ...) und letzteren
-> Der Syntaxfehler mit der Klammer scheint tiefer begraben zu sein:
Code:
sin(cos(tan(x
ergibt zB ebenfalls einen konstanten Wert :gruebel:
-> Zwei Fehler wie in der Grafik (schwarz markiert) ersichtlich: 1.) der Text der Checkboxes wird abgeschnitten, 2.) wenn man die Schrittgröße etwas verkleinert (0,005 im Beispiel aus der Grafik) stimmen die Achsenbeschriftungen nicht mehr wirklich (runden!).

Dust Signs

fLaSh11 18. Mär 2006 20:22

Re: Solvi - der ultimative Matheparser
 
Bin dabei, die genannten Fehler zu korrigieren, kann mir aber jemand nochmal oben gestellte Frage beantworten? (Forensuche ergab nichts):

Zitat:

Zitat von fLaSh11
hmmm...

Mit
Delphi-Quellcode:
TChart.SaveToMetafile('blah');
bekomme ich immer nur ein super kleines Bild...(50x50px)
Weiß jemand, was ich falsch mache???

Gruß Steffen


DMW 19. Mär 2007 22:34

Re: Solvi - der ultimative Matheparser
 
Metafiles (*.wmf, *.emf) sind keine Bitmap-, sondern Vektorgrafiken, genauer gesagt Anreihungen von skalierbaren GDI-Befehlen, durch die das Bild erzeugt werden kann. Die Windows-Bildvorschau kann AFAIK in Metafiles zoomen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:47 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz