Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Mathemax - kleiner Rechner und Graphenersteller (https://www.delphipraxis.net/94163-mathemax-kleiner-rechner-und-graphenersteller.html)

naudoc 17. Jun 2007 14:22


Mathemax - kleiner Rechner und Graphenersteller
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

hab mal rumprogrammiert, und das kam bei raus:

Ein mathematischer Parser.
Er kann:
-Terme rechnen
-Werte in Funktionen berechnen
-Graphen zeichnen
-Ableiten
-Ableitungen zeichnen
-Gleichungen lösen
-Tangenten an Graphen zeichnen
-...

Ableitungen sind nicht alle korrekt, da ich manchmal selber nicht weiss, wie man sowas rechnet(erst Klasse 11) aber das kommt noch, da ich sehrbald Mathe u Physik LK habe...

Bin froh über jede Anregung!

Danke!

Edit: Noch ein Bild

Edit2: 19.06.07: MathemaxV1.6 //gelöscht

Edit3: 21.06.07: MathemaxV1.7 //gelöscht

Edit4: 23.07.07: MathemaxV1.8

juergen 17. Jun 2007 14:54

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Hallo naudock,

ganz interessant und schon gut gelungen.
Was würde ich anders machen/ändern?
- das Eingabefeld nur für Zahlen, Backspace und Komma zulassen, so dass der Anwender die Rechenoperationen ausschließlich über die Combobox auswählen muss (vermeidet Fehleingaben)
- wenn man z.B. in längere Funktion eingegeben hat und später eine vorhandene Rechenoperation in der Mitte des Eingabefeldes markiert und durch eine andere Rechenoperation ersetzen will, wird nicht die markierte Stelle überschrieben sondern es wird hintendran
- wenn man vor einem Klammerpaar keine Multiplikation setzt, wird es als Fehler ausgewiesen. Normale Interpretation wäre: kein Multiplikationszeichen entspricht Multiplikation
- unten den gesamten Fuß entfernen. Spart Platz. Dafür oben eine neue Menüleiste. Dort einen About-Aufruf rein.
- in der neuen Menüleiste einen neuen Aufruf: -> Beispiele. Hier 4-8 interssante Beispiele bereitstellen. Diese "erwecken die Neugier"... :mrgreen:

naudoc 17. Jun 2007 15:06

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Danke für das Feedback, also...
ich nummerier deine Anregungen mal gerade...

1 das Eingabefeld nur für Zahlen, Backspace und Komma zulassen, so dass der Anwender die Rechenoperationen ausschließlich über die Combobox auswählen muss (vermeidet Fehleingaben)

2 wenn man z.B. in längere Funktion eingegeben hat und später eine vorhandene Rechenoperation in der Mitte des Eingabefeldes markiert und durch eine andere Rechenoperation ersetzen will, wird nicht die markierte Stelle überschrieben sondern es wird hintendran

3 wenn man vor einem Klammerpaar keine Multiplikation setzt, wird es als Fehler ausgewiesen. Normale Interpretation wäre: kein Multiplikationszeichen entspricht Multiplikation

4 unten den gesamten Fuß entfernen. Spart Platz. Dafür oben eine neue Menüleiste. Dort einen About-Aufruf rein.

5 in der neuen Menüleiste einen neuen Aufruf: -> Beispiele. Hier 4-8 interssante Beispiele bereitstellen. Diese "erwecken die Neugier"

Antworten:

1 ich wollte ja, dass man alles eingeben kann, um zeit und elendes Suchen zu sparen, wer falsch eingibt ist zu doof ;)

2 kommt sehr sehr bald, nervt mich auch!

3 welche funktion hast du getestet? funktioniert bei mir... (zb 2(5)=10 oder so)

4 gute Idee, werd ich drüber nachdenken

5 wär auch ne gute idee

Tiuri 17. Jun 2007 15:20

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Hi,
ist en schönes Programm, mir ist beim ersten testen nur aufgefallen, dass wenn ich die Gleichung x^2=0 eingebe, als Lösung x=wurzel(1) rauskommt. Es wäre schön, wenn das Programm die Wurzeln ausrechnen würde, zumal die Wurtel aus 1 ja bekanntlich 1 ist.

