Die App Microsoft Math kann mathematische Formeln mit OCR einscannen und korrekt darstellen und auch ausrechnen. Mein Wunsch ist aber dass man die mathematische Formeln aus Büchern oder PDF in C++ oder in Python-Code automatisch umwandeln kann. Gibt es diese Möglichkeit? Es muss keine App sein, kann auch eine PC-Software sein.
Ich kenne leider keine, kann mir aber auch nicht vorstellen das so was sinnvoll ist - es gibt x (hundert) Wege (iterative,recursiv,...) einen mathematischen Algoritmus in Code aus zu druecken, was bringt mir der Code wenn die Software andere Preferenzen hat als meine Anforderung bedingt? Mit wie viel Parametern sollte die Codegenerierung beeinflussbar sein? Bei der reinen Lösung eines mathematischen Problems gibt es eher selten eine unüberschaubare Anzahl an technischen Umsetzungen des wegen ist dein Eingangsbeispiel "einfacher" Ausserdem: für Trivialalgorithmen braucht man meistens keinen Generator und die komplexen haben einfach zu viel Umsezungsvarianten als das es sinn machen würde
Am einfachsten: Darstellen Am Bildschirm darstellen Ausschneiden Mit Alt+Druck ins Clip Board verfrachten Mit Paint putzen Neu + Ctrl+V einfügen und alles was stört abschneiden Math Das Bild zum Futter vorwerfen Alles mit Bordmitteln und schrecklich kompliziert;-)
@Mad Max Ich Vergaß: Wenn Du den Kram nicht Darstellen kannst: Ein/Dein Handy ersetzt einen Scanner.
warum möchtest du die Formel nicht selbst coden? das scheint mir noch das spannendste am Programmieren zu sein... stimme mit cppbert3 überein. Viele randbedingungen stehen nicht in der Gleichung, wenn ich da schon an die stabilität von Matrixinversion oder ähnlichen Späßen denke - da wählt man dann den Algorithmus abhängig von den Eigenschaften der Matrix. Stichwort: Numerical Recipes Wie oft brauchst du das? Wenn du keine Lust hast, frag einfach hier. Das sind Fragen, die gerne beantwortet werden.
Da fragt man sich, was wohl so schwer daran ist eine mathematische Formel in Code umzusetzen.
Gib doch mal ein Beispiel? Geht es in die Richtung lineares Gleichungssystem lösen oder eher Anwendung des Stoke'schen Integralsatzes?
Mad Max schrieb: > in C++ oder in > Python-Code automatisch umwandeln kann. Nicht alles was man als mathematische Formel schreiben kann lässt sich mit einem Computer rechnen. Das ist halt der Unterschied zwischen Mathematik und Rechnen. Neben dem Rechnen kann man es noch mit einem Computeralgebrasystem versuchen um die Formel symbolisch zu manipulieren. Je nach der zu manipulierenden Formel, den Funktionen des CAS und dem Geschick des Anwenders erhält man vielleicht eine Lösung die sich zum Schluss mit Zahlen ausrechnen lässt. > Gibt es diese Möglichkeit? Es gibt keine universelle Möglichkeit.
Mad Max schrieb: > Die App Microsoft Math kann mathematische Formeln mit OCR einscannen und > korrekt darstellen und auch ausrechnen. Mein Wunsch ist aber dass man > die mathematische Formeln aus Büchern oder PDF in C++ oder in > Python-Code automatisch umwandeln kann. Gibt es diese Möglichkeit? > > Es muss keine App sein, kann auch eine PC-Software sein. Wie oft kommt denn dieser Anwendungsfall vor, als dass eine automatisierte Lösung hierbei hilfreich wäre? Ich stimme den anderen zu, dass hier sehr viel von den Randbedingungen abhängt. Bedenke auch, dass man als Programmierer zum Beispiel die Entscheidung treffen muss welche Datentypen man verwendet. Das mag auch wiederum davon abhängen, welchen Zahlenbereich man denn bei den Eingangsgrößen und beim Ergebnis erwartet etc. Für diverse Formeln gibt es ja schon fertige Bibliotheken, in denen diese umgesetzt sind. Da würde ich mich umschauen. Zum Beispiel bei der GNU Scientific Library: https://www.gnu.org/software/gsl/
:
Bearbeitet durch User
Computerprogramme arbeiten schritt für schritt die Anweisungen ab, die man ihnen gibt. Das wiederspiegelt sich auch in den meisten Computerprogrammen & Programmiersprachen. Aber Mathe, besonders die Algebra, ist ein komplett anderes Konzept. Ob man nun eine Gleichung, eine Ungleichung oder ein Gleichungssystem hat, es geht selten darum, nur ein Resultat auszurechnen. Stattdessen hat man damit komplexe Aussagen darüber, wie gewisse dinge zusammenhängen. Es ist egal wann und in welcher Reihenfolge etwas passiert. Und welche Parameter man hat, und welche man wissen will, kann sich auch mal ändern, und wie man die raus bekommt, ist oft anhand der ursprünglichen Formel Herleitbar. Es gibt keine Anweisungen, keine Zuweisungen, keine Reihenfolge, am ende sind da nur die Zusammenhänge, die beachtet worden sein müssen, und man bekommt vielleicht ein Resultat. Computer sind schlecht in Mathe, besonders der Algebra. Zudem ist oft noch gar kein weg bekannt, gewisse Funktionen umzuformen/umzukehren. Und selbst wenn man die Formeln aufgelöst für die gewünschten Parameter kennt, muss es nicht zwangsläufig genau oder schnell berechenbar sein. z.B. Ich hab mal eine Ungleichung geschrieben, die eine Fell-artige 3D Struktur beschreibt. Das Notitzblatt mit der Formel hab ich mitlerweile verlegt, aber ich hab noch ne interaktive (XY und Pfeiltasten) implementation davon in glsl: https://gistpreview.github.io/?873253bdedb0a9fbcb91c6744a96c623 https://gist.github.com/Daniel-Abrecht/873253bdedb0a9fbcb91c6744a96c623#file-faster-webgl-rendering-rotate-camera-with-arrow-keys-move-with-xy-L48 Das Prinzip ist Simpel, ich hab ne Funktion, der geb ich nen Punkt mit, und das Ergebnis ist innerhalb (<0) ausserhalb (>0) Oberfläche (=0). Zur Visualisierung muss ich momentan so ziemlich alle Punkte durchprobieren, und hab dann nur eine sehr ineffiziente und ungenaue Approximation. Theoretisch müsste ich nur ne Liniengleichung mit dem Funktionsparameter gleichsetzen, die Funktion mit 0 gleichsetzen, und das nach der Distanz zum Betrachtungspunkt auflösen, und schon hätte ich einen sehr effizienten Raytracer für diese Geometrie. Die Formel hinschreiben ist simpel, aber leider ist die Mathematik noch nicht so weit, dass man die Auflösen könnte. Und selbst wenn man es könnte, automatisch mit einem Algorithmus in endlicher Zeit auflösen ist dann nochmal ein ein par Nummern grösseres Problem. Die Mathematik hat hier ein enormes Potential. Würden die paar grundlegenden Algebraprobleme gelöst, und die Mathematik mal in einen brauchbaren Zustand gebracht, es wäre unglaublich, was da plötzlich alles möglich und berechenbar würde. Aber leider ist die Mathematik halt noch nicht so weit, und wird es vermutlich auch nie sein. Schon unglaublich, da hat man ne Sprache, um alles zu Beschreiben, und dann ist sie weder für Menschen noch für Maschinen geeignet. Ich glaub ja langsam, das Problem ist die Sprache der Mathematik selbst. Dieses Logiksystem mit seiner absurden Syntax, unzähligen Erweiterungen, unzähligen Umformungsregeln, Unterbereichen, und verlustbehafteten Operationen ist vermutlich schon so verbastelt, das es sich hier selbst im weg steht. Ich glaube, wir brauchen ne neue Sprache/Formalismus, die all die Umformbarkeitsprobleme mal angeht. Etwas brauchbares halt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.