7.12 Вычисление выражений

В MathGL есть специальные классы mglExpr и mglExprC для вычисления формул заданных строкой для действительных и комплексных чисел соответственно. Классы определены в #include <mgl2/data.h> и #include <mgl2/datac.h> соответственно. При создании класса происходит разбор формулы в древовидную структуру. А при вычислении только выполняется достаточно быстрый обход по дереву. В данный момент нет различия между верхним и нижним регистром. Если аргумент какой-либо функции лежит вне её области определения, то возвращается NaN. See Текстовые формулы.

Конструктор класса mglExpr: mglExpr (const char *expr)
Конструктор класса mglExprC: mglExprC (const char *expr)
Функция С: HMEX mgl_create_expr (const char *expr)
Функция С: HAEX mgl_create_cexpr (const char *expr)

Разбирает формулу expr и создает древовидную структуру, содержащую последовательность вызова функций и операторов для последующего быстрого вычисления формулы с помощью функций Calc() и/или CalcD().

Destructor on mglExpr: ~mglExpr ()
Destructor on mglExprC: ~mglExprC ()
Функция С: void mgl_delete_expr (HMEX ex)
Функция С: void mgl_delete_cexpr (HAEX ex)

Удаляет объект типа mglExpr.

Метод класса mglExpr: mreal Eval (mreal x, mreal y, mreal z)
Метод класса mglExprC: dual Eval (dual x, dual y, dual z)
Функция С: mreal mgl_expr_eval (HMEX ex, mreal x, mreal y, mreal z)
Функция С: dual mgl_cexpr_eval (HAEX ex, dual x, dual y, dual z)

Вычисляет значение формулы для 'x','r'=x, 'y','n'=y, 'z','t'=z, 'a','u'=u.

Метод класса mglExpr: mreal Eval (mreal var[26])
Метод класса mglExprC: dual Eval (dual var[26])
Функция С: mreal mgl_expr_eval_v (HMEX ex, mreal *var)
Функция С: dual mgl_cexpr_eval_v (HMEX ex, dual *var)

Вычисляет значение формулы для переменных в массиве var[0,...,’z’-’a’].

Метод класса mglExpr: mreal Diff (char dir, mreal x, mreal y, mreal z)
Функция С: mreal mgl_expr_diff (HMEX ex, char dir, mreal x, mreal y, mreal z)

Вычисляет производную от формулы по переменной dir для 'x','r'=x, 'y','n'=y, 'z','t'=z, 'a','u'=u.

Метод класса mglExpr: mreal Diff (char dir, mreal var[26])
Функция С: mreal mgl_expr_diff_v (HMEX ex, char dir, mreal *var)

Вычисляет производную от формулы по переменной dir для переменных в массиве var[0,...,’z’-’a’].