Torpedo 17. Jun 2007 16:20

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Nettes Programm. Habe auch einen Fehler gefunden:
Pi*x kann nicht abgeleitet werden, müsste aber Pi sein.

Helmi 17. Jun 2007 16:53

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

mir ist was anderes aufgefallen:
Das Fenster, dass beim Drücken auf den Button "mehrere Funktionen" (Page: "Graphen zeichnen") geöffnet wird, ist maximierbar. Die einzelnen Controls maximieren sich aber nicht mit. Ich denke mal du willst, dass dieses Fenster nicht maximierbar ist.

[Edit]
siehe Pic: Deine Einheitenstriche (oder wie man diese schwarzen Dinger immer nennt :-) ) liegen nicht direkt auf dem Gitternetz

DMW 17. Jun 2007 17:05

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Wow, nicht schlecht!

Vielleicht solltest du noch etwas zum Vereinfachen von Termen einbauen, wodurch Dinge wie "1*(((x)))" beseitigt werden.
Für eine Facharbeit hatte ich mal eine Klasse geschrieben (math::Expression; Quelltext und Demoprogramm enthalten), die in der Lage war, simple Vereinfachungen vorzunehmen. Das war allerdings wesentlich schwerer zu implementieren als Ableiten...

Ein Fehler tritt bei mir auf: wenn ich das Programm starte, erhalte ich die Fehlermeldung "-6,5 ist kein gültiger Gleitkommawert.". Das liegt vermutlich daran, daß ich auf meinem Windows '.' als Dezimalseparator eingestellt habe. Vielleicht sollte sich dein Programm auch an die entsprechende Einstellung im OS halten, sonst bekommt es Probleme auf Rechnern im nicht deutschsprachigen Raum. (Die globale Variable DecimalSeparator gibt den aktuellen Dezimalseparator an.)

naudoc 17. Jun 2007 23:15

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Hi,
danke für die vielen Anregungen, nun meine Antworten:


Zitat:

Zitat von Tiuri
Hi,
ist en schönes Programm, mir ist beim ersten testen nur aufgefallen, dass wenn ich die Gleichung x^2=0 eingebe, als Lösung x=wurzel(1) rauskommt. Es wäre schön, wenn das Programm die Wurzeln ausrechnen würde, zumal die Wurtel aus 1 ja bekanntlich 1 ist.

Das ist so, weil man so auch andere Variablen benutzen kann ( sin(x)=hallo --> x=arcsin(hallo) )


Zitat:

Zitat von Torpedo
Nettes Programm. Habe auch einen Fehler gefunden:
Pi*x kann nicht abgeleitet werden, müsste aber Pi sein.

Bei der Ableitung habe ich das Pi vergessen... :oops: aber die ist sowieso nur für einfachste Fkt.


Zitat:

Zitat von Helmi
Hallo,

mir ist was anderes aufgefallen:
Das Fenster, dass beim Drücken auf den Button "mehrere Funktionen" (Page: "Graphen zeichnen") geöffnet wird, ist maximierbar. Die einzelnen Controls maximieren sich aber nicht mit. Ich denke mal du willst, dass dieses Fenster nicht maximierbar ist.

[Edit]
siehe Pic: Deine Einheitenstriche (oder wie man diese schwarzen Dinger immer nennt :-) ) liegen nicht direkt auf dem Gitternetz

Fenster ist in der nächsten VErsion nicht maximierbar(danke!), der Strich ist daneben, damit er auffällt


Zitat:

Zitat von DMW
Wow, nicht schlecht!

Vielleicht solltest du noch etwas zum Vereinfachen von Termen einbauen, wodurch Dinge wie "1*(((x)))" beseitigt werden.
Für eine Facharbeit hatte ich mal eine Klasse geschrieben (math::Expression; Quelltext und Demoprogramm enthalten), die in der Lage war, simple Vereinfachungen vorzunehmen. Das war allerdings wesentlich schwerer zu implementieren als Ableiten...

