30 Stimmen

OpenSouce C/C++ Mathematischer Ausdruck Parser Bibliothek

Ich bin auf der Suche nach einer guten Open-Source-Mathe-Bibliothek, die Dinge wie tun kann:

  • Parsen von math. Ausdrücken "1+1*(3/5)"
  • Integration

Weiß jemand etwas in dieser Richtung?

7voto

lhf Punkte 67202

Außerdem gibt es GNU libmatheval die eine Bewertung und Differenzierung vornimmt. Integration ist eine viel härter Problem, selbst für unschuldig aussehende Integranden.

5voto

Flexo Punkte 84571

Oktave kann dies tun und kann aufgerufen werden von innerhalb eines C++-Programms . Sie können sogar C++-Code von Octave aus leicht aufrufen, indem Sie SWIG um die Schnittstelle zu erzeugen.

3voto

Victor Liu Punkte 3517

Ich habe immer muParser , geschrieben in C++, für das Parsing. Sie werden keine Bibliothek bekommen, die Integration leisten kann; einfach zu schwierig ohne eine ernsthafte, schwergewichtige Bibliothek. Es gibt symbolische Open-Source-Integratoren wie Maxima, Octave usw., aber sie sind schwer zu integrieren, und die Funktionalität kann nicht einfach vom Rest des Projekts getrennt werden.

2voto

lhf Punkte 67202

Versuchen Sie mein ae Bibliothek, die auf Lua basiert. Siehe auch Mathematische Ausdrücke mit Lua auswerten

1voto

Martin Beckett Punkte 92477

Ein anderer Ansatz besteht darin, eine interpretierte Sprache in Ihre Anwendung einzubetten und den mathematischen Parser dieser Sprache zu verwenden.

LUA wird für diese Zwecke immer beliebter - siehe Wie man Lua in C++ über SWIG einbettet

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X