Функция eval

eval('выражение') преобразует аналитическое выражение в числовую запись.

SMath использует символьный движок, и большинство функций можно получить как в аналитической, так и в числовой форме. Их можно вычислить либо символьным оператором «→», либо числовым «=». При использовании числового «=» результат представляется в виде числа с плавающей точкой, но сначала выражение вычисляется символьно. Иногда это может занимать много времени и значительно снижать скорость вычислений. Если нужны только числовые значения, можно использовать eval(), чтобы пропустить символьное вычисление и заметно увеличить скорость вычислений.

Пример:

Рассмотрим пример с использованием eval() (обратите внимание на время вычисления).

использование eval()

Если навести указатель на выражение, вы также увидите результат символьного вычисления во всплывающей подсказке. Сравните символьную (подсказка) и числовую («=») записи.

Теперь сравните время вычисления того же примера без eval(). При наведении на выражение также появится подсказка о том, что оно слишком велико для отображения.

без eval()

Наконец, чтобы это стало нагляднее, упростим приведённый выше расчёт — так видно, насколько сложным может быть символьное вычисление.

упрощённый пример

Эта страница основана на статье из старой вики, автор — Radovan Omorjan.