Mathematics

Es gibt 58 Antworten in diesem Thema. Der letzte Beitrag () ist von Link275.

    Mathematics

    Hallo zusammen,

    ich wollte euch mal ein Mathematik-Programm von mir vorstellen, an dem ich die letzten Wochen gearbeitet habe.
    Ich habe es in C# geschrieben, weshalb es auch nicht im Showroom gelandet ist. Es ist bei weitem noch nicht fertig
    und enthält noch viele Fehler.

    Hier mal ein paar Features:
    • Formeleditor (Bruch, Potenz, Wurzel, uvm)
    • Summen-, Integral- und Grenzwertberechnung
    • Funktionsplotter
    • Variablen & Funktionen definieren
    • Nullstellenberechnung (Newtonverfahren, komplexe Nst)
    • einfache Funktionen differenzieren (Hoch-/Tief-/Wendepunkt)
    • Stammfunktion bilden (Integralrechnung)
    • Polynomberechnungen (z.B. Polynomdivision, uvm)
    • Vektorrechnung (Determinante, Matrizenmultiplikation, Vektorprodukt, uvm)
    • lineare Gleichungssysteme lösen (beliebig viele Unbekannte/Gleichunge)
    • Gleichungen umstellen (nach einer beliebigen Variable)


    Screenshot:


    Hier gibt es noch weitere Infos

    Download: ZIP (ca 100 KB)
    Version: 0.9 (Alpha)

    NEU: VERSION 2.0 gibt es hier

    Die Zip-Datei enthält neben der EXE auch noch Beispielfunktionen und -gleichungen,
    welche im Programm geöffnet und "ausprobiert" werden können.

    Reproduzierbare Fehler oder Verbesserungsvorschläge können gerne gepostet werden.
    Würde mich über Feedback freuen...
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Agent“ ()

    Dickes Lob!!

    Finde deinen "Multifunktionsrechner" kann man ihn so nennen? ^^
    sehr gut! Kommt Grade recht da ich bis zum ende der Sommerferien
    die komplette Kurvendiskussion im Schlaf rauf und runter leiern können muss
    und jetzt Grade angefangen habe zu lernen ist dein Multifunktionsrechner der
    ultimative Helfer! Danke 8-)

    Hoffe die etwas mehr Erfahrenen Mathematiker hier können dir bessere konstruktive
    Kritik bieten als ich.. aber aufjedenfall Danke :thumbsup:
    Folgende unendliche Reihe erzeugt bei mir einen Fehler:

    Quellcode

    1. lim(sum(x;1;n;1/(x^2));n;infinity%;)

    Quellcode

    1. System.OverflowException: Die arithmetische Operation hat einen Überlauf verursacht.
    2. bei Mathematics.Sum.calc()
    3. bei Mathematics.Formula.calc()
    4. bei Mathematics.Limes.calc()
    5. bei Mathematics.Formula.calc()
    6. bei Mathematics.MainForm.calcFormula(String aFormula)
    7. bei Mathematics.MainForm.applyFormula()
    8. bei Mathematics.MainForm.BerechnenToolStripMenuItemClick(Object sender, EventArgs e)
    9. bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)

    Außerdem finde ich, hier bei Limes und Summe schön zu sehen, die Position, an der das Term-Argument steht, inkonsequent.
    Ansonsten scheint mir das ein wirklich umfangreiches Programm zu sein!
    Hi.
    Wirklich große Zahlen kann er leider nicht hantieren:

    Quellcode

    1. sqrt(4^3^2^2^2)


    ->

    Quellcode

    1. sqrt(4³²²²)
    2. ==========
    3. +unendlich
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.
    @Beep!: Antialiasing, stimmt, jetzt wo du es erwähnst ^^

    @Chrisper: Doch, jedoch ist hier eine Klammerung erforderlich:

    Quellcode

    1. sqrt((((4^3)^2)^2)^2)

    16777216
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Also, allg. ist das Programm gut. Aber mit den Gleichungen komm ich mal garnicht klar. KA wie ich Gleichungen erstellen soll :S. Evtl. kannst du es ja so machen das man zB folgendes eingeben kann:
    x/2+3=y+8 and y+2=2x+4
    was ein Gleichungssystem währe (ganz gleich obs lösbar ist oder nich). Evtl. dann auch so das man statt 2x 2*x schreibt, aber mir gefällt das erste besser.
    @Renati: ja für unendliche Reihen ist das Programm wohl eher nicht geeignet

    @progglord:
    ich glaube das was du meinst sind lineare Gleichungssysteme, die gibts unter Extras
    das Menü "Gleichungen" hat folgenden Zweck: du hast eine Gleichung mit n Variablen,
    z.B. aus der Physik, und willst diese nach einer bestimmten Variablen umstellen,
    wobei du alle anderen Variablen kennst.
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Ja das stimmt natürlich, ist etwas gewöhungsbedürftig am Anfang, da wäre eine Stringeingabe schon besser. Mal sehen was sich da machen lässt...
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    evtl. wäre es besser, wenn du die Berechnungen mit Strings machen würdest(also nicht "1" + "3", sondern nur, dass du es als String speicherst und dir deine eigenen Rechenfunktion schreibst - so würde man einen BigInteger machen - dasselbe müsstest du dann nurnoch für Kommazahlen umsetzen...)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    neue Version

    So hab eine neue Version hochgeladen.

    Die Änderungen sind:
    • Antialiasing der Formel (wahlweise per Menü einstellbar)
    • Fehler mit unendlichen Reihen behoben
    • Lineares Gleichungssystem jetzt auch per Stringeingabe möglich
    • Lineares+Quadratisches GS jetzt im Gleichungsmenü
    • viele kleine Bug-Fixes


    Sonst noch Fehler oder Verbesserungsvorschläge?
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Menü "Gleichung / Lineares..." und dann auf "Texteingabe"

    PS: Der Koeffizient der Variable muss immer VOR der Variable stehen,
    also nicht "x/2" sondern "1/2x" !
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    mhh....
    Ich meinte mehr das man Gleichungen, Gleichungssystem, quadratische Gleichungen, Ungleichungen etc. alles über die Eingabezeile machen kann.
    Sodass man zB sowas eingeben kann (hab ich mir einfach so ausgedacht):

    Quellcode

    1. 8x+y=x*y^2 and x^2+y/2=9x^3

    Ergebnis: x=-0,563 y= -3,852; x=0 y=0; x=0,631 y=3,729 (Mein TR hat 1-2min gebraucht)
    ok, das Beispiel könnte bissl schwer werden :D.
    Aber zB einfache Gleichungen:

    Quellcode

    1. x+2=2x+4
    (Ergebnis: -2, für die dies nicht selbst rechnen können.)
    das man das einfach eingeben kann und es gelöst wird (meinetwegen auch mit einem solve( ... ) o.ä.)
    Kann dein Taschenrechner auch diese Gleichung lösen?

    Quellcode

    1. -2v - w + 3x - 2y + 4z = -1
    2. 4v - 2w + 5x + y + 7z = 2
    3. 2v - w + x + 8y + 2z = 1
    4. 8v - 2w + 3x + 11y + 5z = 4


    Also es gehen bisher:
    • lineare Gleichungen ala "x+2=2x+4" mit bis zu 10 variablen/gleichungen
    • quadratische Gleichungen ala "0=ax²+bx+c" wobei a,b,c wieder eigenständige Formeln ohne x sein können
    • Nullstellenberechnung für beliebige mathematische Funktionen (z.B. 0=x³-x²+x....)
    • Gleichungen nach einer Unbekannten umstellen wobei alle anderen Variablen bekannt sind

    Andere Gleichungssysteme gehen (bisher) nicht, und sind auch eher ungebräuchlich...
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Das ist ein klasse Programm. :thumbsup: Es ist auch sehr umfangreich. Wenn ich Zeit habe, werde ich mal alles ausprobieren.

    Jedoch ist mir schon etwas aufgefallen: Wenn ich (-3)! eingebe, erhalte ich als Ergebnis 6. Es müsste aber eigentlich eine Fehlermeldung kommen, da die Fakultät für negative (und auch nicht-ganze) Zahlen nicht definiert ist.

    Der Funktionsplot ist ziemlich cool. :thumbup: Noch besser fände ich es, wenn die Gitternetzlinien an den Achsen beschriftet wären, also z. B. -2, -1, 0, 1, 2.

    Außerdem: Im Menü "Extras" sind folgende Punkte grau: "Komplexe Zahlen", "Schwingungen" und "Zahlensysteme". Kommt das in einer späteren Version? Vor allem der Punkt "Komplexe Zahlen" würde mich interessieren.

    Agent schrieb:

    Kann dein Taschenrechner auch diese Gleichung lösen?

    Ja kann er ;). Einfach in die solve anweisung mehrere ands schreiben also inetwa so:
    solve(gl1 and gl2 and gl3 and gl4, x) (das ,x nur damit er weiß wonach er umstellen soll ist zwar rel. sinnlos muss man aber machen)
    und man kann auch mit koeffizientenmatrizzen rechnen.

    neue Version

    Habe nochmal eine neue Version hochgeladen.

    Die Änderungen sind hauptsächlich im Funktionsplotter:
    • Farbe und Linienstärke jeder Funktion einstellbar (Kontextmenü)
    • Funktionspunkte mit Name und X-Wert für jede Funktion [z.B. P(x/f(x)) ]
    • automatische Funktionspunkte-Generierung einer Kurvendiskussion (Nullstellen, Hoch-,Tief-,Sattel-,Wendepunkte)
    • Achsenbeschriftungen
    • Warnung bei Fakultät wenn keine natürliche Zahl angegeben wurde
    • kleinere Bug-Fixes

    Screenshot:



    @progglord: hätte mich mal interessiert was dein TR ausspuckt, gibt da nämlich mehrere Lösungen,
    je nachdem nach welcher Var. man auflöst, da nur 4 Gleichungen vs 5 Unbekannte

    @roddy: ja die grauen Menüpunkte hatte ich noch geplant
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()