Ein Fehler tritt bei mir auf: wenn ich das Programm starte, erhalte ich die Fehlermeldung "-6,5 ist kein gültiger Gleitkommawert.". Das liegt vermutlich daran, daß ich auf meinem Windows '.' als Dezimalseparator eingestellt habe. Vielleicht sollte sich dein Programm auch an die entsprechende Einstellung im OS halten, sonst bekommt es Probleme auf Rechnern im nicht deutschsprachigen Raum. (Die globale Variable DecimalSeparator gibt den aktuellen Dezimalseparator an.)

Das mit dem vereinfachen ist ein bisschen viel Arbeit, dafür, dasss es nur dem Aussehen dient, und ich wollte das Progamm nicht ins Ausland exportieren ;) ... Werd aber drüber nachdenken....


DANKE AN ALLE! :thumb:
feedbacked (:mrgreen:) bitte weiter

mfG Max

fLaSh11 18. Jun 2007 17:20

Re: Mathemax - kleiner Rechner und Graphenersteller
 
ich hab da ein fehler im Graphenzeichner gefunden...

Wenn ich mir die (übertriebene^^) Funktion f(x)=200000000000000x+0,00009 zeichnen lasse, kommt im kleinen bild nix, im großen lauter senkrechte Striche (einer wär ja ok^^)... :stupid:

sirius 18. Jun 2007 17:57

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von fLaSh11
ich hab da ein fehler im Graphenzeichner gefunden...

Wenn ich mir die (übertriebene^^) Funktion f(x)=200000000000000x+0,00009 zeichnen lasse, kommt im kleinen bild nix, im großen lauter senkrechte Striche (einer wär ja ok^^)... :stupid:

Das dürfte ein Fehler von TChart sein, den ich auch schon in anderen Dimensionen festgestellt habe.

Edit: Bei einem meiner Programme tritt dies auch bei großen Zahlen auf (besonders wenn man zoomt; siehe Bild: der letzte senkrechte Strich sollte nicht existieren)

fLaSh11 19. Jun 2007 14:35

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Liste der Anhänge anzeigen (Anzahl: 1)
du musst ja nicht TChart nehmen, sondern kannst deine Grafik auch selber zeichen...

und hier noch ein fehler: der term ist falsch und abgeleitet wird trotzdem...

HuxXx 19. Jun 2007 15:24

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Hallo.

Dein Programm interpretiert eine Sinusfunktion, wie z.B. "f(x) = sin(45)" als eine normale Zahl (zahl*x^0) und leitet diese dann auch entsprechend falsch ab.

Ich erhalte als Ergebnis von deinem Programm "0" (was ja die Ableitung einer normalen Zahl ist), obwohl das Ergebnis, soweit ich's in der Schule mitbekommen hab, "f'(x) = cos(45)" ist.

Ansonsten ein nettes Programm.

Greetz, Hux.

/Edit:
Geb ich 2x ein, bekomme ich als Ableitung 2 raus.
Gebe ich aber 2X (großes X), so lautet das Ergebnis nach deinem Programm 0.

fLaSh11 19. Jun 2007 15:46

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Zitat:

Zitat von HuxXx
Hallo.

Dein Programm interpretiert eine Sinusfunktion, wie z.B. "f(x) = sin(45)" als eine normale Zahl (zahl*x^0) und leitet diese dann auch entsprechend falsch ab.

ist sin(45) nicht eine normale Zahl?^^ (ca. 0,851)
was du meinst ist sin(x) und das wird korrekt abgeleitet...

HuxXx 19. Jun 2007 19:16

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Zitat:

Zitat von fLaSh11
ist sin(45) nicht eine normale Zahl?^^ (ca. 0,851)
was du meinst ist sin(x) und das wird korrekt abgeleitet...

Was ich meinte ist, dass die Ableitungen von Sinus/Cosinus nicht berücksichtigt werden.
Klar ist der Sinus von 45 eine normale Zahl, aber in einem Schaubild gibt die 1. Ableitung f'(x) einer Funktion die Steigung eines Punkt X an.
Und wenn die 1. Ableitung von sin(x) 0 wäre, heißt das ja, dass es bei einer Sinusfunktion gar keine Steigung gäbe (sprich die Sinusfunktion wäre parallel zur X-Achse).

