Визуализируйте деревья выражений

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Можно создать математические выражения с помощью объектов MuPAD® и операторов. Например, следующее уравнение представляет выражение MuPAD:

x + y + 1 + 1/5 + sin(5) = z

Уровни приоритета определяют порядок, в котором MuPAD выполняет выражение. Операторы в выражениях MuPAD имеют приоритеты, похожие на приоритеты регулярных математических операторов. Например, когда вы вычисляете выражение a + b*c, вы вычисляете b*c, и затем добавьте a.

Чтобы изменить порядок оценки, используйте круглые скобки:

1 + 2*3, (1 + 2)*3

Полезная модель для визуализации выражения MuPAD является деревом выражений. Это отражает внутреннее представление выражения. Операторы или их соответствующие функции являются вершинами, и аргументы являются поддеревьями. Самый низкий оператор приоритета всегда в корне дерева выражений.

Например, можно представлять выражение a + b * c + d * e *sin(f)^g использование этого дерева выражений.

Следующее дерево выражений представляет выражение int(exp(x^4), x = 0..1).

MuPAD внутренне представляет различие a - b как a + b*(-1). Поэтому MuPAD представляет различие с помощью этого дерева выражений.

Точно так же частное a/b имеет внутреннее представление a * b^(-1).

Чтобы отобразить деревья выражений в блокноте MuPAD, используйте prog::exprtree функция. Это заменяет операторы на имена соответствующих системных функций:

prog::exprtree(a + b * c + d * e *sin(f)^g):
_plus
|
+-- a
|
+-- _mult
|   |
|   +-- b
|   |
|   `-- c
|
`-- _mult
    |
    +-- d
    |
    +-- e
    |
    `-- _power
        |
        +-- sin
        |   |
        |   `-- f
        |
        `-- g