Funktion eval

eval('expression') wandelt einen analytischen Ausdruck in numerische Darstellung um.

SMath arbeitet mit einem symbolischen Rechenkern, und die meisten Funktionen lassen sich sowohl analytisch als auch numerisch darstellen. Ausgewertet werden sie entweder mit dem symbolischen Operator „→“ oder mit dem numerischen Operator „=“. Beim numerischen „=“ wird das Ergebnis in Gleitkommadarstellung angezeigt, der Ausdruck wird jedoch zuerst symbolisch berechnet. Das kann mitunter sehr zeitaufwendig sein und die Rechengeschwindigkeit drastisch senken. Wenn Sie nur numerische Werte brauchen, können Sie mit eval() die symbolische Berechnung überspringen und die Rechengeschwindigkeit deutlich steigern.

Beispiel:

Sehen Sie sich das folgende Beispiel an, das eval() verwendet (achten Sie auf die Rechenzeit).

Verwendung von eval()

Wenn Sie auf den Ausdruck zeigen, sehen Sie außerdem das Ergebnis der symbolischen Berechnung als Tooltip. Vergleichen Sie die symbolische Darstellung (Tooltip) mit der numerischen („=“).

Vergleichen Sie nun die Rechenzeit desselben Beispiels ohne eval(). Beim Zeigen auf den Ausdruck erscheint außerdem ein Tooltip mit dem Hinweis, dass er zu groß für die Anzeige ist.

Ohne eval()

Um das Ganze zu verdeutlichen, vereinfachen wir abschließend die obige Berechnung, damit Sie sehen, wie kompliziert die symbolische Berechnung werden kann.

Vereinfachtes Beispiel

Diese Seite basiert auf einem Artikel aus dem alten Wiki von Radovan Omorjan.