Hier die Regel zur Ableitung von Sinus/Cosinus:

Zitat:

Zitat von Hux' Mathebuch
Für die Funktion f mit f(x) = sin x gilt für f'(x) = cos x.
Für die Funktion g mit g(x) = cos x gilt g'(x) = -sin x

Greetz, Hux.

3_of_8 19. Jun 2007 19:35

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Der Graph von f(x)=2^x kann nicht gezeichnet werden...

fLaSh11 19. Jun 2007 22:21

Re: Mathemax - kleiner Rechner und Graphenersteller
 
@ HuxXx:
die funktion f(x)=sin(45) ist auch eine parallele zur x-Achse! Oder siehst du in dem Term ein x???
Also kannst du sagen, wie du ganz oben richtigerweise festgestellt hat: f(x)=sin(45)*x^0!
Und die ableitung von einer normalen Zahl ist nunmal 0. basta!

Rociel 19. Jun 2007 22:50

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Zitat:

Zitat von Tiuri
Hi,
wenn ich die Gleichung x^2=0 eingebe, als Lösung x=wurzel(1) rauskommt. Es wäre schön, wenn das Programm die Wurzeln ausrechnen würde, zumal die Wurtel aus 1 ja bekanntlich 1 ist.

naja mathematisch genaugenommen kommt nicht 1 sondern +-1 raus... nur ne kleine anmerkung ;)

~add~ zum unteren post, es geht mir eher ums +-wurzel(irgendwas) =), die null hab ich garnit gesehn ^^

fLaSh11 19. Jun 2007 22:55

Re: Mathemax - kleiner Rechner und Graphenersteller
 
x^2=0 => x=0^^ komisch :) (1^2 = 1)

naudoc 19. Jun 2007 23:47

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Hallo,

habe neue Version 1.6 reingestellt...

meine Antworten:

In meinem Programm ist Ableitung von sin(x) soweit ich weiß cos(x);
2^x geht nicht, weil ich vergaß(auch in 1.6!) das HOCH (^) auch für rationale Zahlen zu ermöglichen... :oops: ;
Bei Gleichungen muss ich das +- noch einfügen...;
und


Zitat:

Zitat von fLaSh11
x^2=0 => x=0^^ komisch :) (1^2 = 1)

versteh ich nicht...
x^2=0 -> x=0 weil 0^2=0;
x^2=1 -> x=1 weil 1^2=1;
stimmt doch, oder?

mfG

naudoc 21. Jun 2007 20:44

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Hallo, kann mir da jemand helfen?

mfG

Rociel 21. Jun 2007 21:39

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Zitat:

Zitat von naudoc
x^2=0 -> x=0 weil 0^2=0;

voll und ganz richtig

Zitat:

Zitat von naudoc
x^2=1 -> x=1 weil 1^2=1;

nicht ganz

der schluss dass 1^2=1 ist richtig, somit ist für die gleichung
x^2=1
"1" eine lösung, aber "-1" ist auch eine lösung, denn (-1)(-1) ist auch eins =)
du musst nur schaun, dass du bei geraden funktionen vor wurzel() bzw. dem reellen Wert ein +- steht, wenns mathematisch korrekt sein soll

fLaSh11 21. Jun 2007 21:52

Re: Mathemax - kleiner Rechner und Graphenersteller
 
das ist ja jetzt groß und breit diskutiert worden ;)

naudoc 21. Jun 2007 22:06

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Zitat:

Zitat von Rociel
Zitat:

Zitat von naudoc
x^2=0 -> x=0 weil 0^2=0;

voll und ganz richtig

Zitat:

Zitat von naudoc
x^2=1 -> x=1 weil 1^2=1;

nicht ganz

der schluss dass 1^2=1 ist richtig, somit ist für die gleichung
x^2=1
"1" eine lösung, aber "-1" ist auch eine lösung, denn (-1)(-1) ist auch eins =)
du musst nur schaun, dass du bei geraden funktionen vor wurzel() bzw. dem reellen Wert ein +- steht, wenns mathematisch korrekt sein soll

