.| Autor | Beitrag |
|---|---|
|
000 20.10.2008, 19:46 Felheart |
Hallo lieber Thewaller, Ich will jetzt selbst so ein System für den Computer programmieren. Wie ist da die beste vorgehensweise, sodass das Programm später Wurzeln und Als einfaches Bespiel: Wie könnte ich 10x+2x vom Programm als 12x ausgeben lassen ? -- |
|
Profil || Suche |
|
001 20.10.2008, 20:28 Exec |
sag doch mal lieber was das für ein rechner ist. "selbermachen rockt am meisten :D" - -LeJean- |
|
Profil || Suche |
|
002 20.10.2008, 20:39 Kloetengott |
geht ja nicht um den schulrechner, sondern darum das er ein programm basteln will, das selbst formeln löst. ich würde sagen du musst den string in einzelteile zerlegen und einzeln berechnen. also alles x ist in eine variable legen und zusammen rechnen, alles was y ist usw. "Kloetengott: Ich finde Leute die sich selbst zitieren echt armseelig!" |
|
Profil || Suche |
|
003 20.10.2008, 21:12 hausi |
1. Mit yacc (oder ähnlichem) einen Lexer für Mathematische Ausdrücke erstellen Oder ganz einfach: Nach CAS (Computer Algebra System) suchen und einfach ein bereits bestehendes Projekt verwenden / weiterentwickeln. Neuentwicklungen in dieser Grössenordnung lohnen sich eigentlich nie, da sie wegen der Komplexität nicht mehr wirklich als persönliches Weiterbildungsprojekt durchgehen und auf dem Markt schon 100 existieren, die genau das und vieles mehr machen können. --Dieser Beitrag wurde am 20.10.2008 um 21:14 von hausi bearbeitet. |
|
Profil || Suche |
|
004 20.10.2008, 21:12 Felheart |
@002: Stimmt ich will mein eigenes Programm machen. Mit math.h kann man sin,cos,tan, sqrt und andere faxen machen, ja. Allgemein hab ich gedacht mir sowas: http://www.arndt-bruenner.de/mathe/scripts/gleichungssysteme.htm edit: Dieser Beitrag wurde am 20.10.2008 um 21:17 von Felheart bearbeitet. |
|
Profil || Suche |
|
005 20.10.2008, 22:13 dp Administrator |
kurze und lange antwort, 1) vergiss es 2) du willst den input in einen AST parsen, in dem mittels umformungen aufloesen und am ende vereinfachungen auf den gesamten ausdruck anwenden. wenn dir string splitten schon zu aufwaendig ist, bekommst du nichtmal den baum hin. wenn dich das trotzdem nicht abhaelt, als allererstes koenntest du aber mal drueber nachdenken, ob du c, "c mit klassen" oder gar c++ benutzen willst. wie schon festgestellt wurde, hilft math.h hier garnicht bzw. nur bei der -- vergleichsweise trivialen -- auswertung weiter. -- |
|
Profil || Suche |
|
006 21.10.2008, 00:38 Tuboatse-Harald |
Es duerfte wahrscheinlicher sein, dass du Matlab entsprechend debuggst und hex'ed, dass da `(c) by Felheart' drin steht und du Lizenzschluessel vergeben kannst, als dass du jemals selber ein CAS schreibst. Spielst auf einem Niveau mit so einem Idioten, der fuer ein eigenes Spiel ein eigenes Layer 4 Protokoll entwickeln wollte. --Twisted and Brainfire. |
|
Profil || Suche |
|
007 21.10.2008, 03:55 theDon |
Matlab ist _kein_ CAS! Ah, die gute, alte Zeit. -- \o tanz den naziprau! o/ And more than ever, I hope to never fall, |
|
Profil || Suche |
|
008 21.10.2008, 16:39 Felheart |
Ihr habt recht es ist mehr aufwand als gedacht. @dp: Strings splitte ist mir nicht zu aufwändig, ich hab nur gefragt ob es einfacher geht. Hätte ja sein können das ich was überseh und mir mehr Arbeit mach als nötig. @Harald: Was ist mit dir los? Schlechten Tag? -- |
|
Profil || Suche |
|
009 21.10.2008, 18:02 Kriz |
Was Onkel Georg (hrhr) dir damit sagen möchte ist, daß nicht nur der programmierende Aufwand pervers hoch ist für einen Einzelnen, sondern auch das Verständnis dessen, was du im Vorfeld überhaupt begreifen musst, um so einen Termoptimierer zu entwickeln. Lassen wir mal nur das Mathematische beiseite, dann bleiben noch Spezialkenntnisse in Automatentheorie, Syntaxlehre, Grammatiken und Alphabete, reguläre Ausdrücke sowie grundlegende Datenstrukturen (Bäume), meinetwegen auch noch Design Patterns für's Feeling. Das ist Stuff for Staff, sprich für viele Profis in einem Team. Hausi hat's ja schon vorbemerkt: YACC/LEX bzw. BISON/FLEX sind deine Freunde sowie viel Material über C++, Algorithmen und Regular Expressions. Mein Tipp: Probiere dich erstmal an simplen Evaluatoren (+,-,*,/ und Klammern), damit du mal ein Gefühl dafür bekommst, _was_ du eigentlich vorhast. --K:R-I)Z++ |
|
Profil || Suche |
|
010 21.10.2008, 22:58 LeJean |
Die lexikalische Analyse könnte er ggf. mit ein paar Hilfen und Grundwissen über reguläre Ausdrücke noch zusammenbasteln, aber es wird spätestens an der Syntaxanalyse scheitern. Dann eine semantische Analyse um den Syntaxbaum zu attributieren, eine Ausgaberoutine, und und und.. Aber das ist noch lange kein Projekt, das man nur mit "vielen Profis" bewältigen kann! Es bedarf nur äh.. einer - sagen wir "gründlichen" Einarbeitung. -- |
|
Profil || Suche |
|
011 22.10.2008, 13:02 Kriz |
Alles Einzelgänger hier... --K:R-I)Z++ |
|
Profil || Suche |
|
012 22.10.2008, 14:46 scus |
http://maxima.sourceforge.net/ kann Formeln vereinfachen... --sincères amitiés scus |
|
Profil || Suche |

