In welcher Sprache Matheaufgaben lösen und darstellen?

marko11

Lt. Junior Grade
Registriert
Nov. 2009
Beiträge
282
Hallo,

ich habe nur wenig Erfahrung im Programmieren (ein paar Semester Java/C in der Uni) und möchte folgendes realisieren:

  1. Das Programm soll eine zufällige mathematische Funktion aufstellen (z.B. f(x)=x²)
  2. Das Programm soll mit dieser Funktion Berechnungen durchführen (z.B. ableiten, Nullstellen/Extremstellen berechnen)
  3. Das Programm soll Aufgabe und Lösung als Tex-Code ausgeben.


Meine Fragen:
Welche Sprache könnte ich hierfür am Besten verwenden? Mich interessiert insbesondere, wie ich die Schnittstelle zu irgendeiner Mathematik-Software realisiere, die mir Aufgaben berechnet und Ergebnisse ausgibt.

Mich interessieren dabei nicht nur Funktionen, sondern idealerweise berechnet das Matheprogramm auch Vektoren, Ebenen, Geraden oder plottet sogar Funktionen.

Vielen Dank für Anregungen
 
Ich sag jetzt mal ganz blöd:
Excel + VBasic
 
Jo, schon, aber er möchte ja selber was basteln.
:)
 
Visual Basic :freak:

Machs doch einfach in C/Java/C#/... spielt eigentlich keine Rolle.
 
Ich meinte ja das in Excel vorhande VBasic/Makros...
 
Ich werfe mal Python mit SciPy in dem Raum. Das kann erstmal nur numerische Berechnungen. Dafür gibt es auch eine Bibliothek names matplotlib für's plotten. Da wurde sich ein wenig an Matlab orientiert. Aber du willst ja eher was symbolisches - da wird's ein wenig schwieriger. Auf der SciPy Seite werden auch symbolische Erweiterungen aufgeführt - keine Ahnung ob die gut. Jedenfalls ist SciPy OpenSource und kostenlos. Matlab ist ja, wenn man nicht gerade Student ist, nicht gerade preisgünstig...
 
Python mit SciPy schaue ich mir mal an, kannte ich bisher nicht.

Will mir nicht unbedingt selbst was basteln sondern einfach ein Programm, welches auf einen Klick ein Aufgabenblatt mit Aufgaben inkl. Lösungen erstellt. Die Aufgaben sollen möglichst alle Grundaufgaben der Oberstufe abdecken (Kurvendiskussion, Geometrie, etc...)
 
In SICP steht ein Beispiel für symbolische differentiation. Zufällige Funktionen aufstellen und sie als TeX exportieren ist ja trivial und schnell zu ergänzen. Die verwendete Sprache ist hier Scheme. Allgemein ist Lisp geradezu für solche Aufgaben geschaffen.
 
Deine geforderten Features sind nicht trivial. Ein Nullstellenproblem zu lösen kann beispielsweise sehr komplex werden. Wenn du die nötigen Algorithmen nicht selbst programmieren willst oder kannst würde ich dir zu einer Mathematik-Suite raten, z.B. so Dinger wie Matlab, Mathematica, Maple, ... Die sind im Kern wie eine Programmiersprache organisiert, mit der du direkt solche Sachen berechnen kannst, ohne die Details dahinter zu kennen.
 
Du könntest dir die Programme mal anschauen, mit denen SAGE ein Interface aufbaut...
SAGE ist in Python geschrieben und ein generelles Interface für einige OpenSource Matheprogramme (trivialere Sachen kann es aber meist auch gleich selbst in Python lösen)

Hauptprobleme die ich sehe:
* Sicherstellen, dass die "zufälligen" Probleme nicht trivial oder hochkomplex sind, also eine Art "Schwierigkeitsgrad" sollte auch noch berechnet werden (z.B. wieviele Schritte man mit Verfahren X braucht um das Problem zu lösen?)
* Schrittweise Ausgabe von Lösungen ist meist nicht unbedingt die Stärke von Mathesoftware - die ist dazu gemacht schnell auf die fertige Lösung zu kommen und der ist es dann meist auch egal ob man in irgendeinem Zwischenschritt hübsch vereinfachen kann oder nicht...

TeX-Modul hat SAGE so weit ich weiß schon dabei und Oberstufenmathe sollte es ohne Probleme berechnen können. Schwieriger ist wie gesagt die Probleme zufällig zu finden + zu bewerten sowie den kompletten Lösungsweg "schülergerecht" Schritt für Schritt durchzugehen.
 
Zurück
Oben