Вывод и преобразования символьных выражений
Вывод символьного выражения
К сожалению, в отличие от современных систем символьной математики (Mathcad, Maple или Mathematica), MATLAB пока не способна выводить выражения и результаты их преобразований в естественной математической форме — с использованием общепринятых спецзнаков для отображения интегралов, сумм, произведений и т. д. Этот недостаток, однако, часто оборачивается достоинством — запись осуществляется в простом текстовом формате, облегчающем ввод выражений. Да и вывод символьных выражений в таком формате поддерживается практически всеми устройствами вывода.
Тем не менее некоторые ограниченные текстовым форматом возможности близкого к математическому виду вывода обеспечивает функция pretty:
- • pretty (S) — дает вывод выражения S в формате, приближенном к математическому;
- • pretty (S,n) — аналогична предшествующей функции, но задает вывод в п позициях строки (по умолчанию п — 79).
Примеры:
» x=sym ( ' х ');
» pretty(xA2)
2
х
>> pretty(int(хл2,х))
- 3
- 1/3 х
>> pretty (хл3,10)
3
х
>> syms х у z
>> pretty(int(sin(х),х))
-cos(x)
>> S= (1+хл2)/(ул2-гл2);
>> pretty(y)
У
» pretty (S)
- 2
- 1 + x
- 2 2
у - z
Нетрудно заметить, что в выведенных выражениях используются надстрочные показатели степени и (в необходимых случаях) знаки деления в виде горизонтальной черты. Однако для простых констант (например, 1/3) по-прежнему используется знак деления в виде наклонной черты. В целом такой вывод является лишь пародией на запись математических выражений в обычной математической форме.
Представления выражений в форме LaTeX
При подготовке материалов математической литературы давно используется специальный язык LaTeX, позволяющий задавать математические выражения с высокой точностью разметки. Функция latex (S) возвращает выражение s в форме языка LaTeX. Примеры применения этой функции:
>> syms х у z
>> latex((1+хЛ2)/(yA2-zЛ2))
ans =
{frac {1+{х}Л{2}}[1]{{z}~{4} } }
Следует отметить, что LaTeX — это, в сущности, язык программирования разметки математических выражений и текстов, а его применение с использованием функции latex (S) не требует от пользователя знакомства с этим языком.
НО
- [1] у)Л{2}-{г}Л{2} } }
» 3=хЛ2*уЛ3/zЛ4;
» latex (S)
ans =
{frac {{х}л{2}{у}л{3