Mir gings eher darum, dass ich nicht versteh was flash komisch findet...

PS: Gleich ist die neue Version online!

mfG

naudoc 21. Jun 2007 22:17

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Mathemax Version 1.7:

Verbesserungen zu 1.6:

-in der Ableitung darf kein '=' mehr vorkommen;
-x^2=... wird korrekt aufgelöst;
-Fkt wie 2^x kann man zeichnen;
-Graphen sind als *.jpg speicherbar
-...

naudoc 25. Jun 2007 20:24

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Hey... schon 8 mal heruntergeladen, aber keiner meldet sich hier...
Ist das ein gutes Zeichen?
Lasst mal was von euch hören...

mfG

lbccaleb 25. Jun 2007 20:41

Re: Mathemax - kleiner Rechner und Graphenersteller
 
hey,

hab da doch glatt noch was für dich siehe hier

naudoc 25. Jun 2007 20:52

Re: Mathemax - kleiner Rechner und Graphenersteller
 
??

lbccaleb 25. Jun 2007 20:56

Re: Mathemax - kleiner Rechner und Graphenersteller
 
na ich mein das währe doch noch ne schöne geschichte in deinem programm???!!

naudoc 19. Jul 2007 18:09

Re: Mathemax - kleiner Rechner und Graphenersteller
 
INFO:

Bald kommt Version1.8, deshalb bitte ich, wenn ihr Verbesserungsvorschläge habt, sie jetzt noch schnell zu nennen! Danke!

mfG

dominikkv 19. Jul 2007 18:22

Re: Mathemax - kleiner Rechner und Graphenersteller
 
ich löse die Gleichung
Zitat:

2x=4+4
nach x auf.
Lösung:
Zitat:

x=4+4/(2)
also x = 6
eigendlich wäre x = 4 richtig

Rociel 19. Jul 2007 18:23

Re: Mathemax - kleiner Rechner und Graphenersteller
 
nur fehlende klammersetzung, man könnte auch über bruchstriche nachdenken =)

also wenn de alles fertig hast, was de machen wolltest, dann kannste dich ja an Gleichungssysteme setzen (Gauß),
danach dann vllt. was mit mehreren veränderlichen und 3d plots, ja und wenn de dann noch was machen willst, kannste dich an die Integration setzen =)

dominikkv 19. Jul 2007 18:26

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Zitat:

Zitat von Rociel
nur fehlende klammersetzung

eben, aber genau das macht das ergebnis falsch!

naudoc 20. Jul 2007 01:57

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Hallo,
Danke, der Klammerfehler ist in der neuen Version behoben. Mit Gauß und Integretion warte ich, bis ich in der Schule die Grundprinzipien erklärt bekomme...
mfG

Rociel 20. Jul 2007 10:41

Re: Mathemax - kleiner Rechner und Graphenersteller
 
noch schüler?

hm... dann wart mal mit der integration n bissl, je nach dem, was ihr macht kannste die ersten schon lösen, ansonsten wenn das niveau wie bei uns is, dann hilft nur noch wiki ;)

naudoc 22. Jul 2007 15:34

Re: Mathemax - kleiner Rechner und Graphenersteller
 
JO,
oder ihr wartet bis ich evtl in 4 Jahren Mathe studier ;)

sirius 22. Jul 2007 15:59

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Zitat:

Zitat von naudoc
JO,
oder ihr wartet bis ich evtl in 4 Jahren Mathe studier ;)

Dann wirst du dich mit so nem Krimskrams wie reelle Funktionen nicht mehr beschäftigen. Dann warten höhere Mathematik :mrgreen:

naudoc 23. Jul 2007 15:08

Re: Mathemax - kleiner Rechner und Graphenersteller
 
Mathemax Version 1.8:

Verbesserungen zu 1.7:

-Gleichungen werden ganz korrekt gelöst;
-Tangenten können an Graphen gezeichnet werden;
-Ableitungen werden vollkommen korrekt gezeichnet;
-...

Download auf Seite 1 im ersten Beitrag!

mfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr.

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